Crash with mod Icarus
Kirisoup opened this issue ยท 13 comments
[18:30:57] [Render thread/ERROR]: Mixin apply for mod icarus failed icarus.mixins.json:client.MouseMixin from mod icarus -> net.minecraft.class_312: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Specified index 0 for @ModifyArg is invalid for args (Lnet/minecraft/class_746;DD), expected D on net/minecraft/class_312::changeLookDirectionX [INJECT Applicator Phase -> icarus.mixins.json:client.MouseMixin from mod icarus -> Apply Injections -> -> Inject -> icarus.mixins.json:client.MouseMixin from mod icarus->@ModifyArg::changeLookDirectionX(D)D]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Specified index 0 for @ModifyArg is invalid for args (Lnet/minecraft/class_746;DD), expected D on net/minecraft/class_312::changeLookDirectionX [INJECT Applicator Phase -> icarus.mixins.json:client.MouseMixin from mod icarus -> Apply Injections -> -> Inject -> icarus.mixins.json:client.MouseMixin from mod icarus->@ModifyArg::changeLookDirectionX(D)D]
at org.spongepowered.asm.mixin.injection.invoke.ModifyArgInjector.findArgIndex(ModifyArgInjector.java:158) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.injection.invoke.ModifyArgInjector.injectAtInvoke(ModifyArgInjector.java:113) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.injection.invoke.InvokeInjector.inject(InvokeInjector.java:82) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.injection.invoke.ModifyArgInjector.inject(ModifyArgInjector.java:103) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.injection.code.Injector.inject(Injector.java:276) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.inject(InjectionInfo.java:445) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1378) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) [sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) [sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) [sponge-mixin-0.11.4+mixin.0.8.5.jar:0.11.4+mixin.0.8.5]
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:414) [fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) [fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) [fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:145) [fabric-loader-0.14.9.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) [?:?]
at net.minecraft.class_310.<init>(class_310.java:492) [client-intermediary.jar:?]
at net.minecraft.client.main.Main.main(Main.java:197) [client-intermediary.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) [fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.9.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.9.jar:?]
[18:30:57] [Render thread/WARN]: Configuration conflict: there is more than one oshi.architecture.properties file on the classpath
I don't know whether is it a problem of that mod or yours, so I also posted an issue over there
Sorry I'm not good at coding. But I suppose it is a problem from this?
// redirect mouse handling to our own code
@Redirect(
method = "updateMouse",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/client/network/ClientPlayerEntity;changeLookDirection(DD)V"
Migrated all my redirects to MixinExtras, fixing this issue. 1.2.3 is currently publishing.
Seems your mod and Icarus have mixins injected to the same place:
Any chance to fix this?
Currently I have to use Cool Elytra with Icarus... I really really wished Barrel Roll and Icarus could be compatible one day
Ah, github completely failed to notify me about this convo for some reason.
They shouldnt be using a redirect there, that's what the problem is
You're probably right about that. It's something I did to get the mod in a working state quickly, but I never got around to looking at alternatives.
I'll see what I can do in the coming days. If you have any specific solutions in mind please let me know.
You could use MixinExtras in order to bypass the need for redirects in basically every circumstance (which is also what I should be doing there, but the code is old so i havent yet)
https://github.com/LlamaLad7/MixinExtras
I use it in some of my other mods. it's a bit frustrating to use (mainly because the intellij plugin doesnt support it), but it's well worth it imo