diff options
author | Erik Broes <erikbroes@grum.nl> | 2011-11-20 00:01:14 -0800 |
---|---|---|
committer | Erik Broes <erikbroes@ripe.net> | 2011-11-20 00:01:33 -0800 |
commit | 345ea36c7bb3383c6e4825355d0043a646194eaa (patch) | |
tree | df116b57d92315c0a13c2fdc87d792b031c7239a /src/main/java/net/minecraft/server/BlockDispenser.java | |
parent | 589f66bd1b766dc1fdd737ee885304196a2ed86a (diff) | |
download | craftbukkit-345ea36c7bb3383c6e4825355d0043a646194eaa.tar craftbukkit-345ea36c7bb3383c6e4825355d0043a646194eaa.tar.gz craftbukkit-345ea36c7bb3383c6e4825355d0043a646194eaa.tar.lz craftbukkit-345ea36c7bb3383c6e4825355d0043a646194eaa.tar.xz craftbukkit-345ea36c7bb3383c6e4825355d0043a646194eaa.zip |
Update for 1.0.0
Diffstat (limited to 'src/main/java/net/minecraft/server/BlockDispenser.java')
-rw-r--r-- | src/main/java/net/minecraft/server/BlockDispenser.java | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/main/java/net/minecraft/server/BlockDispenser.java b/src/main/java/net/minecraft/server/BlockDispenser.java index cb2bd448..b954f9aa 100644 --- a/src/main/java/net/minecraft/server/BlockDispenser.java +++ b/src/main/java/net/minecraft/server/BlockDispenser.java @@ -17,11 +17,11 @@ public class BlockDispenser extends BlockContainer { this.textureId = 45; } - public int c() { + public int d() { return 4; } - public int a(int i, Random random) { + public int a(int i, Random random, int j) { return Block.DISPENSER.id; } @@ -111,7 +111,7 @@ public class BlockDispenser extends BlockContainer { double d2 = (double) k + (double) b1 * 0.6D + 0.5D; if (itemstack == null) { - world.e(1001, i, j, k, 0); + world.f(1001, i, j, k, 0); } else { // CraftBukkit start double d3 = random.nextDouble() * 0.1D + 0.2D; @@ -148,19 +148,25 @@ public class BlockDispenser extends BlockContainer { entityarrow.a((double) b0, 0.10000000149011612D, (double) b1, 1.1F, 6.0F); entityarrow.fromPlayer = true; world.addEntity(entityarrow); - world.e(1002, i, j, k, 0); + world.f(1002, i, j, k, 0); } else if (itemstack.id == Item.EGG.id) { EntityEgg entityegg = new EntityEgg(world, d0, d1, d2); entityegg.a((double) b0, 0.10000000149011612D, (double) b1, 1.1F, 6.0F); world.addEntity(entityegg); - world.e(1002, i, j, k, 0); + world.f(1002, i, j, k, 0); } else if (itemstack.id == Item.SNOW_BALL.id) { EntitySnowball entitysnowball = new EntitySnowball(world, d0, d1, d2); entitysnowball.a((double) b0, 0.10000000149011612D, (double) b1, 1.1F, 6.0F); world.addEntity(entitysnowball); - world.e(1002, i, j, k, 0); + world.f(1002, i, j, k, 0); + } else if (itemstack.id == Item.POTION.id && ItemPotion.c(itemstack.getData())) { + EntityPotion entitypotion = new EntityPotion(world, d0, d1, d2, itemstack.getData()); + + entitypotion.a((double) b0, 0.10000000149011612D, (double) b1, 1.375F, 3.0F); + world.addEntity(entitypotion); + world.f(1002, i, j, k, 0); } else { EntityItem entityitem = new EntityItem(world, d0, d1 - 0.3D, d2, itemstack); // CraftBukkit start @@ -170,10 +176,10 @@ public class BlockDispenser extends BlockContainer { entityitem.motZ = motZ; // CraftBukkit end world.addEntity(entityitem); - world.e(1000, i, j, k, 0); + world.f(1000, i, j, k, 0); } - world.e(2000, i, j, k, b0 + 1 + (b1 + 1) * 3); + world.f(2000, i, j, k, b0 + 1 + (b1 + 1) * 3); } } } @@ -183,13 +189,13 @@ public class BlockDispenser extends BlockContainer { boolean flag = world.isBlockIndirectlyPowered(i, j, k) || world.isBlockIndirectlyPowered(i, j + 1, k); if (flag) { - world.c(i, j, k, this.id, this.c()); + world.c(i, j, k, this.id, this.d()); } } } public void a(World world, int i, int j, int k, Random random) { - if (world.isBlockIndirectlyPowered(i, j, k) || world.isBlockIndirectlyPowered(i, j + 1, k)) { + if (!world.isStatic && (world.isBlockIndirectlyPowered(i, j, k) || world.isBlockIndirectlyPowered(i, j + 1, k))) { this.dispense(world, i, j, k, random); } } |