Do a Barrel Roll

Do a Barrel Roll

6M Downloads

Crash with mod Icarus

Kirisoup opened this issue ยท 13 comments

commented
[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

commented

I don't know whether is it a problem of that mod or yours, so I also posted an issue over there

commented
commented

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"
commented

that would be it, yeah. redirects are bad and cause problems with other mods

commented

Migrated all my redirects to MixinExtras, fixing this issue. 1.2.3 is currently publishing.

commented

OMG you are a legend

commented

Seems your mod and Icarus have mixins injected to the same place:

target = "Lnet/minecraft/client/network/ClientPlayerEntity;changeLookDirection(DD)V"

https://github.com/CammiePone/Icarus/blob/cfe1e37e1ced542525d64675a05c0d6e08362765/src/main/java/dev/cammiescorner/icarus/core/mixins/client/MouseMixin.java#L17

Any chance to fix this?

commented

Currently I have to use Cool Elytra with Icarus... I really really wished Barrel Roll and Icarus could be compatible one day

commented

They shouldnt be using a redirect there, that's what the problem is

commented

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.

commented

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)

commented

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

commented

I've never tried MixinExtras before, I'll check it out.

I have some other mods using redirects, so it'd be good to be able to get rid of those.