From 9a737b0c906d2dd7d9a679eb099ff733b8f31453 Mon Sep 17 00:00:00 2001 From: cpw Date: Wed, 13 Jan 2016 00:26:08 -0500 Subject: [PATCH] Fix problem which meant runtime deobf to MCP names wasn't working. SRG named mods located in the mods dir of a dev environment will now load normally. --- .../asm/transformers/deobf/FMLDeobfuscatingRemapper.java | 7 ++++++- .../fml/common/launcher/FMLDeobfTweaker.java | 5 +---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLDeobfuscatingRemapper.java b/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLDeobfuscatingRemapper.java index 0ac23ed39..43de7d9e9 100644 --- a/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLDeobfuscatingRemapper.java +++ b/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLDeobfuscatingRemapper.java @@ -124,10 +124,12 @@ public class FMLDeobfuscatingRemapper extends Remapper { LZMAInputSupplier zis = new LZMAInputSupplier(classData); CharSource srgSource = zis.asCharSource(Charsets.UTF_8); srgList = srgSource.readLines(); + FMLRelaunchLog.fine("Loading deobfuscation resource %s with %d records", deobfFileName, srgList.size()); } else { srgList = Files.readLines(new File(gradleStartProp), Charsets.UTF_8); + FMLRelaunchLog.fine("Loading deobfuscation resource %s with %d records", gradleStartProp, srgList.size()); } rawMethodMaps = Maps.newHashMap(); @@ -179,7 +181,10 @@ public class FMLDeobfuscatingRemapper extends Remapper { { rawFieldMaps.put(cl, Maps.newHashMap()); } - rawFieldMaps.get(cl).put(oldName + ":" + getFieldType(cl, oldName), newName); + String fieldType = getFieldType(cl, oldName); + // We might be in mcp named land, where in fact the name is "new" + if (fieldType == null) fieldType = getFieldType(cl, newName); + rawFieldMaps.get(cl).put(oldName + ":" + fieldType, newName); rawFieldMaps.get(cl).put(oldName + ":null", newName); } diff --git a/src/main/java/net/minecraftforge/fml/common/launcher/FMLDeobfTweaker.java b/src/main/java/net/minecraftforge/fml/common/launcher/FMLDeobfTweaker.java index e8fa78753..ee5ec9db6 100644 --- a/src/main/java/net/minecraftforge/fml/common/launcher/FMLDeobfTweaker.java +++ b/src/main/java/net/minecraftforge/fml/common/launcher/FMLDeobfTweaker.java @@ -21,10 +21,7 @@ public class FMLDeobfTweaker implements ITweaker { public void injectIntoClassLoader(LaunchClassLoader classLoader) { // Deobfuscation transformer, always last, and the access transformer tweaker as well - if (!(Boolean)Launch.blackboard.get("fml.deobfuscatedEnvironment")) - { - classLoader.registerTransformer("net.minecraftforge.fml.common.asm.transformers.DeobfuscationTransformer"); - } + classLoader.registerTransformer("net.minecraftforge.fml.common.asm.transformers.DeobfuscationTransformer"); // Add all the access transformers now as well for (String transformer : CoreModManager.getAccessTransformers()) {