aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/preloader/asm
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-09-17 11:35:28 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-09-17 11:35:28 +1000
commit1c241ce0c5dfd524dc387b74d1e8de44ff8a5cd8 (patch)
treeff1ce8a6a3f80ff983b4b4d7f28a88071192d60f /src/Java/gtPlusPlus/preloader/asm
parentd97a7ac46781088de352c6998c18c9e91da0200d (diff)
downloadGT5-Unofficial-1c241ce0c5dfd524dc387b74d1e8de44ff8a5cd8.tar.gz
GT5-Unofficial-1c241ce0c5dfd524dc387b74d1e8de44ff8a5cd8.tar.bz2
GT5-Unofficial-1c241ce0c5dfd524dc387b74d1e8de44ff8a5cd8.zip
+ Added the Large Arc Furnace.
% Cleaned up Preloader_Transformer_Handler.java. % Tweaked DevHelper.java.
Diffstat (limited to 'src/Java/gtPlusPlus/preloader/asm')
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java111
1 files changed, 20 insertions, 91 deletions
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
index 525db7e961..ea08c07f48 100644
--- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
+++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
@@ -59,18 +59,12 @@ public class Preloader_Transformer_Handler implements IClassTransformer {
}
// Fix Tinkers Fluids
- if (findMod("TConstruct")) {
if (transformedName.equals("tconstruct.smeltery.blocks.TConstructFluid")) {
FMLRelaunchLog.log("[GT++ ASM] Bright Fluids", Level.INFO, "Transforming %s", transformedName);
return new ClassTransformer_TiConFluids("getLightValue", obfuscated, basicClass).getWriter().toByteArray();
}
- }
- else {
- FMLRelaunchLog.log("[GT++ ASM] Bright Fluids", Level.INFO, "TiCon Bright Fluids ASM not loaded.");
- }
//Fix GC stuff
- if (findMod("GalacticraftCore")) {
if (transformedName.equals("micdoodle8.mods.galacticraft.core.util.FluidUtil")) {
FMLRelaunchLog.log("[GT++ ASM] Galacticraft FluidUtils Patch", Level.INFO, "Transforming %s", transformedName);
return new ClassTransformer_GC_FluidUtil(basicClass).getWriter().toByteArray();
@@ -79,13 +73,25 @@ public class Preloader_Transformer_Handler implements IClassTransformer {
FMLRelaunchLog.log("[GT++ ASM] Galacticraft Fuel_Loader Patch", Level.INFO, "Transforming %s", transformedName);
return new ClassTransformer_GC_FuelLoader(basicClass).getWriter().toByteArray();
}
- }
- else {
- FMLRelaunchLog.log("[GT++ ASM] GC Fuel Patch", Level.INFO, "GC Fuel Loader ASM not loaded.");
- }
-
- //Improve OB Sprinklers
- if (findMod("OpenBlocks-1.7.10")) {
+
+
+ if (mEnabled) {
+ if (transformedName.equals("gregtech.api.metatileentity.BaseMetaTileEntity")) {
+ FMLRelaunchLog.log("[GT++ ASM] NBTFixer", Level.INFO, "Transforming %s", transformedName);
+ ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
+ ClassReader x = new ClassReader(basicClass);
+ x.accept(new GT_MetaTile_Visitor(classWriter, false), ClassReader.EXPAND_FRAMES);
+ return classWriter.toByteArray();
+ }
+ if (transformedName.equals("gregtech.common.blocks.GT_Block_Machines")) {
+ FMLRelaunchLog.log("[GT++ ASM] NBTFixer", Level.INFO, "Transforming %s", transformedName);
+ ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
+ ClassReader x = new ClassReader(basicClass);
+ x.accept(new GT_MetaTile_Visitor(classWriter, true), ClassReader.EXPAND_FRAMES);
+ return classWriter.toByteArray();
+ }
+
+ //Improve OB Sprinklers
if (transformedName.equals("openblocks.common.tileentity.TileEntitySprinkler")) {
FMLRelaunchLog.log("[GT++ ASM] OpenBlocks Sprinkler Patch", Level.INFO, "Transforming %s", transformedName);
/*try {
@@ -109,86 +115,9 @@ public class Preloader_Transformer_Handler implements IClassTransformer {
e.printStackTrace();
}*/
return new ClassTransformer_OB_Sprinkler(obfuscated, basicClass).getWriter().toByteArray();
- }
- }
- else {
- FMLRelaunchLog.log("[GT++ ASM] OpenBlocks Sprinkler Patch", Level.INFO, "OpenBlocks Sprinkler ASM not loaded.");
- }
-
- if (mEnabled) {
- if (transformedName.equals("gregtech.api.metatileentity.BaseMetaTileEntity")) {
- FMLRelaunchLog.log("[GT++ ASM] NBTFixer", Level.INFO, "Transforming %s", transformedName);
- ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
- ClassReader x = new ClassReader(basicClass);
- x.accept(new GT_MetaTile_Visitor(classWriter, false), ClassReader.EXPAND_FRAMES);
- return classWriter.toByteArray();
- }
- if (transformedName.equals("gregtech.common.blocks.GT_Block_Machines")) {
- FMLRelaunchLog.log("[GT++ ASM] NBTFixer", Level.INFO, "Transforming %s", transformedName);
- ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
- ClassReader x = new ClassReader(basicClass);
- x.accept(new GT_MetaTile_Visitor(classWriter, true), ClassReader.EXPAND_FRAMES);
- return classWriter.toByteArray();
}
}
return basicClass;
}
-
- public static boolean findMod(final String aModName) {
-
- /*File mMods = new File(Launch.minecraftHome, "mods");
- if (mMods.isDirectory()) {
- for (File modFile : mMods.listFiles()) {
- if (modFile != null && modFile.getName().toLowerCase().contains(aModName.toLowerCase())) {
- FMLRelaunchLog.log("[GT++ ASM]", Level.INFO, "Found "+aModName);
- return true;
- }
- else {
- //FMLRelaunchLog.log("[GT++ ASM]", Level.INFO, "Found mod: "+modFile.getName());
- }
- }
- } */
- boolean exists = true;
- return exists;
- }
-
- public byte[] toByteArray(String aClassName) throws IOException {
- return Launch.classLoader.getClassBytes(aClassName);
- }
-
- public static class GetBytecode implements ClassFileTransformer {
- private static Instrumentation inst;
-
- public static synchronized void agentmain(String args, Instrumentation inst) {
- GetBytecode.inst = inst;
- }
-
- public static synchronized void premain(String args, Instrumentation inst) {
- GetBytecode.inst = inst;
- }
-
- public static synchronized byte[] getClassFile(Class cls) throws UnmodifiableClassException {
- Instrumentation inst = GetBytecode.inst;
- if (inst == null) {
- throw new IllegalStateException("Agent has not been loaded");
- }
-
- GetBytecode transformer = new GetBytecode();
- inst.addTransformer(transformer, true);
- inst.retransformClasses(cls);
- inst.removeTransformer(transformer);
- return transformer.classFile;
- }
-
- private byte[] classFile;
-
- @Override
- public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined,
- ProtectionDomain pd, byte[] classFile) throws IllegalClassFormatException {
- if (classBeingRedefined != null) {
- this.classFile = classFile;
- }
- return null;
- }
- }
+
}