From bff4d0f696a44f345b0d898906309c17641e7161 Mon Sep 17 00:00:00 2001 From: EvilSeph Date: Tue, 10 Jan 2012 01:08:49 -0500 Subject: [PATCH] Improved our handling of player interactions. --- .../java/net/minecraft/server/NetServerHandler.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java index 16ec9ee63a..70f662ff92 100644 --- a/src/main/java/net/minecraft/server/NetServerHandler.java +++ b/src/main/java/net/minecraft/server/NetServerHandler.java @@ -495,7 +495,11 @@ public class NetServerHandler extends NetHandler implements ICommandListener { if (i1 < this.server.getSpawnRadius() && !flag) { this.player.netServerHandler.sendPacket(new Packet53BlockChange(i, j, k, worldserver)); } else { - this.player.itemInWorldManager.dig(i, j, k, packet14blockdig.face); + // CraftBukkit start + if (this.getPlayer().getTargetBlock(null, 6).getLocation().equals(new Location(worldserver.getWorld(), i, j, k))) { + this.player.itemInWorldManager.dig(i, j, k, packet14blockdig.face); + } + // CraftBukkit end } } else if (packet14blockdig.e == 2) { this.player.itemInWorldManager.a(i, j, k); @@ -587,11 +591,11 @@ public class NetServerHandler extends NetHandler implements ICommandListener { return; } flag = true; // spawn protection moved to ItemBlock!!! - // CraftBukkit end - if (j1 > 16 || flag) { + if (j1 > 16 || flag && this.getPlayer().getTargetBlock(null, 6).getLocation().equals(new Location(worldserver.getWorld(), i, j, k))) { this.player.itemInWorldManager.interact(this.player, worldserver, itemstack, i, j, k, l); } + // CraftBukkit end this.player.netServerHandler.sendPacket(new Packet53BlockChange(i, j, k, worldserver)); if (l == 0) {