diff --git a/patches/api/Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/api/Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch new file mode 100644 index 0000000000..733e8f6369 --- /dev/null +++ b/patches/api/Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch @@ -0,0 +1,20 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Sat, 25 May 2024 09:51:07 -0700 +Subject: [PATCH] Deprecate InvAction#HOTBAR_MOVE_AND_READD + + +diff --git a/src/main/java/org/bukkit/event/inventory/InventoryAction.java b/src/main/java/org/bukkit/event/inventory/InventoryAction.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/event/inventory/InventoryAction.java ++++ b/src/main/java/org/bukkit/event/inventory/InventoryAction.java +@@ -0,0 +0,0 @@ public enum InventoryAction { + * is re-added to the player's inventory. + * + * The hotbar includes the player's off hand. ++ * @deprecated This action no longer happens, they are all {@link #HOTBAR_SWAP}s. + */ ++ @Deprecated(since = "1.20.6") // Paper + HOTBAR_MOVE_AND_READD, + /** + * The clicked slot and the picked hotbar slot are swapped. diff --git a/patches/server/Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/server/Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch new file mode 100644 index 0000000000..2e0b881ee5 --- /dev/null +++ b/patches/server/Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch @@ -0,0 +1,26 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Sat, 25 May 2024 09:51:13 -0700 +Subject: [PATCH] Deprecate InvAction#HOTBAR_MOVE_AND_READD + + +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 +--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +@@ -0,0 +0,0 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + Slot clickedSlot = this.player.containerMenu.getSlot(packet.getSlotNum()); + if (clickedSlot.mayPickup(this.player)) { + ItemStack hotbar = this.player.getInventory().getItem(packet.getButtonNum()); +- boolean canCleanSwap = hotbar.isEmpty() || (clickedSlot.container == this.player.getInventory() && clickedSlot.mayPlace(hotbar)); // the slot will accept the hotbar item +- if (clickedSlot.hasItem()) { +- if (canCleanSwap) { +- action = InventoryAction.HOTBAR_SWAP; +- } else { +- action = InventoryAction.HOTBAR_MOVE_AND_READD; +- } +- } else if (!clickedSlot.hasItem() && !hotbar.isEmpty() && clickedSlot.mayPlace(hotbar)) { ++ if ((!hotbar.isEmpty() && clickedSlot.mayPlace(hotbar)) || (hotbar.isEmpty() && clickedSlot.hasItem())) { // Paper - modernify this logic (no such thing as a "hotbar move and readd" + action = InventoryAction.HOTBAR_SWAP; + } else { + action = InventoryAction.NOTHING;