diff --git a/src/codechicken/lib/asm/ClassHeirachyManager.java b/src/codechicken/lib/asm/ClassHeirachyManager.java index 9f0acec..562bd9d 100644 --- a/src/codechicken/lib/asm/ClassHeirachyManager.java +++ b/src/codechicken/lib/asm/ClassHeirachyManager.java @@ -15,6 +15,10 @@ import java.util.HashSet; */ public class ClassHeirachyManager implements IClassTransformer { + static { + ASMInit.init(); + } + public static class SuperCache { String superclass; diff --git a/src/codechicken/lib/asm/ObfMapping.java b/src/codechicken/lib/asm/ObfMapping.java index c7c5579..07c237b 100644 --- a/src/codechicken/lib/asm/ObfMapping.java +++ b/src/codechicken/lib/asm/ObfMapping.java @@ -72,6 +72,10 @@ public class ObfMapping public String map(String typeName) { return FMLDeobfuscatingRemapper.INSTANCE.unmap(typeName); } + + public boolean isObf(String typeName) { + return !map(typeName).equals(typeName); + } } public static class MCPRemapper extends Remapper implements LineProcessor @@ -379,7 +383,10 @@ public class ObfMapping } public ObfMapping toClassloading() { - map(obfuscated ? obfMapper : mcpMapper); + if(!obfuscated) + map(mcpMapper); + else if(obfMapper.isObf(s_owner)) + map(obfMapper); return this; }