From 5543744f84812a909cca155cb4d1c2f2263a3669 Mon Sep 17 00:00:00 2001 From: Roberto Villegas Date: Sat, 14 Feb 2026 18:49:33 -0600 Subject: [PATCH] Add Minecraft 1.21.5 (protocol 770) packet ID mappings Update packet ID mappings for 1.21.5 (protocol 770): Clientbound packets shifted -1 due to ADD_EXPERIENCE_ORB removal: - OpenWindow: 0x35 -> 0x34 - CloseWindow (CB): 0x12 -> 0x11 - WindowItems: 0x13 -> 0x12 - WindowProperty: 0x14 -> 0x13 - SetSlot: 0x15 -> 0x14 - SoundEffect: 0x6F -> 0x6E - HeldItemChange (CB): 0x63 -> 0x62 Serverbound packets shifted +2 due to new PLAYER_LOADED and BUNDLE_ITEM_SELECTED packets: - BlockPlacement: 0x3C -> 0x3E - UseItem: 0x3D -> 0x3F Also adds missing HeldItemChange clientbound mapping for 1.21.2-1.21.4 (0x63) which was previously absent. All packet IDs verified against ViaVersion's authoritative enum definitions (ClientboundPackets1_21_5 / ServerboundPackets1_21_5). Co-Authored-By: Claude Opus 4.6 --- .../dev/simplix/protocolize/data/packets/BlockPlacement.java | 3 ++- .../dev/simplix/protocolize/data/packets/CloseWindow.java | 3 ++- .../dev/simplix/protocolize/data/packets/HeldItemChange.java | 4 +++- .../java/dev/simplix/protocolize/data/packets/OpenWindow.java | 3 ++- .../java/dev/simplix/protocolize/data/packets/SetSlot.java | 3 ++- .../dev/simplix/protocolize/data/packets/SoundEffect.java | 3 ++- .../java/dev/simplix/protocolize/data/packets/UseItem.java | 3 ++- .../dev/simplix/protocolize/data/packets/WindowItems.java | 3 ++- .../dev/simplix/protocolize/data/packets/WindowProperty.java | 3 ++- 9 files changed, 19 insertions(+), 9 deletions(-) diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/BlockPlacement.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/BlockPlacement.java index b085115..a3a0f91 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/BlockPlacement.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/BlockPlacement.java @@ -56,7 +56,8 @@ public class BlockPlacement extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_3, MINECRAFT_1_20_4, 0x35), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_5, MINECRAFT_1_21_1, 0x38), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_2, MINECRAFT_1_21_3, 0x3A), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_4, MINECRAFT_LATEST, 0x3C) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_4, MINECRAFT_1_21_4, 0x3C), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x3E) ); private BlockPosition position; diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/CloseWindow.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/CloseWindow.java index bc38eec..e4c1758 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/CloseWindow.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/CloseWindow.java @@ -40,7 +40,8 @@ public class CloseWindow extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19, MINECRAFT_1_19_2, 0x10), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_3, MINECRAFT_1_19_3, 0x0F), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_4, MINECRAFT_1_20_1, 0x11), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_LATEST, 0x12) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_1_21_4, 0x12), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x11) ); public static final List SERVERBOUND_MAPPINGS = Arrays.asList( diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/HeldItemChange.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/HeldItemChange.java index 15464d1..4392dd9 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/HeldItemChange.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/HeldItemChange.java @@ -45,7 +45,9 @@ public class HeldItemChange extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_4, MINECRAFT_1_20_1, 0x4D), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_1_20_2, 0x4F), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_3, MINECRAFT_1_20_4, 0x51), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_5, MINECRAFT_1_21, 0x53) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_5, MINECRAFT_1_21, 0x53), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_2, MINECRAFT_1_21_4, 0x63), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x62) ); public static final List SERVERBOUND_MAPPINGS = Arrays.asList( diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/OpenWindow.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/OpenWindow.java index b318319..61fdbe4 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/OpenWindow.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/OpenWindow.java @@ -56,7 +56,8 @@ public class OpenWindow extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_4, MINECRAFT_1_20_1, 0x30), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_1_20_4, 0x31), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_5, MINECRAFT_1_21, 0x33), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_2, MINECRAFT_LATEST, 0x35) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_2, MINECRAFT_1_21_4, 0x35), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x34) ); public OpenWindow(int windowId, InventoryType inventoryType, ChatElement title) { diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/SetSlot.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/SetSlot.java index 53a209a..ea5cbf2 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/SetSlot.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/SetSlot.java @@ -50,7 +50,8 @@ public class SetSlot extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19, MINECRAFT_1_19_2, 0x13), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_3, MINECRAFT_1_19_3, 0x12), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_4, MINECRAFT_1_20_1, 0x14), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_LATEST, 0x15) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_1_21_4, 0x15), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x14) ); @Getter(AccessLevel.NONE) diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/SoundEffect.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/SoundEffect.java index 8511440..5c92c47 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/SoundEffect.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/SoundEffect.java @@ -56,7 +56,8 @@ public class SoundEffect extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_1_20_2, 0x64), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_3, MINECRAFT_1_20_4, 0x66), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_5, MINECRAFT_1_21, 0x68), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_2, MINECRAFT_LATEST, 0x6F) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_2, MINECRAFT_1_21_4, 0x6F), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x6E) ); @Setter(AccessLevel.NONE) diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/UseItem.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/UseItem.java index 86ecc78..403f752 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/UseItem.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/UseItem.java @@ -42,7 +42,8 @@ public class UseItem extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_3, MINECRAFT_1_20_4, 0x36), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_5, MINECRAFT_1_21_1, 0x39), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_2, MINECRAFT_1_21_3, 0x3B), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_4, MINECRAFT_LATEST, 0x3D) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_4, MINECRAFT_1_21_4, 0x3D), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x3F) ); private Hand hand; diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/WindowItems.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/WindowItems.java index 2c39aa4..02f12f1 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/WindowItems.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/WindowItems.java @@ -51,7 +51,8 @@ public class WindowItems extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19, MINECRAFT_1_19_2, 0x11), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_3, MINECRAFT_1_19_3, 0x10), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_4, MINECRAFT_1_20_1, 0x12), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_LATEST, 0x13) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_1_21_4, 0x13), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x12) ); @Getter(AccessLevel.NONE) diff --git a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/WindowProperty.java b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/WindowProperty.java index e0f86fb..f26cc2f 100644 --- a/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/WindowProperty.java +++ b/protocolize-data-bundle/src/main/java/dev/simplix/protocolize/data/packets/WindowProperty.java @@ -42,7 +42,8 @@ public class WindowProperty extends AbstractPacket { AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19, MINECRAFT_1_19_2, 0x12), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_3, MINECRAFT_1_19_3, 0x11), AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_19_4, MINECRAFT_1_20_1, 0x13), - AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_LATEST, 0x14) + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_20_2, MINECRAFT_1_21_4, 0x14), + AbstractProtocolMapping.rangedIdMapping(MINECRAFT_1_21_5, MINECRAFT_LATEST, 0x13) ); private int windowId;