Suggested name: GlassSnow What I want: I want a simple plugin, that allows snow to appear on glass when snowing. It should act a bit liek glass and let light through it. Ideas for commands: No commands needed for this plugin. Ideas for permissions: No permissions needed for this plugin. Would be nice
Jeb never come on here, if you wanna get something done Twitter him a picture of a cat each day till he adds it xD
If you wait to modding api come out then it possible or unless jeb take your idea and does something with it then Yes it Not possible!
I really don't know what people here are talking about... This is 100% possible with a bukkit server mod.
I'm pretty sure if you simply replace the air over the glass with snow it will do exactly like the OP requested.
Thats not hard to do at all, you just replace the BlockSnow with a class that return true for placing on glass in this method: https://github.com/Bukkit/mc-dev/bl...53e6f/net/minecraft/server/BlockSnow.java#L45 Main class Code:java package me.mncat77.glasssnow; import net.minecraft.server.v1_5_R2.Block;import org.bukkit.plugin.java.JavaPlugin; public class GlassSnow extends JavaPlugin { @Overridepublic void onDisable() {} @Overridepublic void onEnable() {Block.byId[Block.SNOW.id] = null;Block.byId[Block.SNOW.id] = ((BlockGlassSnow)(new BlockGlassSnow(78)).c(0.1F).a(Block.o).c("snow")).k(0);}} BlockGlassSnow class Code:java package me.mncat77.glasssnow; import java.util.Random;import net.minecraft.server.v1_5_R2.AxisAlignedBB;import net.minecraft.server.v1_5_R2.Block;import net.minecraft.server.v1_5_R2.CreativeModeTab;import net.minecraft.server.v1_5_R2.EntityHuman;import net.minecraft.server.v1_5_R2.EnumSkyBlock;import net.minecraft.server.v1_5_R2.IBlockAccess;import net.minecraft.server.v1_5_R2.Item;import net.minecraft.server.v1_5_R2.ItemStack;import net.minecraft.server.v1_5_R2.Material;import net.minecraft.server.v1_5_R2.StatisticList;import net.minecraft.server.v1_5_R2.StepSound;import net.minecraft.server.v1_5_R2.World; public class BlockGlassSnow extends Block { protected BlockGlassSnow(int i) {super(i, Material.SNOW_LAYER);this.a(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F);this.b(true);this.a(CreativeModeTab.c);this.d(0);} @Overridepublic AxisAlignedBB b(World world, int i, int j, int k) {int l = world.getData(i, j, k) & 7;float f = 0.125F; return AxisAlignedBB.a().a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) ((float) j + (float) l * f), (double) k + this.maxZ);} @Overridepublic boolean c() {return false;} @Overridepublic boolean b() {return false;} @Overridepublic void g() {this.d(0);} @Overridepublic void updateShape(IBlockAccess iblockaccess, int i, int j, int k) {this.d(iblockaccess.getData(i, j, k));} protected void d(int i) {int j = i & 7;float f = (float) (2 * (1 + j)) / 16.0F; this.a(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F);} @Overridepublic boolean canPlace(World world, int i, int j, int k) {int l = world.getTypeId(i, j - 1, k); return world.getMaterial(i, j - 1, k) == Material.BUILDABLE_GLASS ? true : l == 0 ? false : (l == this.id && (world.getData(i, j - 1, k) & 7) == 7 ? true : (l != Block.LEAVES.id && !Block.byId[l].c() ? false : world.getMaterial(i, j - 1, k).isSolid()));} @Overridepublic void doPhysics(World world, int i, int j, int k, int l) {this.m(world, i, j, k);} private boolean m(World world, int i, int j, int k) {if (!this.canPlace(world, i, j, k)) {this.c(world, i, j, k, world.getData(i, j, k), 0);world.setAir(i, j, k);return false;} else {return true;}} @Overridepublic void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {int i1 = Item.SNOW_BALL.id;int j1 = l & 7; this.b(world, i, j, k, new ItemStack(i1, j1 + 1, 0));world.setAir(i, j, k);entityhuman.a(StatisticList.C[this.id], 1);} @Overridepublic int getDropType(int i, Random random, int j) {return Item.SNOW_BALL.id;} @Overridepublic int a(Random random) {return 0;} @Overridepublic void a(World world, int i, int j, int k, Random random) {if (world.b(EnumSkyBlock.BLOCK, i, j, k) > 11) {this.c(world, i, j, k, world.getData(i, j, k), 0);world.setAir(i, j, k);}} @Overridepublic BlockGlassSnow c(float f) {this.strength = f;if (this.durability < f * 5.0F) {this.durability = f * 5.0F;} return this;} @Overridepublic BlockGlassSnow a(StepSound stepsound) {this.stepSound = stepsound;return this;} @Overridepublic BlockGlassSnow k(int i) {lightBlock[this.id] = i;return this;}} Can't test this anymore, should work though. EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Uhm... i'm not really into java so i cant tell what to do with this code Bump EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Because i don't know what to do with the code. I'm sure it's right but i would need it as a jar i think. I'm not a programmer