feat: add version routing, structured components, and metadata for MC 1.21.11

- Add MC_1_21_11_Version constant (protocol 774)
- Create StructuredComponentsRegistry12111 with 104 components (8 new:
  use_effects, minimum_attack_charge, damage_type, attack_range,
  piercing_weapon, kinetic_weapon, swing_animation, zombie_nautilus/variant)
- Add 6 new component classes for 1.21.11 wire formats
- Add RegistryEitherHolderComponent for holderRegistry-backed EitherHolder
- Add ZombieNautilusVariant and HumanoidArm cases in DataTypes.ReadNextMetadata
- Update all version routing in Protocol18, PacketType18Handler,
  EntityMetadataPalette, StructuredComponentsHandler, and ProtocolHandler
- Bump MCHighestVersion to 1.21.11

Made-with: Cursor
This commit is contained in:
BruceChen 2026-03-22 00:56:04 +08:00
parent 50b4b3c8fe
commit 6c36dc341a
14 changed files with 361 additions and 12 deletions

View file

@ -154,7 +154,7 @@ namespace MinecraftClient.Protocol
{
4, 5, 47, 107, 108, 109, 110, 210, 315, 316, 335, 338, 340, 393, 401, 404, 477, 480, 485, 490, 498, 573,
575, 578, 735, 736, 751, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768,
769, 770, 771, 772, 773
769, 770, 771, 772, 773, 774
};
if (Array.IndexOf(suppoertedVersionsProtocol18, protocolVersion) > -1)
@ -368,6 +368,8 @@ namespace MinecraftClient.Protocol
case "1.21.9":
case "1.21.10":
return 773;
case "1.21.11":
return 774;
default:
return 0;
}
@ -455,6 +457,7 @@ namespace MinecraftClient.Protocol
771 => "1.21.6",
772 => "1.21.7",
773 => "1.21.9",
774 => "1.21.11",
_ => "0.0"
};
}