LtxProgrammer / Changed-Minecraft-Mod

A Changed experience in the world of Minecraft.
MIT License
35 stars 37 forks source link

Create mod compatibility #873

Closed NormalButTalkingBee closed 5 months ago

NormalButTalkingBee commented 5 months ago

Whenever i try to load in the changed mod with Create, it always crashes, is this a bug for everyone or am i forgetting something?

Screenshot 2024-04-28 203911

LtxProgrammer commented 5 months ago

Are you using optifine?

NormalButTalkingBee commented 5 months ago

Are you using optifine?

No, only the create mod breaks it.

gengyoubo commented 5 months ago

Is there a log or something like that?

NormalButTalkingBee commented 5 months ago

Is there a log or something like that?

Screenshot 2024-05-02 182325 Screenshot 2024-05-02 182405

LtxProgrammer commented 5 months ago

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.

LtxProgrammer commented 5 months ago

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.

bobby2411 commented 5 months ago

I'm having similar issues with Optifine...

bobby2411 commented 5 months ago

Do I need to make a new issue or could it fall under here?

gengyoubo commented 5 months ago

Um, what mod did you install? Can you send it to me?

gengyoubo commented 5 months ago

You send me the crash log and I either know why.

bobby2411 commented 5 months ago

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...

bobby2411 commented 5 months ago

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))

gengyoubo commented 5 months ago

I was wondering what modules you have installed?

bobby2411 commented 5 months ago

Well I disabled any other mods I had, and was able to confirm that Optifine is what's crashing my game.

bobby2411 commented 5 months ago

And it's not generating a crash log either, still don't know why.

gengyoubo commented 5 months ago

What is the version of Optifine?

gengyoubo commented 5 months ago

I've installed it with Optifine before, but it doesn't seem to crash!

gengyoubo commented 5 months ago

This version might work? optifine.zip

bobby2411 commented 5 months ago

What is the version of Optifine?

Well I'm using the latest version of 1.18.2's optifine so...

gengyoubo commented 5 months ago

Did what I sent you work?

LtxProgrammer commented 5 months ago

Don't use optifine, please use embeddium/rubidium and oculus. Optifine is only good for vanilla Minecraft, it sucks at being compatible with mods.

MortemFoE commented 5 months ago

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.

LtxProgrammer commented 5 months ago

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:

  1. EntityRenderersEvent.RegisterLayerDefinitions is sent to event listeners
  2. EntityRenderersEvent.RegisterRenderers is sent to event listeners
  3. Somewhere a check fails, and events sent afterwards are refused
  4. 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 eed8db6c66c66dcd12a5b8a7f1d34b6202cc6338. 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.