LtxProgrammer / Changed-Minecraft-Mod

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

No model for layer changed:dark_latex_wolf_partial#main problem #943

Closed gengyoubo closed 3 months ago

gengyoubo commented 3 months ago

The specific phenomenon is that when certain modules have problems, they fail to load the changed:dark_latex_wolf_partial model

gengyoubo commented 3 months ago

Let's start from the very beginning, first of all, the mod has a startup bug that results in model loss

gengyoubo commented 3 months ago

Q:Why are models missing? A:These errors indicate that the Forge Mod Loader (FML) is refusing to send specific events to a module in a broken state. This may be due to a problem with some key element or configuration of the mod that prevents it from responding properly to these events.

[11:26:29] [Worker-Main-8/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ModelRegistryEvent to a broken mod state
[11:26:29] [Worker-Main-13/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event. TextureStitchEvent$Pre to a broken mod state
[11:26:29] [Worker-Main-12/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event. TextureStitchEvent$Pre to a broken mod state
[11:26:29] [Worker-Main-15/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event. TextureStitchEvent$Pre to a broken mod state
[11:26:41] [Worker-Main-8/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event. $Pre to a broken mod state
gengyoubo commented 3 months ago

[11:26:28] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ParticleFactoryRegisterEvent to a broken mod state The status of a mod is not normal, causing FML to reject sending events to that mod

LtxProgrammer commented 3 months ago

I had realized while working on foxyas' complex renderer registration issue. This error specifically happens with the DL partial model, because the renderer is created (and attempts to load the model) on a mixin. Here's what I've determined:

  1. Mod loading fails (probably because of incompatibility)
  2. Events are cowardly refused to be sent to broken mod state.
  3. Minecraft attempts to construct all registered renderers (no custom renderers are registered because of broken mod state)
  4. A mixin I wrote into the above function creates DL partial, and latex human renderer. (creation fails because the model was not registered in a broken mod state)
  5. No model for layer changed:dark_latex_wolf_partial#main

This can be fixed by moving the DL partial renderer creator to an event listener, so that it isn't called in a broken mod state.

LtxProgrammer commented 3 months ago

Hopefully fixed with 97f762aaec171661b3009d008cbcf60e22bb990a

gengyoubo commented 3 months ago

This bug only appears when a specific bug occurs, and trying to test if it's fixed is a difficult task.

gengyoubo commented 3 months ago

Bugs do not occur during normal game play, but when they do occur, the MC launcher may falsely report them, and manual troubleshooting may become difficult.

gengyoubo commented 3 months ago

solved

Forensic-Ut commented 2 months ago

Bugs do not occur during normal game play, but when they do occur, the MC launcher may falsely report them, and manual troubleshooting may become difficult.

how'd you fix it?