Minecraft-Console-Client/MinecraftClient/Protocol
BruceChen 79a0dff8cd Fix enchantment name display for 1.20.6 structured components
EnchantmentsComponent (used by both regular and stored enchantments)
was directly casting the registry VarInt ID to the Enchantments enum
via (Enchantments)id. However, the Enchantments enum is ordered
alphabetically (AquaAffinity=0, BaneOfArthropods=1, ..., Sharpness=32)
while the 1.20.6 registry uses a completely different order
(protection=0, fire_protection=1, ..., sharpness=13). This caused all
enchantment names to display incorrectly (e.g. Sharpness V shown as
"Unknown Enchantment with ID: 32").

Changes:
- Parse now uses EnchantmentMapping.GetEnchantmentByRegistryId1206()
  to properly map registry IDs to enum values via the existing
  1.20.6+ mapping table
- Serialize now uses EnchantmentMapping.GetRegistryId1206ByEnchantment()
  to convert enum values back to registry IDs (reverse lookup)
- Fixed translation key prefix: "Enchantments.minecraft." (wrong) ->
  "enchantment.minecraft." (matches en_us.json resource keys)
- Fixed 3 long-standing typos in the Enchantments enum that prevented
  translation lookup from matching resource keys:
  - DepthStrieder -> DepthStrider (depth_strieder vs depth_strider)
  - Efficency -> Efficiency (efficency vs efficiency)
  - Loyality -> Loyalty (loyality vs loyalty)

Verified on vanilla 1.20.6 server: items with sharpness, efficiency,
unbreaking, fortune, mending, and bane_of_arthropods all display
correct localized names (锋利, 效率, 耐久, 时运, 经验修补, 节肢杀手).

Made-with: Cursor
2026-03-19 02:01:15 +08:00
..
Handlers Fix enchantment name display for 1.20.6 structured components 2026-03-19 02:01:15 +08:00
Message Add FileInputBot for non-interactive debugging and fix NbtToString crash 2026-03-19 00:45:51 +08:00
ProfileKey Ported to .NET 8 2024-12-22 13:20:04 +01:00
Session Fix session cache serializer failure 2024-12-25 01:28:28 +08:00
DataTypeGenerator.cs Fix xxx.Parse 2022-10-04 11:53:07 +08:00
EntityActionType.cs [SKIP_BUILD] Change file encoding to UTF-8 with BOM 2022-11-28 13:55:05 +08:00
GuidExtensions.cs Fix all warnings & Trim (#2226) 2022-10-02 18:31:08 +08:00
IMinecraftCom.cs 1.20.6 - Not working yet 2024-06-16 01:19:09 +02:00
IMinecraftComHandler.cs First working version, not fully tested 2024-06-30 11:26:41 +02:00
JwtPayloadDecode.cs Fix all warnings & Trim (#2226) 2022-10-02 18:31:08 +08:00
MicrosoftAuthentication.cs fixed typo in word heAlper lol 2024-04-16 21:21:08 +03:00
MojangAPI.cs Implement command completion suggestions. 2022-12-06 15:50:17 +08:00
PlayerInfo.cs Trim 2023-01-14 21:07:09 +08:00
ProtocolHandler.cs Preliminary 1.21 Support 2024-12-06 16:45:48 +01:00
ProxiedWebRequest.cs Tooltip support & Bug fix 2022-12-11 13:00:19 +08:00
ReplayHandler.cs Handle non-interactive terminal environments gracefully 2026-03-19 00:11:13 +08:00