Fix up runtime deobfuscation. Working well now.

This commit is contained in:
Christian 2013-03-02 10:46:32 -05:00
parent 429dfc3d3d
commit 3a2d167885
3 changed files with 15 additions and 10 deletions

View File

@ -215,7 +215,7 @@
<antcall target="writeversion"/>
</target>
<target name="build" depends="buildenvsetup,merge-client,merge-common,build-universal,build-source-pack,build-deobf-data" />
<target name="build" depends="buildenvsetup,merge-client,merge-common,build-deobf-data,build-universal,build-source-pack" />
<target name="jenkinsbuild" depends="buildenvsetup,jenkinsfmldecompile,patch,build"/>

View File

@ -144,7 +144,7 @@ public class FMLDeobfuscatingRemapper extends Remapper {
@Override
public String mapFieldName(String owner, String name, String desc)
{
if (classNameBiMap == null)
if (classNameBiMap == null || classNameBiMap.isEmpty())
{
return name;
}
@ -155,7 +155,7 @@ public class FMLDeobfuscatingRemapper extends Remapper {
@Override
public String map(String typeName)
{
if (classNameBiMap == null)
if (classNameBiMap == null || classNameBiMap.isEmpty())
{
return typeName;
}
@ -177,7 +177,7 @@ public class FMLDeobfuscatingRemapper extends Remapper {
@Override
public String mapMethodName(String owner, String name, String desc)
{
if (classNameBiMap==null)
if (classNameBiMap==null || classNameBiMap.isEmpty())
{
return name;
}
@ -229,7 +229,7 @@ public class FMLDeobfuscatingRemapper extends Remapper {
}
public void mergeSuperMaps(String name, String superName, String[] interfaces)
{
if (classNameBiMap == null)
if (classNameBiMap == null || classNameBiMap.isEmpty())
{
return;
}

View File

@ -42,16 +42,21 @@ public class RelaunchLibraryManager
try
{
// Are we in a 'decompiled' environment?
actualClassLoader.getClassBytes("net.minecraft.world.World");
FMLRelaunchLog.info("Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation");
deobfuscatedEnvironment = true;
byte[] bs = actualClassLoader.getClassBytes("net.minecraft.world.World");
if (bs != null)
{
FMLRelaunchLog.info("Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation");
deobfuscatedEnvironment = true;
}
}
catch (IOException e1)
{
FMLRelaunchLog.fine("Enabling runtime deobfuscation");
deobfuscatedEnvironment = false;
}
if (!deobfuscatedEnvironment)
{
FMLRelaunchLog.fine("Enabling runtime deobfuscation");
}
pluginLocations = new HashMap<IFMLLoadingPlugin, File>();
loadPlugins = new ArrayList<IFMLLoadingPlugin>();
libraries = new ArrayList<ILibrarySet>();