57dd397155
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: b999860d SPIGOT-2304: Add LootGenerateEvent CraftBukkit Changes: 77fd87e4 SPIGOT-2304: Implement LootGenerateEvent a1a705ee SPIGOT-5566: Doused campfires & fires should call EntityChangeBlockEvent 41712edd SPIGOT-5707: PersistentDataHolder not Persistent on API dropped Item
32 lines
1.4 KiB
Diff
32 lines
1.4 KiB
Diff
From 142bf8f4d121f29fe51d0a41095bf9da93605960 Mon Sep 17 00:00:00 2001
|
|
From: Minecrell <minecrell@minecrell.net>
|
|
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/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
index 8eb12e89ea..8648845acb 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -1950,6 +1950,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
}
|
|
|
|
if (event.isCancelled()) {
|
|
+ this.player.updateInventory(this.player.activeContainer); // Paper - Refresh player inventory
|
|
return;
|
|
}
|
|
// CraftBukkit end
|
|
--
|
|
2.26.2
|
|
|