Enchancement

Enchancement

286k Downloads

1.19 Icompatibility with Essential

Fioofyy opened this issue ยท 5 comments

commented

Mod version

1.19-1

A description of the issue

This could simply just be Essentials End, due to the mod still working ingame, However the simple issue is that whenever both essential and enchancement are paired, Essential will completely go bye bye and not function at all, this mod somehow completely either overwrites or deletes the entire function of essential.

Log or crash report

No response

commented

I'm not sure why that happens, but since Essential is closed source I can't do anything about it. I suggest reporting to them as it cannot be fixed on my end

commented

I need a log

commented

Mixin prepare for mod (unknown) failed preparing client.gui.GuiScreenAccessor in mixins.essential.json: org.spongepowered.asm.mixin.transformer.throwables.MixinTargetAlreadyLoadedException Critical problem: mixins.essential.json:client.gui.GuiScreenAccessor from mod (unknown) target net.minecraft.class_437 was loaded too early.
org.spongepowered.asm.mixin.transformer.throwables.MixinTargetAlreadyLoadedException: Critical problem: mixins.essential.json:client.gui.GuiScreenAccessor from mod (unknown) target net.minecraft.class_437 was loaded too early.
at org.spongepowered.asm.mixin.transformer.MixinInfo.readDeclaredTargets(MixinInfo.java:948)
at org.spongepowered.asm.mixin.transformer.MixinInfo.(MixinInfo.java:882)
at org.spongepowered.asm.mixin.transformer.MixinConfig.prepareMixins(MixinConfig.java:852)
at org.spongepowered.asm.mixin.transformer.MixinConfig.prepare(MixinConfig.java:777)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:540)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at gg.essential.loader.stage2.EssentialLoader.chainLoadMixins(EssentialLoader.java:169)
at gg.essential.loader.stage2.EssentialLoader.doInitialize(EssentialLoader.java:140)
at gg.essential.loader.stage2.EssentialLoaderBase.initialize(EssentialLoaderBase.java:487)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at gg.essential.loader.stage1.EssentialLoaderBase.initialize(EssentialLoaderBase.java:122)
at gg.essential.loader.stage1.EssentialSetupPreLaunch.onPreLaunch(EssentialSetupPreLaunch.java:23)
at gg.essential.loader.stage0.EssentialSetupPreLaunch.onPreLaunch(EssentialSetupPreLaunch.java:42)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35)
at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:162)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
23:13:03.332
gg.essential.loader.stage2.EssentialLoader
main
Failed to load mixin configs:
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at gg.essential.loader.stage2.EssentialLoader.chainLoadMixins(EssentialLoader.java:169)
at gg.essential.loader.stage2.EssentialLoader.doInitialize(EssentialLoader.java:140)
at gg.essential.loader.stage2.EssentialLoaderBase.initialize(EssentialLoaderBase.java:487)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at gg.essential.loader.stage1.EssentialLoaderBase.initialize(EssentialLoaderBase.java:122)
at gg.essential.loader.stage1.EssentialSetupPreLaunch.onPreLaunch(EssentialSetupPreLaunch.java:23)
at gg.essential.loader.stage0.EssentialSetupPreLaunch.onPreLaunch(EssentialSetupPreLaunch.java:42)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35)
at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:162)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [mixins.essential.json:client.gui.GuiScreenAccessor from mod (unknown)] from phase [DEFAULT] in config [mixins.essential.json] FAILED during PREPARE
at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:638)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinPrepareError(MixinProcessor.java:585)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:543)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462)
... 19 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTargetAlreadyLoadedException: Critical problem: mixins.essential.json:client.gui.GuiScreenAccessor from mod (unknown) target net.minecraft.class_437 was loaded too early.
at org.spongepowered.asm.mixin.transformer.MixinInfo.readDeclaredTargets(MixinInfo.java:948)
at org.spongepowered.asm.mixin.transformer.MixinInfo.(MixinInfo.java:882)
at org.spongepowered.asm.mixin.transformer.MixinConfig.prepareMixins(MixinConfig.java:852)
at org.spongepowered.asm.mixin.transformer.MixinConfig.prepare(MixinConfig.java:777)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:540)
... 20 more

commented

As far as i've tested it, it also seems to effect 1.18.2 as well.

commented

This issue is caused by Enchancement due to it calling MidnightConfig#init in the ModPreLaunchEntrypoint, causing the class to load early before Mixin can since it has references to Screen in the return type of getScreen.

This issue doesn't just affect Essential, but any mod with a mixin to Screen or any class referenced inside MidnightConfig.