Incendo / cloud-minecraft

Integrations between Minecraft and Cloud Command Framework
https://cloud.incendo.org/minecraft/
MIT License
25 stars 8 forks source link

bukkit/paper: EnchantmentParser broken in 1.21.1 #95

Closed TehBrian closed 3 weeks ago

TehBrian commented 4 weeks ago

BukkitBrigadierMapping#registerEnchantment fails because RegistryReflection.registryByName("enchantment") is null in #mapResourceKey's ArgumentTypeFactory lambda. I don't know where enchantments are registered to now; whatever registry RegistryReflection.REGISTRY_REGISTRY.get(null) gets doesn't seem to have it.

I'm using registryEntryParser(RegistryKey.ENCHANTMENT, TypeToken.get(Enchantment.class) as drop-in replacement of enchantmentParser(). I may be missing something, but I don't see the need for EnchantmentParser in 1.21? However, since it's public API, it should either be fixed, a warning/error log should be added ("EnchantmentParser has been replaced with RegistryEntryParser in 1.21+."), or it should be removed before 2.0.0.