DimensionalDevelopment / JustEnoughIDs

Use the 1.13 chunk format in 1.12 to remove the block, item, and biome ID limits
MIT License
31 stars 33 forks source link

Incompatibility with the ReplayMod #53

Closed Johni0702 closed 5 years ago

Johni0702 commented 5 years ago

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.

ZombieHDGaming commented 5 years ago

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?

Johni0702 commented 5 years ago

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.