Startup crash with campfires cook mobs
supersaiyansubtlety opened this issue ยท 4 comments
I am the developer of Camp Fires Cook Mobs.
I went to the JellySquid Discord and some members tried to help me figure this issue out, but we couldn't find a solution. The conversation starts here and ends here, if you'd like to see what was suggested.
In short, we tried to get the custom key in fabric.mod.json that requests lithium disable certain modules to work. We also tried disabling the modules using lithium.properties, but for some reason this wasn't working either (or at least my log output didn't make it look like it was working).
Version 1.1.1 of camp fires cook mobs has lithium (and phosphor, which it also crashes with, but I've been unable to use curemaven to get it into a dev environment) declared as a breaking conflict, so if you're trying to run them together use 1.1.0.
Reproduction Steps
- Install lithium
- Install camp fires cook mobs
- Start the game
- Game crashes
Crash Report File
No crash report was generated.
Here is the latest.log from my non-dev environment.
Here is the latest.log from my dev environment.
Additional Information
Minecraft 1.16.1
camp-fires-cook-mobs-1.1.0+1.16.1.jar
lithium-fabric-mc1.16.1-0.5.1.jar
Fabric loader 0.9.0+build.204
org.spongepowered.asm.mixin.transformer.throwables.MixinTargetAlreadyLoadedException: Critical problem: lithium.mixins.json:block.flatten_states.AbstractBlockStateMixin target net.minecraft.block.AbstractBlock$AbstractBlockState was loaded too early.
Something in your mod is loading classes before Mixins can get to them. This doesn't look like a fault of Lithium at all, and I can't help you any without seeing the source code to your mod.
Right, the project is here.
Your mod's IMixinConfigPlugin
class is violating the class loading rules, by loading the class CampFireEntityFireChecks
which contains references to BlockState
. This leads to BlockState (and as a result, AbstractBlockState) being loaded before any mixins are initialized, since we are in the setup stage.
Lithium (and probably other mods which touch these classes) are promptly exploding as a result of this bug.
You need to move this initialization logic to some place that happens after Mixins are initialized, such as the main
entrypoint. This shouldn't break anything of your mod.