Create mod compatibility
NormalButTalkingBee opened this issue ยท 23 comments
The missing model error is not debug-able with just the crash log, as it doesn't give any useful information. It only happens because an error happened that didn't crash the game (bad mod loading state). This may be because a different mod has a bad fml version. You need to send the logs/latest.log
right after it crashed.
As for how I could fix this error in the future (or rather give a better crash log), I'll be digging into the renderer registry code.
well here's the thing, it didn't make a crash log, which is weird imo. I also tested with JUST optifine and this mod, still got the crash...
Also Create isn't crashing for me, which is extremely weird.(Then again I'm using v0.13.1(Edit: of the Changed mod of course))
Well I disabled any other mods I had, and was able to confirm that Optifine is what's crashing my game.
This version might work?
optifine.zip
What is the version of Optifine?
Well I'm using the latest version of 1.18.2's optifine so...
Don't use optifine, please use embeddium/rubidium and oculus. Optifine is only good for vanilla Minecraft, it sucks at being compatible with mods.
Optifine in latest versions of minecraft is also useless - it is breaking mods, making really low performance gain, changing the code of the game in unknown way, is closed source project... It's good for minecraft 1.12.2 or lower i think, but for 1.18.2 i'd recommend embeddium and other mods for performance which are mostly compatible with anything. In minecraft 1.20.1 or later optifine crashes the game itself without any other mods as i heard.
This crash is typically from a missing dependency or a bad mod/mod loader version. The given error is terrible at explaining this. What actually causes this error, is the mod loading environment is "Cowardly refusing to send event FMLCommonSetupEvent to a broken mod state"
.
The order of events is as follows:
EntityRenderersEvent.RegisterLayerDefinitions
is sent to event listenersEntityRenderersEvent.RegisterRenderers
is sent to event listeners- Somewhere a check fails, and events sent afterwards are refused
FMLCommonSetupEvent
is sent to event listeners
The layer definitions were registered on the FMLCommonSetupEvent
, thus causing the definition to be missing when the event is never sent. I have fixed the layer definition code to now listen to EntityRenderersEvent.RegisterLayerDefinitions
in eed8db6. While this wont fix the incompatibilities that are present when loading, but the mod loader will be able to provide a more accurate report.
Currently the best fix for users experiencing this issue, is to validate that Minecraft will launch without Changed in their modpack.