JustEnoughIDs

JustEnoughIDs

13M Downloads

Incompatibility with the ReplayMod

Johni0702 opened this issue · 2 comments

commented

See ReplayMod/ReplayMod#50.

Just RM (2.1.4) + JEID (1.0.2-26) will cause one of RM's mixins to fail with:

Mixin apply failed mixins.replay.replaymod.json:MixinRenderArrow -> net.minecraft.client.renderer.entity.RenderArrow: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException PROTECTED overwrite method <init> in mixins.replay.replaymod.json:MixinRenderArrow cannot reduce visibiliy of PUBLIC target method
org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException: PROTECTED overwrite method <init> in mixins.replay.replaymod.json:MixinRenderArrow cannot reduce visibiliy of PUBLIC target method
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.conformVisibility(MixinPreProcessorStandard.java:430) ~[JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attachMethod(MixinPreProcessorStandard.java:532) ~[JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attachMethods(MixinPreProcessorStandard.java:309) ~[JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:261) ~[JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.createContextFor(MixinPreProcessorStandard.java:241) ~[JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinInfo.createContextFor(MixinInfo.java:1144) ~[JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:268) ~[JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:353) ~[JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.apply(MixinTransformer.java:724) [JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.applyMixins(MixinTransformer.java:703) [JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:509) [JustEnoughIDs-1.0.2-26.jar:?]
	at org.spongepowered.asm.mixin.transformer.Proxy.transform(Proxy.java:72) [JustEnoughIDs-1.0.2-26.jar:?]
	at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) [launchwrapper-1.12.jar:?]
[…]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [?:1.8.0_181]
	at net.minecraft.client.renderer.entity.RenderManager.<init>(RenderManager.java:193) [bzf.class:?]
	at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:517) [bib.class:?]
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377) [bib.class:?]
	at net.minecraft.client.main.Main.main(SourceFile:123) [Main.class:?]
[…]

Full Log
MixinRenderArrow

This may very well be RM's fault. I haven't looked further into it. I just saw that JEID is doing something with Mixin which I don't fully understand the implications of and RM works fine without JEID (RM 2.1.4 bundles Mixins 7.5 but also works when manually built with 7.11), so I figured I might as well ask.

commented

It seems like you're doing something with with a protected method that's public in the RenderArrow class? I know that's not from us at least since JEID doesn't touch rendering, but that's what the log says about Mixins currently. Maybe make the constructor in your MixinRenderArrow class public and see if it works?

commented

Hm.. the constructor of RenderArrow is indeed public and changing the one in the mixin fixes the error. I'm still kind of confused about why this only manifests with JEID installed but I'm honestly not motivated enough to find out.
Thanks for the quick response anyway.