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) {