diff --git a/nms-patches/PlayerInteractManager.patch b/nms-patches/PlayerInteractManager.patch index e72026f88c..6db3d666f4 100644 --- a/nms-patches/PlayerInteractManager.patch +++ b/nms-patches/PlayerInteractManager.patch @@ -226,7 +226,7 @@ if (this.gamemode == WorldSettings.EnumGamemode.SPECTATOR) { TileEntity tileentity = world.getTileEntity(blockposition); -@@ -329,6 +464,74 @@ +@@ -329,6 +464,72 @@ return itemstack.placeItem(entityhuman, world, blockposition, enumhand, enumdirection, f, f1, f2); } } @@ -239,8 +239,6 @@ + if (this.gamemode == WorldSettings.EnumGamemode.SPECTATOR) { + TileEntity tileentity = world.getTileEntity(blockposition); + cancelledBlock = !(tileentity instanceof ITileInventory || tileentity instanceof IInventory); -+ } else { -+ cancelledBlock = !(!entityhuman.isSneaking() || entityhuman.getItemInMainHand() == null && entityhuman.getItemInOffHand() == null); // From above + } + + if (!entityhuman.getBukkitEntity().isOp() && itemstack != null && Block.asBlock(itemstack.getItem()) instanceof BlockCommand) { @@ -279,7 +277,7 @@ + } + + return EnumInteractionResult.PASS; -+ } else if (!entityhuman.isSneaking() || itemstack == null) { ++ } else if (!entityhuman.isSneaking() || entityhuman.getItemInMainHand() == null && entityhuman.getItemInOffHand() == null) { + result = blockdata.getBlock().interact(world, blockposition, blockdata, entityhuman, enumhand, itemstack, enumdirection, f, f1, f2) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS; + } +