diff options
Diffstat (limited to 'src/main/java/net/minecraft/server/Block.java')
-rw-r--r-- | src/main/java/net/minecraft/server/Block.java | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java index 3244351d..ce0640b5 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -164,7 +164,6 @@ public class Block { public final Material material; public float frictionFactor; private String name; - public final ArrayList<ItemStack> dropList = new ArrayList<ItemStack>(1); // CraftBukkit protected Block(int i, Material material) { this.bR = true; @@ -338,9 +337,7 @@ public class Block { } public final void b(World world, int i, int j, int k, int l, int i1) { - this.dropList.clear(); // CraftBukkit this.dropNaturally(world, i, j, k, l, 1.0F, i1); - this.doActualDrop(world, i, j, k); // CraftBukkit } public void dropNaturally(World world, int i, int j, int k, int l, float f, int i1) { @@ -361,13 +358,6 @@ public class Block { } protected void a(World world, int i, int j, int k, ItemStack itemstack) { - // CraftBukkit start - the logic of this function is moved into finishDrop - // This is such a hackish change it's ridiculous. - this.dropList.add(itemstack); - } - - public final void finishDrop(World world, int i, int j, int k, ItemStack itemstack) { - // CraftBukkit end if (!world.isStatic) { float f = 0.7F; double d0 = (double) (world.random.nextFloat() * f) + (double) (1.0F - f) * 0.5D; @@ -539,20 +529,7 @@ public class Block { public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) { entityhuman.a(StatisticList.C[this.id], 1); entityhuman.c(0.025F); - // CraftBukkit start - A way to separate statistics from the logic of determining what to drop - this.doActualDrop(world, i, j, k); - } - public void doActualDrop(World world, int i, int j, int k) { - for (ItemStack stack : this.dropList) { - finishDrop(world, i, j, k, stack); - } - this.dropList.clear(); - } - - // Blocks that have different drops in certain situations need to override this. IE: Sheers on BlockLeaves - public ArrayList<ItemStack> calculateDrops(World world, EntityHuman entityhuman, int i, int j, int k, int l) { - // CraftBukkit end if (this.h() && EnchantmentManager.hasSilkTouchEnchantment(entityhuman.inventory)) { ItemStack itemstack = this.a_(l); @@ -562,10 +539,8 @@ public class Block { } else { int i1 = EnchantmentManager.getBonusBlockLootEnchantmentLevel(entityhuman.inventory); - this.dropNaturally(world, i, j, k, l, 1.0F, i1); // CraftBukkit + this.b(world, i, j, k, l, i1); } - - return this.dropList; } protected boolean h() { |