diff --git a/nms-patches/ItemBucket.patch b/nms-patches/ItemBucket.patch index 5f3c3d5bd..10d01e464 100644 --- a/nms-patches/ItemBucket.patch +++ b/nms-patches/ItemBucket.patch @@ -88,7 +88,7 @@ if (!(this.a instanceof FluidTypeFlowing)) { return false; } else { -@@ -103,8 +127,17 @@ +@@ -103,8 +127,18 @@ boolean flag1 = material.isReplaceable(); if (!world.isEmpty(blockposition) && !flag && !flag1 && (!(iblockdata.getBlock() instanceof IFluidContainer) || !((IFluidContainer) iblockdata.getBlock()).a((IBlockAccess) world, blockposition, iblockdata, this.a))) { @@ -99,6 +99,7 @@ + if (entityhuman != null) { + PlayerBucketEmptyEvent event = CraftEventFactory.callPlayerBucketEmptyEvent(entityhuman, clicked.getX(), clicked.getY(), clicked.getZ(), enumdirection, itemstack); + if (event.isCancelled()) { ++ ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition)); // SPIGOT-4238: needed when looking through entity + // TODO: inventory not updated + return false; + }