From 067bd8faffcb1864aaf348c41ff56e827e4b8449 Mon Sep 17 00:00:00 2001 From: BruceChen Date: Fri, 20 Mar 2026 23:55:27 +0800 Subject: [PATCH] fix: resolve PickItem duplicate key in PacketPalette1214 The PickItem packet was split into PickItemFromBlock (0x22) and PickItemFromEntity (0x23) in 1.21.4. Mapping both to the same PacketTypesOut.PickItem enum caused a duplicate key error in the reverse mapping. Added PickItemFromEntity enum to resolve this. Made-with: Cursor --- .../Protocol/Handlers/PacketPalettes/PacketPalette1214.cs | 2 +- MinecraftClient/Protocol/Handlers/PacketTypesOut.cs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/MinecraftClient/Protocol/Handlers/PacketPalettes/PacketPalette1214.cs b/MinecraftClient/Protocol/Handlers/PacketPalettes/PacketPalette1214.cs index 810b3479..8ab00e22 100644 --- a/MinecraftClient/Protocol/Handlers/PacketPalettes/PacketPalette1214.cs +++ b/MinecraftClient/Protocol/Handlers/PacketPalettes/PacketPalette1214.cs @@ -176,7 +176,7 @@ public class PacketPalette1214 : PacketTypePalette { 0x20, PacketTypesOut.VehicleMove }, // Move Vehicle { 0x21, PacketTypesOut.SteerBoat }, // Paddle Boat { 0x22, PacketTypesOut.PickItem }, // Pick Item From Block (split in 1.21.4) - { 0x23, PacketTypesOut.PickItem }, // Pick Item From Entity (split in 1.21.4) + { 0x23, PacketTypesOut.PickItemFromEntity }, // Pick Item From Entity (new in 1.21.4) { 0x24, PacketTypesOut.PingRequest }, // Ping Request { 0x25, PacketTypesOut.CraftRecipeRequest }, // Place Recipe { 0x26, PacketTypesOut.PlayerAbilities }, // Player Abilities diff --git a/MinecraftClient/Protocol/Handlers/PacketTypesOut.cs b/MinecraftClient/Protocol/Handlers/PacketTypesOut.cs index bba5910f..a93ea13b 100644 --- a/MinecraftClient/Protocol/Handlers/PacketTypesOut.cs +++ b/MinecraftClient/Protocol/Handlers/PacketTypesOut.cs @@ -37,6 +37,7 @@ namespace MinecraftClient.Protocol.Handlers MessageAcknowledgment, // Added in 1.19.1 (1.19.2) NameItem, // PickItem, // + PickItemFromEntity, // Added in 1.21.4 (split from PickItem) PingRequest, // Added in 1.20.2 PlayerAbilities, // PlayerBlockPlacement, //