[Bug]: Mixin conflict with Botania
AeiouEnigma opened this issue ยท 7 comments
Mod Version
1.18-2.0.6
Mod Loader
Fabric
Mod Loader Version
0.12.8
What happened?
Crash on startup with Botania and Enhanced Celestials installed:
[Render thread/WARN]: @ModifyConstant conflict. Skipping enhancedcelestials.mixins.json:client.MixinWorldRenderer->@ModifyConstant::getSuperMoonSize(F)F from mod enhancedcelestials with priority 1000, already redirected by botania.mixins.json:MixinLevelRenderer->@ModifyConstant::makeMoonBigger(F)F from mod botania with priority 1000
latest.log
same here...
java.lang.RuntimeException: Mixin transformation of net.minecraft.class_761 failed
at Not Enough Crashes deobfuscated stack trace.(1.18+build.1)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:234)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:136)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155)
at java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at net.minecraft.client.MinecraftClient.(MinecraftClient:573)
at net.minecraft.client.main.Main.main(Main:197)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:568)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:599)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:229)
... 12 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Constant modifier method getSuperMoonSize(F)F in enhancedcelestials.mixins.json:client.MixinWorldRenderer from mod enhancedcelestials failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap enhancedcelestials-1.18-refmap.json
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1381)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
... 15 more
i think i'll remove enhanced celestials from my pack atm, but i want to re-add it asap
same here...
i think i'll remove enhanced celestials from my pack atm, but i want to re-add it asap
If you urgently need a workaround and are feeling adventurous, you can take the following steps:
- Install 7zip
- Open the Botania jar file using 7zip
- Within the Botania jar file, right click on "botania.mixins.json"
- Select "Edit"
- Scroll down to the "MixinLevelRenderer" line in the "client" section
- Add "//" to the beginning of that line
- Save and exit the text editor
- Return to 7zip
- You should be prompted to update "botania.mixins.json" inside the archive with the modified version you just saved. Click "OK".
- You should now have a modified Botania jar file which should be perfectly playable alongside Enhanced Celestials.
Note: Doing this will disable Garden of Glass skybox-related rendering changes. Simply disabling the Garden of Glass skybox in the Botania config is insufficient to avoid this crash.
I believe this is the conflicting @ModifyConstant from Botania
Fixed on our side by scaling the matrix used for the sun and moon (by (x, 1, x)
) instead of multiplying the constant.