mirror of
https://github.com/PaperMC/Paper.git
synced 2025-02-27 14:34:57 +01:00
Fix missing item interaction cancelling case (#9427)
Properly cancels brushes now
This commit is contained in:
parent
6667ae5ce2
commit
16f29bd54a
1 changed files with 24 additions and 0 deletions
|
@ -9,6 +9,30 @@ For example, items being consumed but never finishing, shields being put up, etc
|
||||||
The underlying issue of this is that the client modifies their synced data values, and so we have to (forcibly) resend
|
The underlying issue of this is that the client modifies their synced data values, and so we have to (forcibly) resend
|
||||||
them in order for the client to reset their using item state.
|
them in order for the client to reset their using item state.
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||||
|
@@ -0,0 +0,0 @@ public class ServerPlayerGameMode {
|
||||||
|
}
|
||||||
|
// Paper end - extend Player Interact cancellation
|
||||||
|
player.getBukkitEntity().updateInventory(); // SPIGOT-2867
|
||||||
|
+ this.player.resyncUsingItem(this.player); // Paper - Resend player's using item status
|
||||||
|
enuminteractionresult = (event.useItemInHand() != Event.Result.ALLOW) ? InteractionResult.SUCCESS : InteractionResult.PASS;
|
||||||
|
} else if (this.gameModeForPlayer == GameType.SPECTATOR) {
|
||||||
|
MenuProvider itileinventory = iblockdata.getMenuProvider(world, blockposition);
|
||||||
|
@@ -0,0 +0,0 @@ public class ServerPlayerGameMode {
|
||||||
|
|
||||||
|
return enuminteractionresult1;
|
||||||
|
}
|
||||||
|
+ // Paper start - Cancel only if cancelled + if the interact result is different from default response
|
||||||
|
+ else if (this.interactResult && this.interactResult != cancelledItem) {
|
||||||
|
+ this.player.resyncUsingItem(this.player);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
return enuminteractionresult;
|
||||||
|
// CraftBukkit end
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
|
|
Loading…
Add table
Reference in a new issue