From 5bcb23502e4d3a9703451e172da0f82bbd078dc4 Mon Sep 17 00:00:00 2001 From: EvilSeph Date: Thu, 26 Jan 2012 17:01:36 -0500 Subject: [PATCH] Trick the client instead of modifying the world. Fixes BUKKIT-637 --- .../java/net/minecraft/server/ItemInWorldManager.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/minecraft/server/ItemInWorldManager.java b/src/main/java/net/minecraft/server/ItemInWorldManager.java index 322d58fd9f..0e64d03985 100644 --- a/src/main/java/net/minecraft/server/ItemInWorldManager.java +++ b/src/main/java/net/minecraft/server/ItemInWorldManager.java @@ -205,12 +205,11 @@ public class ItemInWorldManager { // Tell client the block is gone immediately then process events if (world.getTileEntity(i, j, k) == null) { - int id = block.getTypeId(); - byte data = block.getData(); + Packet53BlockChange packet = new Packet53BlockChange(i, j, k, this.world); - block.setTypeId(0, false); - ((EntityPlayer) this.player).netServerHandler.sendPacket(new Packet53BlockChange(i, j, k, this.world)); - block.setTypeIdAndData(id, data, false); + packet.material = block.getTypeId(); + packet.data = block.getData(); + ((EntityPlayer) this.player).netServerHandler.sendPacket(packet); } BlockBreakEvent event = new BlockBreakEvent(block, (org.bukkit.entity.Player) this.player.getBukkitEntity());