The fix for this issue was to call MappedRegistry#bindAllTagsToEmpty before refreezing registries. Vanilla calls this when they freeze registries, allowing them to use named HolderSets in registry objects before they're available in-game (such as in ToolMaterials and ArmorMaterials). If this is not called, then tags are left unbound and freeze throws an exception. Vanilla's tags remained bound when NeoForge unfroze registries, however any new tags used were not bound on refreeze.
Closes #1631
The fix for this issue was to call
MappedRegistry#bindAllTagsToEmpty
before refreezing registries. Vanilla calls this when they freeze registries, allowing them to use namedHolderSet
s in registry objects before they're available in-game (such as inToolMaterial
s andArmorMaterial
s). If this is not called, then tags are left unbound andfreeze
throws an exception. Vanilla's tags remained bound when NeoForge unfroze registries, however any new tags used were not bound on refreeze.