aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/preloader
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2022-08-29 16:04:28 +0200
committerGitHub <noreply@github.com>2022-08-29 16:04:28 +0200
commit7d1f51a8937e0a86486267437d444696e81e8aa0 (patch)
treea5b145e7271998f7b4b968a2212ed487e54a92b5 /src/main/java/gtPlusPlus/preloader
parent5267969156d30b4bb5f4cb2279ebb49db6bd40e2 (diff)
downloadGT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.tar.gz
GT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.tar.bz2
GT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.zip
Buildscript + Spotless (#318)
* Convert AES.java to readable class * Buildscript * Spotless
Diffstat (limited to 'src/main/java/gtPlusPlus/preloader')
-rw-r--r--src/main/java/gtPlusPlus/preloader/CORE_Preloader.java47
-rw-r--r--src/main/java/gtPlusPlus/preloader/ChunkDebugger.java89
-rw-r--r--src/main/java/gtPlusPlus/preloader/CustomClassLoader.java81
-rw-r--r--src/main/java/gtPlusPlus/preloader/DevHelper.java14173
-rw-r--r--src/main/java/gtPlusPlus/preloader/Preloader_GT_OreDict.java366
-rw-r--r--src/main/java/gtPlusPlus/preloader/Preloader_Logger.java98
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java389
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/ClassesToTransform.java137
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java159
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java111
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/Preloader_SetupClass.java22
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/helpers/MethodHelper_CC.java24
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/helpers/MethodHelper_GT.java27
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_CC_GuiContainerManager.java223
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_COFH_OreDictionaryArbiter.java331
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Forge_ChunkLoading.java1653
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Forge_EntityLivingBase_SetHealth.java221
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java1187
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FluidUtil.java525
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FuelLoader.java1591
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Achievements.java4272
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Achievements_CrashFix.java440
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BaseMetaTileEntity.java313
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_MetaPipeEntity.java512
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_NBT.java387
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_CharcoalPit.java353
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Client.java764
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_ItemMachines_Tooltip.java268
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_MetaGenerated_Tool.java184
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Packet_TileEntity.java636
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Utility.java546
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java404
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java272
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_LWJGL_Keyboard.java532
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Railcraft_FluidCartHandling.java202
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Railcraft_FluidHelper.java1688
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Railcraft_InvTools.java428
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TC_ItemWispEssence.java476
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TT_ThaumicRestorer.java1216
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TiConFluids.java296
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java115
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java21
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java563
-rw-r--r--src/main/java/gtPlusPlus/preloader/keyboard/BetterKeyboard.java159
44 files changed, 19415 insertions, 17086 deletions
diff --git a/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java b/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java
index 49209307f7..303868e6d8 100644
--- a/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java
+++ b/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java
@@ -1,33 +1,32 @@
package gtPlusPlus.preloader;
+import cpw.mods.fml.common.versioning.ArtifactVersion;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import cpw.mods.fml.common.versioning.ArtifactVersion;
-
public class CORE_Preloader {
-
- public static final String NAME = "GT++ Preloader";
- public static final String MODID = "GT++_Preloader";
- public static final String VERSION = "0.5-Beta";
- public static final List<ArtifactVersion> DEPENDENCIES;
- public static final String JAVA_VERSION = System.getProperty("java.version");
-
- public static File MC_DIR;
- public static boolean DEV_ENVIRONMENT = false;
- public static boolean DEBUG_MODE = false;
- public static boolean enableOldGTcircuits = false;
- public static int enableWatchdogBGM = 0;
-
- public static void setMinecraftDirectory(File aDir) {
- MC_DIR = aDir;
- }
-
- static {
- ArrayList<ArtifactVersion> deps = new ArrayList<ArtifactVersion>();
- //deps.add("required-before:gregtech;");
- DEPENDENCIES = Collections.unmodifiableList(deps);
- }
+
+ public static final String NAME = "GT++ Preloader";
+ public static final String MODID = "GT++_Preloader";
+ public static final String VERSION = "0.5-Beta";
+ public static final List<ArtifactVersion> DEPENDENCIES;
+ public static final String JAVA_VERSION = System.getProperty("java.version");
+
+ public static File MC_DIR;
+ public static boolean DEV_ENVIRONMENT = false;
+ public static boolean DEBUG_MODE = false;
+ public static boolean enableOldGTcircuits = false;
+ public static int enableWatchdogBGM = 0;
+
+ public static void setMinecraftDirectory(File aDir) {
+ MC_DIR = aDir;
+ }
+
+ static {
+ ArrayList<ArtifactVersion> deps = new ArrayList<ArtifactVersion>();
+ // deps.add("required-before:gregtech;");
+ DEPENDENCIES = Collections.unmodifiableList(deps);
+ }
}
diff --git a/src/main/java/gtPlusPlus/preloader/ChunkDebugger.java b/src/main/java/gtPlusPlus/preloader/ChunkDebugger.java
index 06964d31fa..091188995d 100644
--- a/src/main/java/gtPlusPlus/preloader/ChunkDebugger.java
+++ b/src/main/java/gtPlusPlus/preloader/ChunkDebugger.java
@@ -1,54 +1,57 @@
package gtPlusPlus.preloader;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.Pair;
+import java.util.LinkedHashMap;
+import java.util.Map;
import net.minecraft.world.ChunkCoordIntPair;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeChunkManager.Ticket;
public class ChunkDebugger {
-
- public static final Map<Integer, Pair<String, String>> mChunkTicketsMap = new LinkedHashMap<Integer, Pair<String, String>>();
- public static final Map<String, Pair<String, String>> mChunksLoadedByModsMap = new LinkedHashMap<String, Pair<String, String>>();
-
- public static void storeTicketToCache(Ticket aTicket, World aWorld) {
- mChunkTicketsMap.put(aTicket.hashCode(), new Pair<String, String>(aTicket.getModId(), ""+aTicket.world.provider.dimensionId));
- Logger.REFLECTION("Ticket created by "+aTicket.getModId()+" for dimension "+aTicket.world.provider.dimensionId);
- }
-
- public static void storeLoadChunkToCache(Ticket aTicket, ChunkCoordIntPair aChunk) {
- mChunksLoadedByModsMap.put(aChunk.toString(), new Pair<String, String>(aTicket.getModId(), aChunk.toString()));
- Logger.REFLECTION("Chunk Loaded by "+aTicket.getModId()+" at position "+aChunk.toString()+" for dimension "+aTicket.world.provider.dimensionId);
- }
-
- public static void removeTicketFromCache(Ticket aTicket) {
- Pair<String, String> aPair = mChunkTicketsMap.get(aTicket.hashCode());
- String aKey = aPair.getKey();
- if (aKey == null) {
- aKey = "Invalid ModId";
- }
- Logger.REFLECTION("Ticket released by "+aKey+" for dimension "+aTicket.world.provider.dimensionId);
- mChunkTicketsMap.remove(aTicket.hashCode());
- }
-
- public static void removeLoadedChunkFromCache(ChunkCoordIntPair aChunk) {
- if (aChunk == null || aChunk.toString() == null) {
- return;
- }
- Pair<String, String> aPair = mChunksLoadedByModsMap.get(aChunk.toString());
- if (aPair == null) {
- return;
- }
- String aKey = aPair.getKey();
- String aValue = aPair.getValue();
- if (aKey != null && aValue != null) {
- Logger.REFLECTION("Chunk Unloaded by "+aKey+" at position "+aChunk.toString()+"");
- }
- mChunksLoadedByModsMap.remove(aChunk.toString());
- }
-
+ public static final Map<Integer, Pair<String, String>> mChunkTicketsMap =
+ new LinkedHashMap<Integer, Pair<String, String>>();
+ public static final Map<String, Pair<String, String>> mChunksLoadedByModsMap =
+ new LinkedHashMap<String, Pair<String, String>>();
+
+ public static void storeTicketToCache(Ticket aTicket, World aWorld) {
+ mChunkTicketsMap.put(
+ aTicket.hashCode(),
+ new Pair<String, String>(aTicket.getModId(), "" + aTicket.world.provider.dimensionId));
+ Logger.REFLECTION(
+ "Ticket created by " + aTicket.getModId() + " for dimension " + aTicket.world.provider.dimensionId);
+ }
+
+ public static void storeLoadChunkToCache(Ticket aTicket, ChunkCoordIntPair aChunk) {
+ mChunksLoadedByModsMap.put(aChunk.toString(), new Pair<String, String>(aTicket.getModId(), aChunk.toString()));
+ Logger.REFLECTION("Chunk Loaded by " + aTicket.getModId() + " at position " + aChunk.toString()
+ + " for dimension " + aTicket.world.provider.dimensionId);
+ }
+
+ public static void removeTicketFromCache(Ticket aTicket) {
+ Pair<String, String> aPair = mChunkTicketsMap.get(aTicket.hashCode());
+ String aKey = aPair.getKey();
+ if (aKey == null) {
+ aKey = "Invalid ModId";
+ }
+ Logger.REFLECTION("Ticket released by " + aKey + " for dimension " + aTicket.world.provider.dimensionId);
+ mChunkTicketsMap.remove(aTicket.hashCode());
+ }
+
+ public static void removeLoadedChunkFromCache(ChunkCoordIntPair aChunk) {
+ if (aChunk == null || aChunk.toString() == null) {
+ return;
+ }
+ Pair<String, String> aPair = mChunksLoadedByModsMap.get(aChunk.toString());
+ if (aPair == null) {
+ return;
+ }
+ String aKey = aPair.getKey();
+ String aValue = aPair.getValue();
+ if (aKey != null && aValue != null) {
+ Logger.REFLECTION("Chunk Unloaded by " + aKey + " at position " + aChunk.toString() + "");
+ }
+ mChunksLoadedByModsMap.remove(aChunk.toString());
+ }
}
diff --git a/src/main/java/gtPlusPlus/preloader/CustomClassLoader.java b/src/main/java/gtPlusPlus/preloader/CustomClassLoader.java
index 56394c11f0..388b5fa2a6 100644
--- a/src/main/java/gtPlusPlus/preloader/CustomClassLoader.java
+++ b/src/main/java/gtPlusPlus/preloader/CustomClassLoader.java
@@ -6,52 +6,45 @@ import java.security.Permissions;
import java.security.ProtectionDomain;
import java.security.cert.Certificate;
import java.util.HashMap;
-
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.tree.ClassNode;
public class CustomClassLoader extends ClassLoader {
- private HashMap<String, ClassNode> classes = new HashMap<String, ClassNode>();
-
- @Override
-
- public Class<?> loadClass(String name) throws ClassNotFoundException {
- return findClass(name);
- }
-
- @Override
-
- protected Class<?> findClass(String name) throws ClassNotFoundException {
- ClassNode node = classes.get(name.replace('.', '/'));
- if (node != null)
- return nodeToClass(node);
- else
- return super.findClass(name);
- }
-
- public final void addNode(ClassNode node) {
- classes.put(node.name, node);
- }
-
- private final Class<?> nodeToClass(ClassNode node) {
- if (super.findLoadedClass(node.name) != null)
- return findLoadedClass(node.name);
- ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
- node.accept(cw);
- byte[] b = cw.toByteArray();
- return defineClass(node.name.replace('/', '.'), b, 0, b.length, getDomain());
- }
-
- private final ProtectionDomain getDomain() {
- CodeSource code = new CodeSource(null, (Certificate[]) null);
- return new ProtectionDomain(code, getPermissions());
- }
-
- private final Permissions getPermissions() {
- Permissions permissions = new Permissions();
- permissions.add(new AllPermission());
- return permissions;
- }
-
-} \ No newline at end of file
+ private HashMap<String, ClassNode> classes = new HashMap<String, ClassNode>();
+
+ @Override
+ public Class<?> loadClass(String name) throws ClassNotFoundException {
+ return findClass(name);
+ }
+
+ @Override
+ protected Class<?> findClass(String name) throws ClassNotFoundException {
+ ClassNode node = classes.get(name.replace('.', '/'));
+ if (node != null) return nodeToClass(node);
+ else return super.findClass(name);
+ }
+
+ public final void addNode(ClassNode node) {
+ classes.put(node.name, node);
+ }
+
+ private final Class<?> nodeToClass(ClassNode node) {
+ if (super.findLoadedClass(node.name) != null) return findLoadedClass(node.name);
+ ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
+ node.accept(cw);
+ byte[] b = cw.toByteArray();
+ return defineClass(node.name.replace('/', '.'), b, 0, b.length, getDomain());
+ }
+
+ private final ProtectionDomain getDomain() {
+ CodeSource code = new CodeSource(null, (Certificate[]) null);
+ return new ProtectionDomain(code, getPermissions());
+ }
+
+ private final Permissions getPermissions() {
+ Permissions permissions = new Permissions();
+ permissions.add(new AllPermission());
+ return permissions;
+ }
+}
diff --git a/src/main/java/gtPlusPlus/preloader/DevHelper.java b/src/main/java/gtPlusPlus/preloader/DevHelper.java
index 70a3c53073..10d81d1ce3 100644
--- a/src/main/java/gtPlusPlus/preloader/DevHelper.java
+++ b/src/main/java/gtPlusPlus/preloader/DevHelper.java
@@ -1,7139 +1,7100 @@
package gtPlusPlus.preloader;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.api.objects.data.weakref.WeakAutoMap;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
-
-import gtPlusPlus.api.objects.data.Pair;
-import gtPlusPlus.api.objects.data.weakref.WeakAutoMap;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
import net.minecraft.launchwrapper.Launch;
public class DevHelper {
- private static final DevHelper mInstance;
- public static final boolean mIsValidHelper;
-
- static {
- mInstance = new DevHelper();
- if (DevHelperInternals.init()) {
- mIsValidHelper = true;
- }
- else {
- mIsValidHelper = false;
- }
- }
-
- public DevHelper() {
-
- }
-
-
-
- public static boolean isObfuscatedEnvironment() {
- // Are we in a 'decompiled' environment?
- boolean deobfuscatedEnvironment = false;
- byte[] bs;
- try {
- bs = Launch.classLoader.getClassBytes("net.minecraft.world.World");
- if (bs != null) {
- deobfuscatedEnvironment = true;
- } else {
- deobfuscatedEnvironment = false;
- }
- } catch (IOException e) {
- }
- return !deobfuscatedEnvironment;
- }
-
- @SuppressWarnings("rawtypes")
- public static Method getForgeMethod(Class c, String s, Class... varags) {
- String s1, s2;
- Method a, b;
- s1 = s;
- s2 = getSRG(s);
- try {
- a = ReflectionUtils.getMethod(c, s1, varags);
- if (a != null) {
- return a;
- }
- else {
- b = ReflectionUtils.getMethod(c, s2, varags);
- if (b != null) {
- return b;
- }
- }
- }
- catch (Exception e) {}
- return null;
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ private static final DevHelper mInstance;
+ public static final boolean mIsValidHelper;
+ static {
+ mInstance = new DevHelper();
+ if (DevHelperInternals.init()) {
+ mIsValidHelper = true;
+ } else {
+ mIsValidHelper = false;
+ }
+ }
+ public DevHelper() {}
- private static synchronized final DevHelper getInstance() {
- return mInstance;
- }
+ public static boolean isObfuscatedEnvironment() {
+ // Are we in a 'decompiled' environment?
+ boolean deobfuscatedEnvironment = false;
+ byte[] bs;
+ try {
+ bs = Launch.classLoader.getClassBytes("net.minecraft.world.World");
+ if (bs != null) {
+ deobfuscatedEnvironment = true;
+ } else {
+ deobfuscatedEnvironment = false;
+ }
+ } catch (IOException e) {
+ }
+ return !deobfuscatedEnvironment;
+ }
- public static synchronized final boolean isValidHelperObject() {
- return mIsValidHelper;
- }
+ @SuppressWarnings("rawtypes")
+ public static Method getForgeMethod(Class c, String s, Class... varags) {
+ String s1, s2;
+ Method a, b;
+ s1 = s;
+ s2 = getSRG(s);
+ try {
+ a = ReflectionUtils.getMethod(c, s1, varags);
+ if (a != null) {
+ return a;
+ } else {
+ b = ReflectionUtils.getMethod(c, s2, varags);
+ if (b != null) {
+ return b;
+ }
+ }
+ } catch (Exception e) {
+ }
+ return null;
+ }
- public static String getSRG(String mForgeName) {
- String aSRG = DevHelperInternals.forgeToSrg.get(mForgeName);
- return aSRG != null ? aSRG : "BAD_SRG_NAME";
- }
+ private static final synchronized DevHelper getInstance() {
+ return mInstance;
+ }
- public static String getForge(String mSrgName) {
- String aForgeName = DevHelperInternals.srgToForge.get(mSrgName);
- return aForgeName != null ? aForgeName : "BAD_FORGE_NAME";
- }
+ public static final synchronized boolean isValidHelperObject() {
+ return mIsValidHelper;
+ }
- public static String getMinecraftClassName(String adeObName, boolean obfuscated) {
- if (obfuscated) {
- return getObfuscated(adeObName);
- }
- return adeObName;
- }
+ public static String getSRG(String mForgeName) {
+ String aSRG = DevHelperInternals.forgeToSrg.get(mForgeName);
+ return aSRG != null ? aSRG : "BAD_SRG_NAME";
+ }
- public static String getObfuscated(String mDeob) {
- String obfuscatedClassname = DevHelperInternals.deObToOb.get(mDeob);
- obfuscatedClassname = obfuscatedClassname != null ? obfuscatedClassname : "BAD_OBFUSCATED_CLASS_NAME";
- if (obfuscatedClassname.equals("BAD_OBFUSCATED_CLASS_NAME")) {
- Preloader_Logger.INFO("[Fix] Failed to Get Deobfuscated name for "+mDeob);
- }
- return obfuscatedClassname;
- }
+ public static String getForge(String mSrgName) {
+ String aForgeName = DevHelperInternals.srgToForge.get(mSrgName);
+ return aForgeName != null ? aForgeName : "BAD_FORGE_NAME";
+ }
- public static String getDeobfuscated(String mOb) {
- String deobfuscatedClassname = DevHelperInternals.obToDeOb.get(mOb);
- return deobfuscatedClassname != null ? deobfuscatedClassname : "BAD_DEOBFUSCATED_CLASS_NAME";
- }
+ public static String getMinecraftClassName(String adeObName, boolean obfuscated) {
+ if (obfuscated) {
+ return getObfuscated(adeObName);
+ }
+ return adeObName;
+ }
- public static class DevHelperInternals {
- public static final Map<String, String> srgToForge = new HashMap<String, String>();
- public static final Map<String, String> forgeToSrg = new HashMap<String, String>();
- private static WeakAutoMap<Pair<String, String>> mInitMap = new WeakAutoMap<Pair<String, String>>();
+ public static String getObfuscated(String mDeob) {
+ String obfuscatedClassname = DevHelperInternals.deObToOb.get(mDeob);
+ obfuscatedClassname = obfuscatedClassname != null ? obfuscatedClassname : "BAD_OBFUSCATED_CLASS_NAME";
+ if (obfuscatedClassname.equals("BAD_OBFUSCATED_CLASS_NAME")) {
+ Preloader_Logger.INFO("[Fix] Failed to Get Deobfuscated name for " + mDeob);
+ }
+ return obfuscatedClassname;
+ }
- //Obfuscation
- public static final Map<String, String> obToDeOb = new HashMap<String, String>();
- public static final Map<String, String> deObToOb = new HashMap<String, String>();
- private static WeakAutoMap<Pair<String, String>> mObInitMap = new WeakAutoMap<Pair<String, String>>();
+ public static String getDeobfuscated(String mOb) {
+ String deobfuscatedClassname = DevHelperInternals.obToDeOb.get(mOb);
+ return deobfuscatedClassname != null ? deobfuscatedClassname : "BAD_DEOBFUSCATED_CLASS_NAME";
+ }
- private static boolean init() {
- init1();
- init2();
- init3();
- init4();
- if (mInitMap.size() > 0) {
- for (Pair<String, String> p : mInitMap) {
- if (p != null) {
- String srg = p.getKey();
- String forge = p.getValue();
- srgToForge.put(srg, forge);
- forgeToSrg.put(forge, srg);
- }
- }
- }
+ public static class DevHelperInternals {
+ public static final Map<String, String> srgToForge = new HashMap<String, String>();
+ public static final Map<String, String> forgeToSrg = new HashMap<String, String>();
+ private static WeakAutoMap<Pair<String, String>> mInitMap = new WeakAutoMap<Pair<String, String>>();
- if (mObInitMap.size() > 0) {
- for (Pair<String, String> p : mObInitMap) {
- if (p != null) {
- String ob = p.getKey();
- String deOb = p.getValue();
- obToDeOb.put(ob, deOb);
- deObToOb.put(deOb, ob);
- }
- }
- }
- Preloader_Logger.INFO("[DevHelper] mInitMap size: "+mInitMap.size());
- Preloader_Logger.INFO("[DevHelper] mObInitMap size: "+mObInitMap.size());
+ // Obfuscation
+ public static final Map<String, String> obToDeOb = new HashMap<String, String>();
+ public static final Map<String, String> deObToOb = new HashMap<String, String>();
+ private static WeakAutoMap<Pair<String, String>> mObInitMap = new WeakAutoMap<Pair<String, String>>();
- Preloader_Logger.INFO("[DevHelper] srgToForge size: "+srgToForge.size());
- Preloader_Logger.INFO("[DevHelper] forgeToSrg size: "+forgeToSrg.size());
- Preloader_Logger.INFO("[DevHelper] obToDeOb size: "+obToDeOb.size());
- Preloader_Logger.INFO("[DevHelper] deObToOb size: "+deObToOb.size());
+ private static boolean init() {
+ init1();
+ init2();
+ init3();
+ init4();
+ if (mInitMap.size() > 0) {
+ for (Pair<String, String> p : mInitMap) {
+ if (p != null) {
+ String srg = p.getKey();
+ String forge = p.getValue();
+ srgToForge.put(srg, forge);
+ forgeToSrg.put(forge, srg);
+ }
+ }
+ }
- if (srgToForge.size() > 0 && forgeToSrg.size() > 0 && obToDeOb.size() > 0 && deObToOb.size() > 0) {
- if (srgToForge.size() == forgeToSrg.size() && obToDeOb.size() == deObToOb.size()) {
- return true;
- }
- else {
- if (srgToForge.size() != forgeToSrg.size()) {
- int aKey1 = 0;
- int aKey2 = 0;
- HashMap<Integer, String> aMissingForgeNames = new HashMap<Integer, String>();
- HashMap<Integer, String> aMissingSrgNames = new HashMap<Integer, String>();
- Preloader_Logger.INFO("Mismatch between mapped Forge and Srg names, finding missing values.");
- if (srgToForge.size() > forgeToSrg.size()) {
- Preloader_Logger.INFO("More SRG Keys detected.");
- for (String aKey : srgToForge.keySet()) {
- if (!forgeToSrg.containsValue(aKey)) {
- aMissingSrgNames.