Mod Loading fails, incompatible with GT CEu Modern
nevemlaci opened this issue ยท 3 comments
Minecraft version
1.21.1
LibX version
6.0.5
Neoforge version
21.1.150
The latest.log file
Issue description
In the comments from GTCEu Modern dev.
Other information
No response
The only mods loaded are SkyBlock Builder, all its dependencies (so LibX) and GregTech CEu Modern with all its dependencies (ldlib)
so, to summarise the actual conversation: we (GTCEu) tried to look into why this happens. After much confusion on "why does this exist and what does it do?", I came to the conclusion that de.melanx.skyblockbuilder.registration.ModItems is being loaded too early by the aforementioned generated class.
I know this happens because GT creates & initalizes some custom registries before vanilla ones are unfrozen (for a good reason, addon content needs to exist in a specific order and this was the cleanest way to do it).
The generated class loads the registration classes when it's called, and because the Item isn't wrapped in any kind of classload-safe supplier structure (like neo/forge does), it's initialized as soon as the class is.
When Items are initialized, they register a "pending" holder to the registry. And in this case fail, because the registry's still frozen.
This seems to be fixed with GregTechCEu/GregTech-Modern#3136