diff options
Diffstat (limited to 'patches/server/0219-Refresh-player-inventory-when-cancelling-PlayerInter.patch')
-rw-r--r-- | patches/server/0219-Refresh-player-inventory-when-cancelling-PlayerInter.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/patches/server/0219-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0219-Refresh-player-inventory-when-cancelling-PlayerInter.patch new file mode 100644 index 0000000000..4879efd0d6 --- /dev/null +++ b/patches/server/0219-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -0,0 +1,29 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Minecrell <[email protected]> +Date: Fri, 13 Jul 2018 14:54:43 +0200 +Subject: [PATCH] Refresh player inventory when cancelling + PlayerInteractEntityEvent + +When interacting with entities with an item, the client will assume +the interaction is successful, and update the held item on the +client. However, if the interaction is cancelled on the server side, +the client will still mistakenly remove/replace the item in hand. + +Examples for this are milking cows with a bucket or dyeing sheep. +The bucket is replaced with milk and the dye removed from inventory. + +Refresh the player inventory when PlayerInteractEntityEvent is +cancelled to avoid this problem. + +diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +index ea2f283634c8794bda3e531a20f39f8a17e3e41c..a517eb45cd06c130cbfe6ff6565825c492079287 100644 +--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +@@ -2667,6 +2667,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + } + + if (event.isCancelled()) { ++ ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); // Paper - Refresh player inventory + return; + } + // CraftBukkit end |