ASM Error using DragonAPI and Glenn's Gases

Issue #36 new
Matthew Browning created an issue

Hello,

I get this error when using gases-1.7.10-16.2 and DragonAPI 1.7.10 v10c I contacted the author of DragonAPI and they told me that this is an AMS conflict. Potentially removing the tryCatchFire method.

Not sure if there is an easy fix or not.

[12:40:19] [main/ERROR] [LaunchWrapper]: Unable to launch
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_66]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_66]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_66]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
Caused by: java.lang.NoClassDefFoundError: net/minecraft/block/BlockFire
    at net.minecraft.block.Block.func_149671_p(Block.java:213) ~[aji.class:?]
    at net.minecraft.init.Bootstrap.func_151354_b(SourceFile:355) ~[kl.class:?]
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:287) ~[bao.class:?]
    at net.minecraft.client.main.Main.main(SourceFile:129) ~[Main.class:?]
    ... 6 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.block.BlockFire
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.11.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_66]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_66]
    at net.minecraft.block.Block.func_149671_p(Block.java:213) ~[aji.class:?]
    at net.minecraft.init.Bootstrap.func_151354_b(SourceFile:355) ~[kl.class:?]
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:287) ~[bao.class:?]
    at net.minecraft.client.main.Main.main(SourceFile:129) ~[Main.class:?]
    ... 6 more
Caused by: Reika.DragonAPI.Exception.ASMException$NoSuchASMMethodInstructionException: Error ASMing method tryCatchFire (Lnet/minecraft/world/World;IIIILjava/util/Random;ILnet/minecraftforge/common/util/ForgeDirection;)V in net/minecraft/block/BlockFire:
Could not find an instruction for a method call to net/minecraft/world/World's func_147468_f (III)Z:

    at Reika.DragonAPI.Libraries.Java.ReikaASMHelper.getNthMethodCall(ReikaASMHelper.java:444) ~[DragonAPI%201.7.10%20V10c.jar:?]
    at Reika.DragonAPI.Libraries.Java.ReikaASMHelper.getFirstMethodCall(ReikaASMHelper.java:428) ~[DragonAPI%201.7.10%20V10c.jar:?]
    at Reika.DragonAPI.ASM.DragonAPIClassTransfomer$ClassPatch.apply(DragonAPIClassTransfomer.java:780) ~[DragonAPI%201.7.10%20V10c.jar:?]
    at Reika.DragonAPI.ASM.DragonAPIClassTransfomer$ClassPatch.access$100(DragonAPIClassTransfomer.java:50) ~[DragonAPI%201.7.10%20V10c.jar:?]
    at Reika.DragonAPI.ASM.DragonAPIClassTransfomer.transform(DragonAPIClassTransfomer.java:1216) ~[DragonAPI%201.7.10%20V10c.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.11.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.11.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_66]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_66]
    at net.minecraft.block.Block.func_149671_p(Block.java:213) ~[aji.class:?]
    at net.minecraft.init.Bootstrap.func_151354_b(SourceFile:355) ~[kl.class:?]
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:287) ~[bao.class:?]
    at net.minecraft.client.main.Main.main(SourceFile:129) ~[Main.class:?]
    ... 6 more
MC process exited. return value: 0

Comments (2)

  1. Erlend Åmdal repo owner

    I can confirm that Glenn's Gases applies ASM patching to BlockFire. I inject a few method calls, which is likely interfering with the way DragonAPI matches for injection. I'll have a word with Reika and see how we can sort this out.

  2. Fabian Maurer

    Just in case someone comes across this and wants a quick hack to get things working: Adding "-DragonAPI_disable_ASM_BURNBLOCK" to the JVM arguments helps by disabling that certain ASM feature from DragonAPI. The hose from RotaryCraft might not burn like it should though, but better a non fully functional RotaryCraft than none at all. ;)

  3. Log in to comment