spxctreofficial / enhancedcraft

This is EnhancedCraft: a mod designed to enhance the Minecraft experience with new tools, weapons, ores, and mobs, while also tweaking aspects of the vanilla game to make gameplay more fun and immersive.
https://modrinth.com/mod/enhancedcraft
GNU General Public License v3.0
5 stars 4 forks source link

Enhanced craft causes crashes related to swim speed modifier #35

Closed LunarNox closed 2 years ago

LunarNox commented 2 years ago

when booting up enhanced craft, 3 errors are spat out and minecraft refuses to launch.

The specified mixin 'net.fabricmc.example.mixin.ExampleMixin' was not found org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException: The specified mixin 'net.fabricmc.example.mixin.ExampleMixin' was not found at org.spongepowered.asm.mixin.transformer.MixinInfo.(MixinInfo.java:865) at org.spongepowered.asm.mixin.transformer.MixinConfig.prepareMixins(MixinConfig.java:852) at org.spongepowered.asm.mixin.transformer.MixinConfig.prepare(MixinConfig.java:781) at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:540) at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462) at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438) at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290) 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:247) at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50) at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) 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:157) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:71) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) Caused by: java.lang.ClassNotFoundException: The specified mixin 'net.fabricmc.example.mixin.ExampleMixin' was not found at org.spongepowered.asm.mixin.transformer.MixinInfo.loadMixinClass(MixinInfo.java:1314) at org.spongepowered.asm.mixin.transformer.MixinInfo.(MixinInfo.java:858) ... 22 more

Mixin apply for mod enhancedcraft failed enhancedcraft.mixins.json:entity.LivingEntityMixin -> net.minecraft.class_1309: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Variable modifier target for net/minecraft/class_1309::updateSwimSpeed was removed by another injector [INJECT Applicator Phase -> enhancedcraft.mixins.json:entity.LivingEntityMixin -> Apply Injections ->  -> Inject -> enhancedcraft.mixins.json:entity.LivingEntityMixin->@ModifyVariable::updateSwimSpeed(F)F from mod enhancedcraft]

org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Variable modifier target for net/minecraft/class_1309::updateSwimSpeed was removed by another injector [INJECT Applicator Phase -> enhancedcraft.mixins.json:entity.LivingEntityMixin -> Apply Injections -> -> Inject -> enhancedcraft.mixins.json:entity.LivingEntityMixin->@ModifyVariable::updateSwimSpeed(F)F from mod enhancedcraft] at org.spongepowered.asm.mixin.injection.modify.ModifyVariableInjector.inject(ModifyVariableInjector.java:169) at org.spongepowered.asm.mixin.injection.code.Injector.inject(Injector.java:276) at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.inject(InjectionInfo.java:445) at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1374) 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) 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:247) at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:218) at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:174) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at net.minecraft.class_6396.handler$zoc000$fillSystemDetails(class_6396.java:522) at net.minecraft.class_6396.(class_6396.java:57) at net.minecraft.class_128.(class_128.java:32) at net.minecraft.class_128.method_24305(class_128.java:272) at net.minecraft.client.main.Main.main(Main.java:153) 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 net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:608) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Minecraft has crashed! net.fabricmc.loader.impl.FormattedException: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_1309 failed at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:610) 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: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_1309 failed at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:252) at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:218) at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:174) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at net.minecraft.class_6396.handler$zoc000$fillSystemDetails(class_6396.java:522) at net.minecraft.class_6396.(class_6396.java:57) at net.minecraft.class_128.(class_128.java:32) at net.minecraft.class_128.method_24305(class_128.java:272) at net.minecraft.client.main.Main.main(Main.java:153) 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 net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:608) ... 2 more 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:247) ... 22 more Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [enhancedcraft.mixins.json:entity.LivingEntityMixin] from phase [DEFAULT] in config [enhancedcraft.mixins.json] from mod [enhancedcraft] FAILED during APPLY at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:638) at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:589) at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:379) ... 25 more Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Variable modifier target for net/minecraft/class_1309::updateSwimSpeed was removed by another injector [INJECT Applicator Phase -> enhancedcraft.mixins.json:entity.LivingEntityMixin -> Apply Injections -> -> Inject -> enhancedcraft.mixins.json:entity.LivingEntityMixin->@ModifyVariable::updateSwimSpeed(F)F from mod enhancedcraft] at org.spongepowered.asm.mixin.injection.modify.ModifyVariableInjector.inject(ModifyVariableInjector.java:169) at org.spongepowered.asm.mixin.injection.code.Injector.inject(Injector.java:276) at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.inject(InjectionInfo.java:445) at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1374) 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) ... 25 more

spxctreofficial commented 2 years ago

What version of EnhancedCraft are you using and what mods are you using with it?

I have a general idea of where the problem could be, but I need to make sure since it is probably a mod compatibility issue.

LunarNox commented 2 years ago

version 1.2.7 turns out its an incompatabilty with origins. ive treid all versions and they all are incompatable with origins. unfourtenutly, my server requires origins, so im incapable of using your mod, but it looks amazing!

spxctreofficial commented 2 years ago

I'll work on Origins compatibility in the next update. From what I can immediately think of, Origins will not be fully compatible even if the crash didn't occur; there are many things I need to fix.

LunarNox commented 2 years ago

Sounds cool!

spxctreofficial commented 2 years ago

Alright, I loaded up Origins on a client with EnhancedCraft, but I wasn't able to reproduce the error. Is the issue on the server only?

spxctreofficial commented 2 years ago

Okay, so I found the issue.

Apoli, which is one of Origins' internal APIs and dependencies, uses @Redirects on some of the variables that are modified by EnhancedCraft.

While the next official update isn't anything near finished, I have fixed the issue in the bleeding edge beta builds that are found in the GitHub Actions workflow on the repository. This snapshot version should fix the Origins compatibility error, but as always the bleeding edge builds can be unstable and be prone to many bugs. As far as I'm aware, this build is safe to use since nothing major has been added yet, but that's the disclaimer I give to all users who are planning to use a beta build.

Just download the uploaded artifact from the GitHub Action workflow. Your users will need to be on this snapshot version as well to avoid compatibility issues with Origin or other mods.

If there are any more issues feel free to re-open the issue. Hope this helps!