From 9c7ffb6d3c3ce37dc96e679cb2a30a5ed76f1257 Mon Sep 17 00:00:00 2001 From: feildmaster Date: Fri, 23 Mar 2012 09:49:34 -0500 Subject: [PATCH] [Bleeding] Fixed blocks dropping when BlockBreakEvent is canceled. Fixes BUKKIT-1299 --- src/main/java/net/minecraft/server/Block.java | 2 +- .../java/org/bukkit/craftbukkit/event/CraftEventFactory.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java index 805caf9000..7b3962a7a8 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -564,7 +564,7 @@ public class Block { } else { int i1 = EnchantmentManager.getBonusBlockLootEnchantmentLevel(entityhuman.inventory); - this.b(world, i, j, k, l, i1); + this.dropNaturally(world, i, j, k, l, 1.0F, i1); // CraftBukkit } return this.dropList; // CraftBukkit } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java index f4b2cb94ee..39f01117f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -539,6 +539,7 @@ public class CraftEventFactory { world.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { + blockType.setDrops(new ArrayList()); // Let the client know the block still exists ((EntityPlayer) player).netServerHandler.sendPacket(new Packet53BlockChange(x, y, z, world)); return true;