From 311ab89f93558233a40079f7cb16605b141b5346 Mon Sep 17 00:00:00 2001 From: Johann Bernhardt Date: Sun, 12 Dec 2021 19:38:06 +0100 Subject: Move sources and resources --- .../java/gtPlusPlus/preloader/CORE_Preloader.java | 33 + .../java/gtPlusPlus/preloader/ChunkDebugger.java | 54 + .../gtPlusPlus/preloader/CustomClassLoader.java | 57 + src/main/java/gtPlusPlus/preloader/DevHelper.java | 7139 ++++++++++++++++++++ .../gtPlusPlus/preloader/Preloader_GT_OreDict.java | 173 + .../gtPlusPlus/preloader/Preloader_Logger.java | 60 + .../java/gtPlusPlus/preloader/asm/AsmConfig.java | 211 + .../preloader/asm/ClassesToTransform.java | 74 + .../preloader/asm/Preloader_DummyContainer.java | 95 + .../preloader/asm/Preloader_FMLLoadingPlugin.java | 84 + .../preloader/asm/Preloader_SetupClass.java | 23 + .../preloader/asm/helpers/MethodHelper_CC.java | 28 + .../preloader/asm/helpers/MethodHelper_GT.java | 25 + .../ClassTransformer_CC_GuiContainerManager.java | 121 + ...ClassTransformer_COFH_OreDictionaryArbiter.java | 185 + .../ClassTransformer_Forge_ChunkLoading.java | 684 ++ ...ansformer_Forge_EntityLivingBase_SetHealth.java | 130 + .../ClassTransformer_GC_EntityAutoRocket.java | 527 ++ .../ClassTransformer_GC_FluidUtil.java | 242 + .../ClassTransformer_GC_FuelLoader.java | 622 ++ .../ClassTransformer_GT_Achievements.java | 1896 ++++++ .../ClassTransformer_GT_Achievements_CrashFix.java | 218 + .../ClassTransformer_GT_BaseMetaTileEntity.java | 158 + ...ransformer_GT_BlockMachines_MetaPipeEntity.java | 286 + .../ClassTransformer_GT_BlockMachines_NBT.java | 193 + .../ClassTransformer_GT_CharcoalPit.java | 184 + .../transformers/ClassTransformer_GT_Client.java | 410 ++ .../ClassTransformer_GT_EnergyHatchPatch.java | 317 + .../ClassTransformer_GT_ItemMachines_Tooltip.java | 139 + .../ClassTransformer_GT_MetaGenerated_Tool.java | 116 + .../ClassTransformer_GT_Packet_TileEntity.java | 319 + .../transformers/ClassTransformer_GT_Utility.java | 283 + .../ClassTransformer_IC2_GetHarvestTool.java | 214 + .../transformers/ClassTransformer_IC2_Hazmat.java | 147 + .../ClassTransformer_LWJGL_Keyboard.java | 278 + ...assTransformer_Railcraft_FluidCartHandling.java | 117 + .../ClassTransformer_Railcraft_FluidHelper.java | 695 ++ .../ClassTransformer_Railcraft_InvTools.java | 235 + .../ClassTransformer_TC_ItemWispEssence.java | 278 + .../ClassTransformer_TT_ThaumicRestorer.java | 611 ++ .../transformers/ClassTransformer_TiConFluids.java | 164 + .../transformers/Preloader_ClassTransformer.java | 79 + .../transformers/Preloader_ClassTransformer2.java | 16 + .../Preloader_Transformer_Handler.java | 286 + .../preloader/keyboard/BetterKeyboard.java | 132 + 45 files changed, 18338 insertions(+) create mode 100644 src/main/java/gtPlusPlus/preloader/CORE_Preloader.java create mode 100644 src/main/java/gtPlusPlus/preloader/ChunkDebugger.java create mode 100644 src/main/java/gtPlusPlus/preloader/CustomClassLoader.java create mode 100644 src/main/java/gtPlusPlus/preloader/DevHelper.java create mode 100644 src/main/java/gtPlusPlus/preloader/Preloader_GT_OreDict.java create mode 100644 src/main/java/gtPlusPlus/preloader/Preloader_Logger.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/ClassesToTransform.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/Preloader_SetupClass.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/helpers/MethodHelper_CC.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/helpers/MethodHelper_GT.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_CC_GuiContainerManager.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_COFH_OreDictionaryArbiter.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Forge_ChunkLoading.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Forge_EntityLivingBase_SetHealth.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FluidUtil.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FuelLoader.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Achievements.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Achievements_CrashFix.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BaseMetaTileEntity.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_MetaPipeEntity.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_NBT.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_CharcoalPit.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Client.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_EnergyHatchPatch.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_ItemMachines_Tooltip.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_MetaGenerated_Tool.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Packet_TileEntity.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_Utility.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_LWJGL_Keyboard.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Railcraft_FluidCartHandling.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Railcraft_FluidHelper.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_Railcraft_InvTools.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TC_ItemWispEssence.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TT_ThaumicRestorer.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TiConFluids.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java create mode 100644 src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java create mode 100644 src/main/java/gtPlusPlus/preloader/keyboard/BetterKeyboard.java (limited to 'src/main/java/gtPlusPlus/preloader') diff --git a/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java b/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java new file mode 100644 index 0000000000..49209307f7 --- /dev/null +++ b/src/main/java/gtPlusPlus/preloader/CORE_Preloader.java @@ -0,0 +1,33 @@ +package gtPlusPlus.preloader; + +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 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 deps = new ArrayList(); + //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 new file mode 100644 index 0000000000..06964d31fa --- /dev/null +++ b/src/main/java/gtPlusPlus/preloader/ChunkDebugger.java @@ -0,0 +1,54 @@ +package gtPlusPlus.preloader; + +import java.util.LinkedHashMap; +import java.util.Map; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.objects.data.Pair; +import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeChunkManager.Ticket; + +public class ChunkDebugger { + + + public static final Map> mChunkTicketsMap = new LinkedHashMap>(); + public static final Map> mChunksLoadedByModsMap = new LinkedHashMap>(); + + public static void storeTicketToCache(Ticket aTicket, World aWorld) { + mChunkTicketsMap.put(aTicket.hashCode(), new Pair(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(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 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 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 new file mode 100644 index 0000000000..56394c11f0 --- /dev/null +++ b/src/main/java/gtPlusPlus/preloader/CustomClassLoader.java @@ -0,0 +1,57 @@ +package gtPlusPlus.preloader; + +import java.security.AllPermission; +import java.security.CodeSource; +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 classes = new HashMap(); + + @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 diff --git a/src/main/java/gtPlusPlus/preloader/DevHelper.java b/src/main/java/gtPlusPlus/preloader/DevHelper.java new file mode 100644 index 0000000000..70a3c53073 --- /dev/null +++ b/src/main/java/gtPlusPlus/preloader/DevHelper.java @@ -0,0 +1,7139 @@ +package gtPlusPlus.preloader; + +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 synchronized final DevHelper getInstance() { + return mInstance; + } + + public static synchronized final boolean isValidHelperObject() { + return mIsValidHelper; + } + + public static String getSRG(String mForgeName) { + String aSRG = DevHelperInternals.forgeToSrg.get(mForgeName); + return aSRG != null ? aSRG : "BAD_SRG_NAME"; + } + + public static String getForge(String mSrgName) { + String aForgeName = DevHelperInternals.srgToForge.get(mSrgName); + return aForgeName != null ? aForgeName : "BAD_FORGE_NAME"; + } + + public static String getMinecraftClassName(String adeObName, boolean obfuscated) { + if (obfuscated) { + return getObfuscated(adeObName); + } + return adeObName; + } + + 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 getDeobfuscated(String mOb) { + String deobfuscatedClassname = DevHelperInternals.obToDeOb.get(mOb); + return deobfuscatedClassname != null ? deobfuscatedClassname : "BAD_DEOBFUSCATED_CLASS_NAME"; + } + + public static class DevHelperInternals { + public static final Map srgToForge = new HashMap(); + public static final Map forgeToSrg = new HashMap(); + private static WeakAutoMap> mInitMap = new WeakAutoMap>(); + + //Obfuscation + public static final Map obToDeOb = new HashMap(); + public static final Map deObToOb = new HashMap(); + private static WeakAutoMap> mObInitMap = new WeakAutoMap>(); + + private static boolean init() { + init1(); + init2(); + init3(); + init4(); + if (mInitMap.size() > 0) { + for (Pair p : mInitMap) { + if (p != null) { + String srg = p.getKey(); + String forge = p.getValue(); + srgToForge.put(srg, forge); + forgeToSrg.put(forge, srg); + } + } + } + + if (mObInitMap.size() > 0) { + for (Pair 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()); + + 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()); + + 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 aMissingForgeNames = new HashMap(); + HashMap aMissingSrgNames = new HashMap(); + 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.put(aKey1++, aKey); + } + } + } + else if (srgToForge.size() < forgeToSrg.size()) { + Preloader_Logger.INFO("More Forge Keys detected."); + for (String aKey : forgeToSrg.keySet()) { + if (!srgToForge.containsValue(aKey)) { + aMissingForgeNames.put(aKey2++, aKey); + } + } + } + if (!aMissingForgeNames.isEmpty()) { + for (String missingVal : aMissingForgeNames.values()) { + //Preloader_Logger.WARNING("Missing Forge value: "+missingVal); + } + } + if (!aMissingSrgNames.isEmpty()) { + for (String missingVal : aMissingSrgNames.values()) { + //Preloader_Logger.WARNING("Missing SRG value: "+missingVal); + } + } + } + if (obToDeOb.size() != deObToOb.size()) { + int aKey1 = 0; + int aKey2 = 0; + HashMap aMissingObfNames = new HashMap(); + HashMap aMissingDeObfNames = new HashMap(); + Preloader_Logger.INFO("Mismatch between mapped Obfuscated and Deobfuscated names, finding missing values."); + if (obToDeOb.size() > deObToOb.size()) { + Preloader_Logger.INFO("More Obfuscated Keys detected."); + for (String aKey : obToDeOb.keySet()) { + if (!deObToOb.containsValue(aKey)) { + aMissingObfNames.put(aKey1++, aKey); + } + } + } + else if (obToDeOb.size() < deObToOb.size()) { + Preloader_Logger.INFO("More Deobfuscated Keys detected."); + for (String aKey : deObToOb.keySet()) { + if (!obToDeOb.containsValue(aKey)) { + aMissingDeObfNames.put(aKey2++, aKey); + } + } + } + if (!aMissingObfNames.isEmpty()) { + for (String missingVal : aMissingObfNames.values()) { + Preloader_Logger.WARNING("Missing Obfuscated value: "+missingVal); + } + } + if (!aMissingDeObfNames.isEmpty()) { + for (String missingVal : aMissingDeObfNames.values()) { + Preloader_Logger.WARNING("Missing Deobfuscated value: "+missingVal); + } + } + } + } + } + + // return true anyway as some keys will mismatch. + return true; + } + + private static void init1() { + mInitMap.put(new Pair("func_100011_g", "getIsPotionDurationMax")); + mInitMap.put(new Pair("func_100012_b", "setPotionDurationMax")); + mInitMap.put(new Pair("func_100015_a", "isKeyDown")); + mInitMap.put(new Pair("func_102007_a", "canInsertItem")); + mInitMap.put(new Pair("func_102008_b", "canExtractItem")); + mInitMap.put(new Pair("func_104002_bU", "isNoDespawnRequired")); + mInitMap.put(new Pair("func_104055_i", "setForceGamemode")); + mInitMap.put(new Pair("func_104056_am", "getForceGamemode")); + mInitMap.put(new Pair("func_104112_b", "saveExtraData")); + mInitMap.put(new Pair("func_104140_m", "saveChunkData")); + mInitMap.put(new Pair("func_110123_P", "onChunkLoad")); + mInitMap.put(new Pair("func_110124_au", "getUniqueID")); + mInitMap.put(new Pair("func_110125_a", "setParticleIcon")); + mInitMap.put(new Pair("func_110128_b", "onBroken")); + mInitMap.put(new Pair("func_110130_b", "getKnotForBlock")); + mInitMap.put(new Pair("func_110131_b", "removeFrameFromMap")); + mInitMap.put(new Pair("func_110138_aP", "getMaxHealth")); + mInitMap.put(new Pair("func_110139_bj", "getAbsorptionAmount")); + mInitMap.put(new Pair("func_110140_aT", "getAttributeMap")); + mInitMap.put(new Pair("func_110142_aN", "getCombatTracker")); + mInitMap.put(new Pair("func_110143_aJ", "getHealth")); + mInitMap.put(new Pair("func_110144_aD", "getLastAttacker")); + mInitMap.put(new Pair("func_110145_l", "dismountEntity")); + mInitMap.put(new Pair("func_110147_ax", "applyEntityAttributes")); + mInitMap.put(new Pair("func_110148_a", "getEntityAttribute")); + mInitMap.put(new Pair("func_110149_m", "setAbsorptionAmount")); + mInitMap.put(new Pair("func_110159_bB", "updateLeashedState")); + mInitMap.put(new Pair("func_110160_i", "clearLeashed")); + mInitMap.put(new Pair("func_110161_a", "onSpawnWithEgg")); + mInitMap.put(new Pair("func_110162_b", "setLeashedToEntity")); + mInitMap.put(new Pair("func_110163_bv", "enablePersistence")); + mInitMap.put(new Pair("func_110164_bC", "allowLeashing")); + mInitMap.put(new Pair("func_110165_bF", "recreateLeash")); + mInitMap.put(new Pair("func_110166_bE", "getLeashedToEntity")); + mInitMap.put(new Pair("func_110167_bD", "getLeashed")); + mInitMap.put(new Pair("func_110171_b", "setHomeArea")); + mInitMap.put(new Pair("func_110172_bL", "getHomePosition")); + mInitMap.put(new Pair("func_110173_bK", "isWithinHomeDistanceCurrentPosition")); + mInitMap.put(new Pair("func_110174_bM", "getMaximumHomeDistance")); + mInitMap.put(new Pair("func_110175_bO", "hasHome")); + mInitMap.put(new Pair("func_110176_b", "isWithinHomeDistance")); + mInitMap.put(new Pair("func_110177_bN", "detachHome")); + mInitMap.put(new Pair("func_110195_a", "addGrowth")); + mInitMap.put(new Pair("func_110198_t", "increaseTemper")); + mInitMap.put(new Pair("func_110199_f", "openGUI")); + mInitMap.put(new Pair("func_110200_cJ", "canMate")); + mInitMap.put(new Pair("func_110202_bQ", "getHorseVariant")); + mInitMap.put(new Pair("func_110204_cc", "isEatingHaystack")); + mInitMap.put(new Pair("func_110206_u", "setJumpPower")); + mInitMap.put(new Pair("func_110207_m", "setChested")); + mInitMap.put(new Pair("func_110208_b", "setHorseWatchableBoolean")); + mInitMap.put(new Pair("func_110209_cd", "isRearing")); + mInitMap.put(new Pair("func_110212_cp", "getVariantTexturePaths")); + mInitMap.put(new Pair("func_110214_p", "setHorseType")); + mInitMap.put(new Pair("func_110215_cj", "getHorseJumpStrength")); + mInitMap.put(new Pair("func_110216_r", "spawnHorseParticles")); + mInitMap.put(new Pair("func_110217_cl", "getAngrySoundName")); + mInitMap.put(new Pair("func_110218_cm", "getMaxTemper")); + mInitMap.put(new Pair("func_110219_q", "setRearing")); + mInitMap.put(new Pair("func_110220_cK", "makeHorseRear")); + mInitMap.put(new Pair("func_110221_n", "setHasReproduced")); + mInitMap.put(new Pair("func_110222_cv", "isSterile")); + mInitMap.put(new Pair("func_110223_p", "getRearingAmount")); + mInitMap.put(new Pair("func_110224_ci", "dropChests")); + mInitMap.put(new Pair("func_110227_p", "setEatingHaystack")); + mInitMap.put(new Pair("func_110228_bR", "isAdultHorse")); + mInitMap.put(new Pair("func_110229_cs", "canCarryChest")); + mInitMap.put(new Pair("func_110231_cz", "makeHorseRearWithSound")); + mInitMap.put(new Pair("func_110233_w", "getHorseWatchableBoolean")); + mInitMap.put(new Pair("func_110234_j", "setHorseTamed")); + mInitMap.put(new Pair("func_110235_q", "setHorseVariant")); + mInitMap.put(new Pair("func_110238_s", "setTemper")); + mInitMap.put(new Pair("func_110240_a", "dropItemsInChest")); + mInitMap.put(new Pair("func_110243_cf", "getHasReproduced")); + mInitMap.put(new Pair("func_110244_cA", "dropChestItems")); + mInitMap.put(new Pair("func_110246_bZ", "isHorseJumping")); + mInitMap.put(new Pair("func_110247_cG", "setHorseTexturePaths")); + mInitMap.put(new Pair("func_110248_bS", "isTame")); + mInitMap.put(new Pair("func_110249_cI", "openHorseMouth")); + mInitMap.put(new Pair("func_110250_a", "getClosestHorse")); + mInitMap.put(new Pair("func_110251_o", "setHorseSaddled")); + mInitMap.put(new Pair("func_110252_cg", "getTemper")); + mInitMap.put(new Pair("func_110254_bY", "getHorseSize")); + mInitMap.put(new Pair("func_110255_k", "setHorseJumping")); + mInitMap.put(new Pair("func_110256_cu", "isUndead")); + mInitMap.put(new Pair("func_110257_ck", "isHorseSaddled")); + mInitMap.put(new Pair("func_110258_o", "getGrassEatingAmount")); + mInitMap.put(new Pair("func_110259_cr", "canWearArmor")); + mInitMap.put(new Pair("func_110260_d", "getHorseArmorIndex")); + mInitMap.put(new Pair("func_110261_ca", "isChested")); + mInitMap.put(new Pair("func_110262_ch", "prepareChunkForSpawn")); + mInitMap.put(new Pair("func_110263_g", "setTamedBy")); + mInitMap.put(new Pair("func_110264_co", "getHorseTexture")); + mInitMap.put(new Pair("func_110265_bP", "getHorseType")); + mInitMap.put(new Pair("func_110297_a_", "verifySellingItem")); + mInitMap.put(new Pair("func_110298_a", "displayGUIHorse")); + mInitMap.put(new Pair("func_110303_q", "getLocationCape")); + mInitMap.put(new Pair("func_110304_a", "getDownloadImageSkin")); + mInitMap.put(new Pair("func_110306_p", "getLocationSkin")); + mInitMap.put(new Pair("func_110311_f", "getLocationSkin")); + mInitMap.put(new Pair("func_110317_t", "isRidingHorse")); + mInitMap.put(new Pair("func_110318_g", "sendHorseJump")); + mInitMap.put(new Pair("func_110319_bJ", "getHorseJumpPower")); + mInitMap.put(new Pair("func_110322_i", "sendHorseInteraction")); + mInitMap.put(new Pair("func_110326_a", "setRecordPlaying")); + mInitMap.put(new Pair("func_110327_a", "renderIcons")); + mInitMap.put(new Pair("func_110430_a", "setEntityActionState")); + mInitMap.put(new Pair("func_110432_I", "getSession")); + mInitMap.put(new Pair("func_110434_K", "getTextureManager")); + mInitMap.put(new Pair("func_110435_P", "addDefaultResourcePack")); + mInitMap.put(new Pair("func_110436_a", "refreshResources")); + mInitMap.put(new Pair("func_110437_J", "getProxy")); + mInitMap.put(new Pair("func_110438_M", "getResourcePackRepository")); + mInitMap.put(new Pair("func_110441_Q", "updateDisplayMode")); + mInitMap.put(new Pair("func_110442_L", "getResourceManager")); + mInitMap.put(new Pair("func_110454_ao", "getServerProxy")); + mInitMap.put(new Pair("func_110455_j", "getOpPermissionLevel")); + mInitMap.put(new Pair("func_110462_b", "getPackFormat")); + mInitMap.put(new Pair("func_110468_c", "getFrameIndex")); + mInitMap.put(new Pair("func_110469_d", "getFrameTime")); + mInitMap.put(new Pair("func_110470_b", "frameHasTime")); + mInitMap.put(new Pair("func_110471_a", "getFrameHeight")); + mInitMap.put(new Pair("func_110472_a", "getFrameTimeSingle")); + mInitMap.put(new Pair("func_110473_c", "getFrameCount")); + mInitMap.put(new Pair("func_110474_b", "getFrameWidth")); + mInitMap.put(new Pair("func_110479_a", "getTextureBlur")); + mInitMap.put(new Pair("func_110480_b", "getTextureClamp")); + mInitMap.put(new Pair("func_110483_a", "getSectionName")); + mInitMap.put(new Pair("func_110492_a", "parseAnimationFrame")); + mInitMap.put(new Pair("func_110495_a", "hasNoTime")); + mInitMap.put(new Pair("func_110496_c", "getFrameIndex")); + mInitMap.put(new Pair("func_110497_b", "getFrameTime")); + mInitMap.put(new Pair("func_110503_a", "parseMetadataSection")); + mInitMap.put(new Pair("func_110504_a", "registerMetadataSectionType")); + mInitMap.put(new Pair("func_110505_a", "getGson")); + mInitMap.put(new Pair("func_110514_c", "getResourcePack")); + mInitMap.put(new Pair("func_110515_d", "getResourcePackName")); + mInitMap.put(new Pair("func_110516_a", "updateResourcePack")); + mInitMap.put(new Pair("func_110517_b", "closeResourcePack")); + mInitMap.put(new Pair("func_110518_a", "bindTexturePackIcon")); + mInitMap.put(new Pair("func_110519_e", "getTexturePackDescription")); + mInitMap.put(new Pair("func_110526_a", "getMetadata")); + mInitMap.put(new Pair("func_110527_b", "getInputStream")); + mInitMap.put(new Pair("func_110528_c", "hasMetadata")); + mInitMap.put(new Pair("func_110536_a", "getResource")); + mInitMap.put(new Pair("func_110537_b", "getLocationMcmeta")); + mInitMap.put(new Pair("func_110538_a", "addResourcePack")); + mInitMap.put(new Pair("func_110541_a", "reloadResources")); + mInitMap.put(new Pair("func_110542_a", "registerReloadListener")); + mInitMap.put(new Pair("func_110543_a", "clearResources")); + mInitMap.put(new Pair("func_110544_b", "notifyReloadListeners")); + mInitMap.put(new Pair("func_110545_a", "reloadResourcePack")); + mInitMap.put(new Pair("func_110549_a", "onResourceManagerReload")); + mInitMap.put(new Pair("func_110550_d", "tick")); + mInitMap.put(new Pair("func_110551_a", "loadTexture")); + mInitMap.put(new Pair("func_110552_b", "getGlTextureId")); + mInitMap.put(new Pair("func_110564_a", "updateDynamicTexture")); + mInitMap.put(new Pair("func_110565_c", "getTextureData")); + mInitMap.put(new Pair("func_110569_e", "initMissingImage")); + mInitMap.put(new Pair("func_110571_b", "loadTextureAtlas")); + mInitMap.put(new Pair("func_110572_b", "getAtlasSprite")); + mInitMap.put(new Pair("func_110573_f", "registerIcons")); + mInitMap.put(new Pair("func_110577_a", "bindTexture")); + mInitMap.put(new Pair("func_110578_a", "getDynamicTextureLocation")); + mInitMap.put(new Pair("func_110579_a", "loadTexture")); + mInitMap.put(new Pair("func_110580_a", "loadTickableTexture")); + mInitMap.put(new Pair("func_110581_b", "getTexture")); + mInitMap.put(new Pair("func_110586_a", "getPackImage")); + mInitMap.put(new Pair("func_110587_b", "getResourceDomains")); + mInitMap.put(new Pair("func_110589_b", "resourceExists")); + mInitMap.put(new Pair("func_110590_a", "getInputStream")); + mInitMap.put(new Pair("func_110591_a", "getInputStreamByName")); + mInitMap.put(new Pair("func_110592_c", "locationToName")); + mInitMap.put(new Pair("func_110593_b", "hasResourceName")); + mInitMap.put(new Pair("func_110594_c", "logNameNotLowercase")); + mInitMap.put(new Pair("func_110595_a", "getRelativeName")); + mInitMap.put(new Pair("func_110596_a", "readMetadata")); + mInitMap.put(new Pair("func_110599_c", "getResourcePackZipFile")); + mInitMap.put(new Pair("func_110605_c", "getResourceStream")); + mInitMap.put(new Pair("func_110609_b", "getRepositoryEntriesAll")); + mInitMap.put(new Pair("func_110611_a", "updateRepositoryEntriesAll")); + mInitMap.put(new Pair("func_110612_e", "getDirResourcepacks")); + mInitMap.put(new Pair("func_110613_c", "getRepositoryEntries")); + mInitMap.put(new Pair("func_110614_g", "getResourcePackFiles")); + mInitMap.put(new Pair("func_110616_f", "fixDirResourcepacks")); + mInitMap.put(new Pair("func_110623_a", "getResourcePath")); + mInitMap.put(new Pair("func_110624_b", "getResourceDomain")); + mInitMap.put(new Pair("func_110646_a", "getTextWithoutFormattingCodes")); + mInitMap.put(new Pair("func_110647_a", "getOSType")); + mInitMap.put(new Pair("func_110661_a", "parseDouble")); + mInitMap.put(new Pair("func_110662_c", "parseBoolean")); + mInitMap.put(new Pair("func_110664_a", "parseDouble")); + mInitMap.put(new Pair("func_110665_a", "clamp_double")); + mInitMap.put(new Pair("func_110666_a", "clamp_coord")); + mInitMap.put(new Pair("func_110682_a", "setBoxRotation")); + mInitMap.put(new Pair("func_110683_a", "updateHorseRotation")); + mInitMap.put(new Pair("func_110738_j", "isRidingHorse")); + mInitMap.put(new Pair("func_110775_a", "getEntityTexture")); + mInitMap.put(new Pair("func_110776_a", "bindTexture")); + mInitMap.put(new Pair("func_110777_b", "bindEntityTexture")); + mInitMap.put(new Pair("func_110813_b", "canRenderName")); + mInitMap.put(new Pair("func_110934_a", "addSprite")); + mInitMap.put(new Pair("func_110935_a", "getCurrentWidth")); + mInitMap.put(new Pair("func_110936_b", "getCurrentHeight")); + mInitMap.put(new Pair("func_110966_b", "setIconWidth")); + mInitMap.put(new Pair("func_110967_i", "getOriginY")); + mInitMap.put(new Pair("func_110968_a", "setFramesTextureData")); + mInitMap.put(new Pair("func_110969_c", "setIconHeight")); + mInitMap.put(new Pair("func_110970_k", "getFrameCount")); + mInitMap.put(new Pair("func_110971_a", "initSprite")); + mInitMap.put(new Pair("func_110985_a", "updateAnaglyph")); + mInitMap.put(new Pair("func_110986_a", "readImageData")); + mInitMap.put(new Pair("func_110987_a", "uploadTextureImage")); + mInitMap.put(new Pair("func_110988_a", "uploadTexture")); + mInitMap.put(new Pair("func_110989_a", "uploadTextureImageAllocate")); + mInitMap.put(new Pair("func_110990_a", "copyToBuffer")); + mInitMap.put(new Pair("func_110991_a", "allocateTexture")); + mInitMap.put(new Pair("func_110993_a", "uploadTextureImageSubImpl")); + mInitMap.put(new Pair("func_110994_a", "copyToBufferPos")); + mInitMap.put(new Pair("func_110995_a", "uploadTextureImageSub")); + mInitMap.put(new Pair("func_110996_a", "glGenTextures")); + mInitMap.put(new Pair("func_110997_a", "setTextureClamped")); + mInitMap.put(new Pair("func_111108_a", "getAttributeUnlocalizedName")); + mInitMap.put(new Pair("func_111109_a", "clampValue")); + mInitMap.put(new Pair("func_111110_b", "getDefaultValue")); + mInitMap.put(new Pair("func_111111_c", "getShouldWatch")); + mInitMap.put(new Pair("func_111112_a", "setShouldWatch")); + mInitMap.put(new Pair("func_111116_f", "getDescription")); + mInitMap.put(new Pair("func_111117_a", "setDescription")); + mInitMap.put(new Pair("func_111121_a", "applyModifier")); + mInitMap.put(new Pair("func_111123_a", "getAttribute")); + mInitMap.put(new Pair("func_111124_b", "removeModifier")); + mInitMap.put(new Pair("func_111125_b", "getBaseValue")); + mInitMap.put(new Pair("func_111126_e", "getAttributeValue")); + mInitMap.put(new Pair("func_111127_a", "getModifier")); + mInitMap.put(new Pair("func_111128_a", "setBaseValue")); + mInitMap.put(new Pair("func_111129_g", "computeValue")); + mInitMap.put(new Pair("func_111130_a", "getModifiersByOperation")); + mInitMap.put(new Pair("func_111131_f", "flagForUpdate")); + mInitMap.put(new Pair("func_111145_d", "getWatchableObjectFloat")); + mInitMap.put(new Pair("func_111146_a", "getAllAttributes")); + mInitMap.put(new Pair("func_111147_b", "applyAttributeModifiers")); + mInitMap.put(new Pair("func_111148_a", "removeAttributeModifiers")); + mInitMap.put(new Pair("func_111149_a", "addAttributeInstance")); + mInitMap.put(new Pair("func_111150_b", "registerAttribute")); + mInitMap.put(new Pair("func_111151_a", "getAttributeInstance")); + mInitMap.put(new Pair("func_111152_a", "getAttributeInstanceByName")); + mInitMap.put(new Pair("func_111160_c", "getWatchedAttributes")); + mInitMap.put(new Pair("func_111161_b", "getAttributeInstanceSet")); + mInitMap.put(new Pair("func_111164_d", "getAmount")); + mInitMap.put(new Pair("func_111165_e", "isSaved")); + mInitMap.put(new Pair("func_111166_b", "getName")); + mInitMap.put(new Pair("func_111167_a", "getID")); + mInitMap.put(new Pair("func_111168_a", "setSaved")); + mInitMap.put(new Pair("func_111169_c", "getOperation")); + mInitMap.put(new Pair("func_111175_f", "getTargetDistance")); + mInitMap.put(new Pair("func_111184_a", "registerPotionAttributeModifier")); + mInitMap.put(new Pair("func_111185_a", "applyAttributesModifiersToEntity")); + mInitMap.put(new Pair("func_111187_a", "removeAttributesModifiersFromEntity")); + mInitMap.put(new Pair("func_111190_b", "sendMetadataToAllAssociatedPlayers")); + mInitMap.put(new Pair("func_111194_a", "processChunk")); + mInitMap.put(new Pair("func_111196_a", "increaseInhabitedTime")); + mInitMap.put(new Pair("func_111205_h", "getItemAttributeModifiers")); + mInitMap.put(new Pair("func_111206_d", "setTextureName")); + mInitMap.put(new Pair("func_111207_a", "itemInteractionForEntity")); + mInitMap.put(new Pair("func_111208_A", "getIconString")); + mInitMap.put(new Pair("func_111225_m", "getRelevantEnchantmentTypes")); + mInitMap.put(new Pair("func_111229_a", "setRelevantEnchantmentTypes")); + mInitMap.put(new Pair("func_111238_b", "canBeHovered")); + mInitMap.put(new Pair("func_111257_a", "writeBaseAttributeMapToNBT")); + mInitMap.put(new Pair("func_111258_a", "applyModifiersToAttributeInstance")); + mInitMap.put(new Pair("func_111259_a", "readAttributeModifierFromNBT")); + mInitMap.put(new Pair("func_111261_a", "writeAttributeInstanceToNBT")); + mInitMap.put(new Pair("func_111262_a", "writeAttributeModifierToNBT")); + mInitMap.put(new Pair("func_111269_d", "getPathSearchRange")); + mInitMap.put(new Pair("func_111270_a", "union")); + mInitMap.put(new Pair("func_111271_a", "getUnicodePageLocation")); + mInitMap.put(new Pair("func_111272_d", "readFontTexture")); + mInitMap.put(new Pair("func_111282_a", "interactWithEntity")); + mInitMap.put(new Pair("func_111283_C", "getAttributeModifiers")); + mInitMap.put(new Pair("func_111285_a", "getUsername")); + mInitMap.put(new Pair("func_111286_b", "getSessionID")); + mInitMap.put(new Pair("func_120011_ar", "setGuiEnabled")); + mInitMap.put(new Pair("func_120016_a", "createServerGui")); + mInitMap.put(new Pair("func_120018_d", "getLogComponent")); + mInitMap.put(new Pair("func_120019_b", "getStatsComponent")); + mInitMap.put(new Pair("func_120020_c", "getPlayerListComponent")); + mInitMap.put(new Pair("func_130001_d", "getCurrentMoonPhaseFactor")); + mInitMap.put(new Pair("func_130002_c", "interactFirst")); + mInitMap.put(new Pair("func_130010_a", "getOriginX")); + mInitMap.put(new Pair("func_130011_c", "setLastAttacker")); + mInitMap.put(new Pair("func_130014_f_", "getEntityWorld")); + mInitMap.put(new Pair("func_130071_aq", "getCurrentTimeMillis")); + mInitMap.put(new Pair("func_130072_d", "getAnimationFrame")); + mInitMap.put(new Pair("func_130073_e", "getFrameIndexSet")); + mInitMap.put(new Pair("func_130077_b", "getPackName")); + mInitMap.put(new Pair("func_130086_a", "getTextureType")); + mInitMap.put(new Pair("func_130087_a", "getResourceLocation")); + mInitMap.put(new Pair("func_130088_a", "loadTextureMap")); + mInitMap.put(new Pair("func_130098_m", "hasAnimationMetadata")); + mInitMap.put(new Pair("func_130099_d", "allocateFrameTextureData")); + mInitMap.put(new Pair("func_130102_n", "resetSprite")); + mInitMap.put(new Pair("func_130103_l", "clearFramesTextureData")); + mInitMap.put(new Pair("func_130105_g", "getMinecraftStartTimeMillis")); + mInitMap.put(new Pair("func_135016_M", "getLanguageManager")); + mInitMap.put(new Pair("func_135018_a", "getLanguages")); + mInitMap.put(new Pair("func_135021_a", "loadLocaleData")); + mInitMap.put(new Pair("func_135022_a", "loadLocaleDataFiles")); + mInitMap.put(new Pair("func_135023_a", "formatMessage")); + mInitMap.put(new Pair("func_135024_b", "checkUnicode")); + mInitMap.put(new Pair("func_135025_a", "isUnicode")); + mInitMap.put(new Pair("func_135026_c", "translateKeyPrivate")); + mInitMap.put(new Pair("func_135028_a", "loadLocaleData")); + mInitMap.put(new Pair("func_135034_a", "getLanguageCode")); + mInitMap.put(new Pair("func_135035_b", "isBidirectional")); + mInitMap.put(new Pair("func_135040_d", "getLanguages")); + mInitMap.put(new Pair("func_135041_c", "getCurrentLanguage")); + mInitMap.put(new Pair("func_135042_a", "isCurrentLocaleUnicode")); + mInitMap.put(new Pair("func_135043_a", "parseLanguageMetadata")); + mInitMap.put(new Pair("func_135044_b", "isCurrentLanguageBidirectional")); + mInitMap.put(new Pair("func_135045_a", "setCurrentLanguage")); + mInitMap.put(new Pair("func_135051_a", "setLocale")); + mInitMap.put(new Pair("func_135052_a", "format")); + mInitMap.put(new Pair("func_135055_a", "getResourceDomains")); + mInitMap.put(new Pair("func_135056_b", "getAllResources")); + mInitMap.put(new Pair("func_135058_a", "getPackMetadata")); + mInitMap.put(new Pair("func_135063_a", "replaceWith")); + mInitMap.put(new Pair("func_135064_c", "tryTranslateKey")); + mInitMap.put(new Pair("func_140005_i", "switchToRealms")); + mInitMap.put(new Pair("func_142008_O", "shouldSetPosAfterLoading")); + mInitMap.put(new Pair("func_142012_a", "isOnTeam")); + mInitMap.put(new Pair("func_142013_aG", "getLastAttackerTime")); + mInitMap.put(new Pair("func_142014_c", "isOnSameTeam")); + mInitMap.put(new Pair("func_142015_aE", "getRevengeTimer")); + mInitMap.put(new Pair("func_142020_c", "setClientBrand")); + mInitMap.put(new Pair("func_142021_k", "getClientBrand")); + mInitMap.put(new Pair("func_142049_d", "removeAllModifiers")); + mInitMap.put(new Pair("func_142053_d", "formatString")); + mInitMap.put(new Pair("func_142054_a", "isSameTeam")); + mInitMap.put(new Pair("func_143004_u", "markPlayerActive")); + mInitMap.put(new Pair("func_143006_e", "setPlayerIdleTimeout")); + mInitMap.put(new Pair("func_143007_ar", "getMaxPlayerIdleMinutes")); + mInitMap.put(new Pair("func_143011_b", "readStructureFromNBT")); + mInitMap.put(new Pair("func_143012_a", "writeStructureToNBT")); + mInitMap.put(new Pair("func_143016_a", "registerVillagePieces")); + mInitMap.put(new Pair("func_143025_a", "getStructureName")); + mInitMap.put(new Pair("func_143031_a", "registerStructureComponent")); + mInitMap.put(new Pair("func_143034_b", "registerStructure")); + mInitMap.put(new Pair("func_143045_a", "registerScatteredFeaturePieces")); + mInitMap.put(new Pair("func_143046_a", "registerStrongholdPieces")); + mInitMap.put(new Pair("func_143048_a", "registerStructurePieces")); + mInitMap.put(new Pair("func_143049_a", "registerNetherFortressPieces")); + mInitMap.put(new Pair("func_145747_a", "addChatMessage")); + mInitMap.put(new Pair("func_145748_c_", "getFormattedCommandSenderName")); + mInitMap.put(new Pair("func_145749_h", "getLastOutput")); + mInitMap.put(new Pair("func_145752_a", "setCommand")); + mInitMap.put(new Pair("func_145753_i", "getCustomName")); + mInitMap.put(new Pair("func_145758_a", "writeDataToNBT")); + mInitMap.put(new Pair("func_145759_b", "readDataFromNBT")); + mInitMap.put(new Pair("func_145760_g", "getSuccessCount")); + mInitMap.put(new Pair("func_145769_d", "setEntityId")); + mInitMap.put(new Pair("func_145770_h", "isInRangeToRender3d")); + mInitMap.put(new Pair("func_145771_j", "pushOutOfBlocks")); + mInitMap.put(new Pair("func_145772_a", "getExplosionResistance")); + mInitMap.put(new Pair("func_145773_az", "doesEntityNotTriggerPressurePlate")); + mInitMap.put(new Pair("func_145775_I", "doBlockCollisions")); + mInitMap.put(new Pair("func_145776_H", "getSwimSound")); + mInitMap.put(new Pair("func_145777_O", "getSplashSound")); + mInitMap.put(new Pair("func_145778_a", "dropItemWithOffset")); + mInitMap.put(new Pair("func_145779_a", "dropItem")); + mInitMap.put(new Pair("func_145780_a", "playStepSound")); + mInitMap.put(new Pair("func_145782_y", "getEntityId")); + mInitMap.put(new Pair("func_145797_a", "setOwner")); + mInitMap.put(new Pair("func_145798_i", "getOwner")); + mInitMap.put(new Pair("func_145799_b", "setThrower")); + mInitMap.put(new Pair("func_145800_j", "getThrower")); + mInitMap.put(new Pair("func_145805_f", "getBlock")); + mInitMap.put(new Pair("func_145806_a", "setHurtEntities")); + mInitMap.put(new Pair("func_145807_e", "getWorldObj")); + mInitMap.put(new Pair("func_145817_o", "getDefaultDisplayTile")); + mInitMap.put(new Pair("func_145818_k_", "isCustomInventoryName")); + mInitMap.put(new Pair("func_145820_n", "getDisplayTile")); + mInitMap.put(new Pair("func_145825_b", "getInventoryName")); + mInitMap.put(new Pair("func_145826_a", "addMapping")); + mInitMap.put(new Pair("func_145827_c", "createAndLoadEntity")); + mInitMap.put(new Pair("func_145828_a", "addInfoToCrashReport")); + mInitMap.put(new Pair("func_145829_t", "validate")); + mInitMap.put(new Pair("func_145830_o", "hasWorldObj")); + mInitMap.put(new Pair("func_145831_w", "getWorld")); + mInitMap.put(new Pair("func_145832_p", "getBlockMetadata")); + mInitMap.put(new Pair("func_145833_n", "getMaxRenderDistanceSquared")); + mInitMap.put(new Pair("func_145834_a", "setWorldObj")); + mInitMap.put(new Pair("func_145835_a", "getDistanceSq")); + mInitMap.put(new Pair("func_145836_u", "updateContainingBlockInfo")); + mInitMap.put(new Pair("func_145837_r", "isInvalid")); + mInitMap.put(new Pair("func_145838_q", "getBlockType")); + mInitMap.put(new Pair("func_145839_a", "readFromNBT")); + mInitMap.put(new Pair("func_145841_b", "writeToNBT")); + mInitMap.put(new Pair("func_145842_c", "receiveClientEvent")); + mInitMap.put(new Pair("func_145843_s", "invalidate")); + mInitMap.put(new Pair("func_145844_m", "getDescriptionPacket")); + mInitMap.put(new Pair("func_145845_h", "updateEntity")); + mInitMap.put(new Pair("func_145861_a", "getStoredBlockID")); + mInitMap.put(new Pair("func_145864_c", "getPistonOrientation")); + mInitMap.put(new Pair("func_145866_f", "clearPistonTileEntity")); + mInitMap.put(new Pair("func_145867_d", "shouldPistonHeadBeRendered")); + mInitMap.put(new Pair("func_145868_b", "isExtending")); + mInitMap.put(new Pair("func_145877_a", "changePitch")); + mInitMap.put(new Pair("func_145878_a", "triggerNote")); + mInitMap.put(new Pair("func_145888_j", "isOnTransferCooldown")); + mInitMap.put(new Pair("func_145896_c", "setTransferCooldown")); + mInitMap.put(new Pair("func_145903_a", "setSkullRotation")); + mInitMap.put(new Pair("func_145904_a", "getSkullType")); + mInitMap.put(new Pair("func_145906_b", "getSkullRotation")); + mInitMap.put(new Pair("func_145913_a", "setEditable")); + mInitMap.put(new Pair("func_145914_a", "getIsEditable")); + mInitMap.put(new Pair("func_145934_k", "canBrew")); + mInitMap.put(new Pair("func_145935_i", "getBrewTime")); + mInitMap.put(new Pair("func_145938_d", "setBrewTime")); + mInitMap.put(new Pair("func_145939_j", "getFilledSlots")); + mInitMap.put(new Pair("func_145940_l", "brewPotions")); + mInitMap.put(new Pair("func_145948_k", "canSmelt")); + mInitMap.put(new Pair("func_145949_j", "smeltItem")); + mInitMap.put(new Pair("func_145950_i", "isBurning")); + mInitMap.put(new Pair("func_145951_a", "setCustomInventoryName")); + mInitMap.put(new Pair("func_145952_a", "getItemBurnTime")); + mInitMap.put(new Pair("func_145953_d", "getCookProgressScaled")); + mInitMap.put(new Pair("func_145954_b", "isItemFuel")); + mInitMap.put(new Pair("func_145955_e", "getBurnTimeRemainingScaled")); + mInitMap.put(new Pair("func_145965_a", "getFlowerPotItem")); + mInitMap.put(new Pair("func_145966_b", "getFlowerPotData")); + mInitMap.put(new Pair("func_145976_a", "setCustomName")); + mInitMap.put(new Pair("func_145977_a", "isSameTypeChestAt")); + mInitMap.put(new Pair("func_145979_i", "checkForAdjacentChests")); + mInitMap.put(new Pair("func_145980_j", "getChestType")); + mInitMap.put(new Pair("func_145995_a", "setOutputSignal")); + mInitMap.put(new Pair("func_145996_a", "getOutputSignal")); + mInitMap.put(new Pair("func_145998_l", "getLevels")); + mInitMap.put(new Pair("func_146001_d", "setPrimaryEffect")); + mInitMap.put(new Pair("func_146002_i", "shouldBeamRender")); + mInitMap.put(new Pair("func_146004_e", "setSecondaryEffect")); + mInitMap.put(new Pair("func_146006_k", "getSecondaryEffect")); + mInitMap.put(new Pair("func_146007_j", "getPrimaryEffect")); + mInitMap.put(new Pair("func_146023_a", "getStrVsBlock")); + mInitMap.put(new Pair("func_146024_c", "getInventorySlotContainItemAndDamage")); + mInitMap.put(new Pair("func_146026_a", "consumeInventoryItem")); + mInitMap.put(new Pair("func_146027_a", "clearInventory")); + mInitMap.put(new Pair("func_146028_b", "hasItem")); + mInitMap.put(new Pair("func_146029_c", "getInventorySlotContainItem")); + mInitMap.put(new Pair("func_146030_a", "setCurrentItem")); + mInitMap.put(new Pair("func_146031_a", "setChestTileEntity")); + mInitMap.put(new Pair("func_146034_e", "handleHookRetraction")); + mInitMap.put(new Pair("func_146035_c", "handleHookCasting")); + mInitMap.put(new Pair("func_146068_u", "getDropItem")); + mInitMap.put(new Pair("func_146080_bZ", "getCarriedBlock")); + mInitMap.put(new Pair("func_146081_a", "setCarriedBlock")); + mInitMap.put(new Pair("func_146082_f", "setInLove")); + mInitMap.put(new Pair("func_146086_d", "setHorseArmorStack")); + mInitMap.put(new Pair("func_146094_a", "getUUID")); + mInitMap.put(new Pair("func_146096_a", "getBreakSpeed")); + mInitMap.put(new Pair("func_146099_a", "canHarvestBlock")); + mInitMap.put(new Pair("func_146100_a", "displayGUIEditSign")); + mInitMap.put(new Pair("func_146103_bH", "getGameProfile")); + mInitMap.put(new Pair("func_146105_b", "addChatComponentMessage")); + mInitMap.put(new Pair("func_146107_m", "getStatFileWriter")); + mInitMap.put(new Pair("func_146110_a", "drawModalRectWithCustomSizedTexture")); + mInitMap.put(new Pair("func_146111_b", "drawButtonForegroundLayer")); + mInitMap.put(new Pair("func_146112_a", "drawButton")); + mInitMap.put(new Pair("func_146113_a", "playPressSound")); + mInitMap.put(new Pair("func_146114_a", "getHoverState")); + mInitMap.put(new Pair("func_146115_a", "isMouseOver")); + mInitMap.put(new Pair("func_146116_c", "mousePressed")); + mInitMap.put(new Pair("func_146117_b", "getButtonWidth")); + mInitMap.put(new Pair("func_146118_a", "mouseReleased")); + mInitMap.put(new Pair("func_146119_b", "mouseDragged")); + mInitMap.put(new Pair("func_146136_c", "returnEnumOptions")); + mInitMap.put(new Pair("func_146158_b", "getChatGUI")); + mInitMap.put(new Pair("func_146159_a", "drawLabel")); + mInitMap.put(new Pair("func_146160_b", "drawLabelBackground")); + mInitMap.put(new Pair("func_146175_b", "deleteFromCursor")); + mInitMap.put(new Pair("func_146176_q", "getVisible")); + mInitMap.put(new Pair("func_146177_a", "deleteWords")); + mInitMap.put(new Pair("func_146178_a", "updateCursorCounter")); + mInitMap.put(new Pair("func_146179_b", "getText")); + mInitMap.put(new Pair("func_146180_a", "setText")); + mInitMap.put(new Pair("func_146181_i", "getEnableBackgroundDrawing")); + mInitMap.put(new Pair("func_146182_d", "moveCursorBy")); + mInitMap.put(new Pair("func_146183_a", "getNthWordFromPos")); + mInitMap.put(new Pair("func_146184_c", "setEnabled")); + mInitMap.put(new Pair("func_146185_a", "setEnableBackgroundDrawing")); + mInitMap.put(new Pair("func_146186_n", "getSelectionEnd")); + mInitMap.put(new Pair("func_146187_c", "getNthWordFromCursor")); + mInitMap.put(new Pair("func_146188_c", "drawCursorVertical")); + mInitMap.put(new Pair("func_146189_e", "setVisible")); + mInitMap.put(new Pair("func_146190_e", "setCursorPosition")); + mInitMap.put(new Pair("func_146191_b", "writeText")); + mInitMap.put(new Pair("func_146192_a", "mouseClicked")); + mInitMap.put(new Pair("func_146193_g", "setTextColor")); + mInitMap.put(new Pair("func_146194_f", "drawTextBox")); + mInitMap.put(new Pair("func_146195_b", "setFocused")); + mInitMap.put(new Pair("func_146196_d", "setCursorPositionZero")); + mInitMap.put(new Pair("func_146198_h", "getCursorPosition")); + mInitMap.put(new Pair("func_146199_i", "setSelectionPos")); + mInitMap.put(new Pair("func_146200_o", "getWidth")); + mInitMap.put(new Pair("func_146201_a", "textboxKeyTyped")); + mInitMap.put(new Pair("func_146202_e", "setCursorPositionEnd")); + mInitMap.put(new Pair("func_146203_f", "setMaxStringLength")); + mInitMap.put(new Pair("func_146204_h", "setDisabledTextColour")); + mInitMap.put(new Pair("func_146205_d", "setCanLoseFocus")); + mInitMap.put(new Pair("func_146206_l", "isFocused")); + mInitMap.put(new Pair("func_146207_c", "getSelectedText")); + mInitMap.put(new Pair("func_146208_g", "getMaxStringLength")); + mInitMap.put(new Pair("func_146227_a", "printChatMessage")); + mInitMap.put(new Pair("func_146228_f", "getChatWidth")); + mInitMap.put(new Pair("func_146229_b", "scroll")); + mInitMap.put(new Pair("func_146230_a", "drawChat")); + mInitMap.put(new Pair("func_146231_a", "clearChatMessages")); + mInitMap.put(new Pair("func_146232_i", "getLineCount")); + mInitMap.put(new Pair("func_146233_a", "calculateChatboxWidth")); + mInitMap.put(new Pair("func_146234_a", "printChatMessageWithOptionalDeletion")); + mInitMap.put(new Pair("func_146235_b", "formatColors")); + mInitMap.put(new Pair("func_146236_a", "getChatComponent")); + mInitMap.put(new Pair("func_146237_a", "setChatLine")); + mInitMap.put(new Pair("func_146238_c", "getSentMessages")); + mInitMap.put(new Pair("func_146239_a", "addToSentMessages")); + mInitMap.put(new Pair("func_146240_d", "resetScroll")); + mInitMap.put(new Pair("func_146241_e", "getChatOpen")); + mInitMap.put(new Pair("func_146242_c", "deleteChatLine")); + mInitMap.put(new Pair("func_146243_b", "calculateChatboxHeight")); + mInitMap.put(new Pair("func_146244_h", "getChatScale")); + mInitMap.put(new Pair("func_146245_b", "refreshChat")); + mInitMap.put(new Pair("func_146246_g", "getChatHeight")); + mInitMap.put(new Pair("func_146254_a", "updateAchievementWindow")); + mInitMap.put(new Pair("func_146255_b", "displayUnformattedAchievement")); + mInitMap.put(new Pair("func_146256_a", "displayAchievement")); + mIni