aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/preloader/asm
diff options
context:
space:
mode:
authorchochem <40274384+chochem@users.noreply.github.com>2023-06-11 17:52:25 +0100
committerGitHub <noreply@github.com>2023-06-11 18:52:25 +0200
commit807c9ccad181f74384791bc33de932382a528593 (patch)
tree058927c77ee535d92549331dea580b9e1f1409d2 /src/main/java/gtPlusPlus/preloader/asm
parent71fc370acf50189c0f9a1389ec33deb2b66a3a1b (diff)
downloadGT5-Unofficial-807c9ccad181f74384791bc33de932382a528593.tar.gz
GT5-Unofficial-807c9ccad181f74384791bc33de932382a528593.tar.bz2
GT5-Unofficial-807c9ccad181f74384791bc33de932382a528593.zip
Remove broken GC asm (#666)
* remove GC ASM - was broken and disabled anyway * tooltip change was also permanently disabled
Diffstat (limited to 'src/main/java/gtPlusPlus/preloader/asm')
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java10
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/ClassesToTransform.java6
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java798
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FluidUtil.java337
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FuelLoader.java1025
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java19
6 files changed, 0 insertions, 2195 deletions
diff --git a/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java b/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java
index 53aadc1967..35684c267a 100644
--- a/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java
+++ b/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java
@@ -22,7 +22,6 @@ public class AsmConfig {
public static boolean enableGtCharcoalPitFix;
public static boolean enableChunkDebugging;
public static boolean enableCofhPatch;
- public static boolean enableGcFuelChanges;
public static boolean enableTcAspectSafety;
public static boolean enabledLwjglKeybindingFix;
public static boolean enabledFixEntitySetHealth;
@@ -117,14 +116,6 @@ public class AsmConfig {
enableGtCharcoalPitFix = prop.getBoolean(true);
propOrder.add(prop.getName());
- prop = config.get("general", "enableGcFuelChanges", true);
- prop.comment = "Enable/Disable changes to Galacticraft Rocket Fuels.";
- prop.setLanguageKey("gtpp.enableGcFuelChanges").setRequiresMcRestart(true);
- // Disabled because Broken
- // enableGcFuelChanges = prop.getBoolean(true);
- enableGcFuelChanges = false;
- propOrder.add(prop.getName());
-
// TC Aspect Safety
prop = config.get("general", "enableTcAspectSafety", true);
prop.comment = "Fixes small oversights in Thaumcraft 4.";
@@ -142,7 +133,6 @@ public class AsmConfig {
Preloader_Logger.INFO("Gt Nbt Fix - Enabled: " + enableGtNbtFix);
Preloader_Logger.INFO("Gt Tooltip Fix - Enabled: " + enableGtTooltipFix);
Preloader_Logger.INFO("COFH Patch - Enabled: " + enableCofhPatch);
- Preloader_Logger.INFO("Gc Fuel Changes Patch - Enabled: " + enableGcFuelChanges);
Preloader_Logger.INFO("Thaumcraft Aspect Safety Patch - Enabled: " + enableTcAspectSafety);
Preloader_Logger
.INFO("Fix bad usage of EntityLivingBase.setHealth Patch - Enabled: " + enabledFixEntitySetHealth);
diff --git a/src/main/java/gtPlusPlus/preloader/asm/ClassesToTransform.java b/src/main/java/gtPlusPlus/preloader/asm/ClassesToTransform.java
index 55e122587e..d2a03b2522 100644
--- a/src/main/java/gtPlusPlus/preloader/asm/ClassesToTransform.java
+++ b/src/main/java/gtPlusPlus/preloader/asm/ClassesToTransform.java
@@ -12,12 +12,6 @@ public class ClassesToTransform {
public static final String COFH_ORE_DICTIONARY_ARBITER = "cofh.core.util.oredict.OreDictionaryArbiter";
- public static final String TINKERS_FLUID_BLOCK = "tconstruct.smeltery.blocks.TConstructFluid";
-
- public static final String GALACTICRAFT_FLUID_UTILS = "micdoodle8.mods.galacticraft.core.util.FluidUtil";
- public static final String GALACTICRAFT_TILE_ENTITY_FUEL_LOADER = "micdoodle8.mods.galacticraft.core.tile.TileEntityFuelLoader";
- public static final String GALACTICRAFT_ENTITY_AUTO_ROCKET = "micdoodle8.mods.galacticraft.api.prefab.entity.EntityAutoRocket";
-
public static final String THAUMCRAFT_ITEM_WISP_ESSENCE = "thaumcraft.common.items.ItemWispEssence";
public static final String THAUMCRAFT_CRAFTING_MANAGER = "thaumcraft.common.lib.crafting.ThaumcraftCraftingManager";
public static final String THAUMCRAFT_TILE_ALCHEMY_FURNACE = "thaumcraft.common.tiles.TileAlchemyFurnace";
diff --git a/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java b/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java
deleted file mode 100644
index 1e989fd235..0000000000
--- a/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java
+++ /dev/null
@@ -1,798 +0,0 @@
-package gtPlusPlus.preloader.asm.transformers;
-
-import static org.objectweb.asm.Opcodes.ACC_PUBLIC;
-import static org.objectweb.asm.Opcodes.ACONST_NULL;
-import static org.objectweb.asm.Opcodes.ALOAD;
-import static org.objectweb.asm.Opcodes.ANEWARRAY;
-import static org.objectweb.asm.Opcodes.ASM5;
-import static org.objectweb.asm.Opcodes.ASTORE;
-import static org.objectweb.asm.Opcodes.CHECKCAST;
-import static org.objectweb.asm.Opcodes.DDIV;
-import static org.objectweb.asm.Opcodes.DUP;
-import static org.objectweb.asm.Opcodes.F_APPEND;
-import static org.objectweb.asm.Opcodes.F_CHOP;
-import static org.objectweb.asm.Opcodes.F_FULL;
-import static org.objectweb.asm.Opcodes.F_SAME;
-import static org.objectweb.asm.Opcodes.F_SAME1;
-import static org.objectweb.asm.Opcodes.GETFIELD;
-import static org.objectweb.asm.Opcodes.GOTO;
-import static org.objectweb.asm.Opcodes.ICONST_M1;
-import static org.objectweb.asm.Opcodes.IFEQ;
-import static org.objectweb.asm.Opcodes.IFNONNULL;
-import static org.objectweb.asm.Opcodes.IFNULL;
-import static org.objectweb.asm.Opcodes.IF_ICMPEQ;
-import static org.objectweb.asm.Opcodes.IF_ICMPLE;
-import static org.objectweb.asm.Opcodes.IF_ICMPNE;
-import static org.objectweb.asm.Opcodes.ILOAD;
-import static org.objectweb.asm.Opcodes.INSTANCEOF;
-import static org.objectweb.asm.Opcodes.INTEGER;
-import static org.objectweb.asm.Opcodes.INVOKESPECIAL;
-import static org.objectweb.asm.Opcodes.INVOKESTATIC;
-import static org.objectweb.asm.Opcodes.INVOKEVIRTUAL;
-import static org.objectweb.asm.Opcodes.ISTORE;
-import static org.objectweb.asm.Opcodes.NEW;
-import static org.objectweb.asm.Opcodes.PUTFIELD;
-import static org.objectweb.asm.Opcodes.RETURN;
-
-import org.apache.logging.log4j.Level;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-
-import cpw.mods.fml.relauncher.FMLRelaunchLog;
-import gtPlusPlus.preloader.DevHelper;
-
-public class ClassTransformer_GC_EntityAutoRocket {
-
- // The qualified name of the class we plan to transform.
- private static final String className = "micdoodle8.mods.galacticraft.api.prefab.entity.EntityAutoRocket";
- // micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket
-
- private final boolean isValid;
- private final ClassReader reader;
- private final ClassWriter writer;
- private final boolean isObfuscated;
-
- public ClassTransformer_GC_EntityAutoRocket(byte[] basicClass, boolean obfuscated) {
-
- ClassReader aTempReader = null;
- ClassWriter aTempWriter = null;
-
- isObfuscated = obfuscated;
-
- aTempReader = new ClassReader(basicClass);
- aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES);
- aTempReader.accept(new localClassVisitor(aTempWriter), 0);
-
- if (aTempReader != null && aTempWriter != null) {
- isValid = true;
- } else {
- isValid = false;
- }
- reader = aTempReader;
- writer = aTempWriter;
-
- if (reader != null && writer != null) {
- injectMethod();
- } else {
- FMLRelaunchLog
- .log("[GT++ ASM] Galacticraft EntityAutoRocket Patch", Level.INFO, "Failed to Inject new code.");
- }
- }
-
- public boolean isValidTransformer() {
- return isValid;
- }
-
- public ClassReader getReader() {
- return reader;
- }
-
- public ClassWriter getWriter() {
- return writer;
- }
-
- public void injectMethod() {
-
- String aEntityPlayer = isObfuscated ? DevHelper.getObfuscated("net/minecraft/entity/player/EntityPlayer")
- : "net/minecraft/entity/player/EntityPlayer";
- String aEntityPlayerMP = isObfuscated ? DevHelper.getObfuscated("net/minecraft/entity/player/EntityPlayerMP")
- : "net/minecraft/entity/player/EntityPlayerMP";
- String aWorld = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/World")
- : "net/minecraft/world/World";
- String aItemStack = isObfuscated ? DevHelper.getObfuscated("net/minecraft/item/ItemStack")
- : "net/minecraft/item/ItemStack";
- String aEntity = isObfuscated ? DevHelper.getObfuscated("net/minecraft/entity/Entity")
- : "net/minecraft/entity/Entity";
- String aWorldClient = isObfuscated ? DevHelper.getObfuscated("net/minecraft/client/multiplayer/WorldClient")
- : "net/minecraft/client/multiplayer/WorldClient";
- String aDifficultyEnum = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/EnumDifficulty")
- : "net/minecraft/world/EnumDifficulty";
- String aWorldInfo = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/storage/WorldInfo")
- : "net/minecraft/world/storage/WorldInfo";
- String aItemInWorldManager = isObfuscated
- ? DevHelper.getObfuscated("net/minecraft/server/management/ItemInWorldManager")
- : "net/minecraft/server/management/ItemInWorldManager";
- String aWorldType = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/WorldType")
- : "net/minecraft/world/WorldType";
- String aGameType = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/WorldSettings$GameType")
- : "net/minecraft/world/WorldSettings$GameType";
-
- if (isValidTransformer()) {
- FMLRelaunchLog.log(
- "[GT++ ASM] Galacticraft EntityAutoRocket Patch",
- Level.INFO,
- "Injecting decodePacketdata into " + className + ".");
- MethodVisitor mv = getWriter()
- .visitMethod(ACC_PUBLIC, "decodePacketdata", "(Lio/netty/buffer/ByteBuf;)V", null, null);
-
- mv.visitCode();
- Label l0 = new Label();
- mv.visitLabel(l0);
- mv.visitLineNumber(1027, l0);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntitySpaceshipBase",
- "decodePacketdata",
- "(Lio/netty/buffer/ByteBuf;)V",
- false);
- Label l1 = new Label();
- mv.visitLabel(l1);
- mv.visitLineNumber(1029, l1);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "gtPlusPlus/xmod/galacticraft/util/GalacticUtils",
- "getValidFuelForTier",
- "(L" + aEntity + ";)Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitVarInsn(ASTORE, 2);
- Label l2 = new Label();
- mv.visitLabel(l2);
- mv.visitLineNumber(1030, l2);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false);
- mv.visitVarInsn(ISTORE, 3);
- Label l3 = new Label();
- mv.visitLabel(l3);
- mv.visitLineNumber(1031, l3);
- mv.visitVarInsn(ALOAD, 2);
- Label l4 = new Label();
- mv.visitJumpInsn(IFNULL, l4);
- Label l5 = new Label();
- mv.visitLabel(l5);
- mv.visitLineNumber(1032, l5);
- mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 2);
- mv.visitVarInsn(ILOAD, 3);
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "net/minecraftforge/fluids/FluidStack",
- "<init>",
- "(Lnet/minecraftforge/fluids/FluidStack;I)V",
- false);
- mv.visitVarInsn(ASTORE, 4);
- Label l6 = new Label();
- mv.visitLabel(l6);
- mv.visitLineNumber(1033, l6);
- mv.visitVarInsn(ALOAD, 4);
- mv.visitJumpInsn(IFNULL, l4);
- Label l7 = new Label();
- mv.visitLabel(l7);
- mv.visitLineNumber(1034, l7);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitVarInsn(ALOAD, 4);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "setFluid",
- "(Lnet/minecraftforge/fluids/FluidStack;)V",
- false);
- mv.visitLabel(l4);
- mv.visitLineNumber(1038, l4);
- mv.visitFrame(F_APPEND, 2, new Object[] { "net/minecraftforge/fluids/FluidStack", INTEGER }, 0, null);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readBoolean", "()Z", false);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "landing",
- "Z");
- Label l8 = new Label();
- mv.visitLabel(l8);
- mv.visitLineNumber(1039, l8);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "destinationFrequency",
- "I");
- Label l9 = new Label();
- mv.visitLabel(l9);
- mv.visitLineNumber(1041, l9);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readBoolean", "()Z", false);
- Label l10 = new Label();
- mv.visitJumpInsn(IFEQ, l10);
- Label l11 = new Label();
- mv.visitLabel(l11);
- mv.visitLineNumber(1043, l11);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitTypeInsn(NEW, "micdoodle8/mods/galacticraft/api/vector/BlockVec3");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false);
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "micdoodle8/mods/galacticraft/api/vector/BlockVec3",
- "<init>",
- "(III)V",
- false);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "targetVec",
- "Lmicdoodle8/mods/galacticraft/api/vector/BlockVec3;");
- mv.visitLabel(l10);
- mv.visitLineNumber(1046, l10);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false);
- mv.visitLdcInsn(new Double("8000.0"));
- mv.visitInsn(DDIV);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "motionX",
- "D");
- Label l12 = new Label();
- mv.visitLabel(l12);
- mv.visitLineNumber(1047, l12);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false);
- mv.visitLdcInsn(new Double("8000.0"));
- mv.visitInsn(DDIV);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "motionY",
- "D");
- Label l13 = new Label();
- mv.visitLabel(l13);
- mv.visitLineNumber(1048, l13);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false);
- mv.visitLdcInsn(new Double("8000.0"));
- mv.visitInsn(DDIV);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "motionZ",
- "D");
- Label l14 = new Label();
- mv.visitLabel(l14);
- mv.visitLineNumber(1049, l14);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false);
- mv.visitLdcInsn(new Double("8000.0"));
- mv.visitInsn(DDIV);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "lastMotionY",
- "D");
- Label l15 = new Label();
- mv.visitLabel(l15);
- mv.visitLineNumber(1050, l15);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readDouble", "()D", false);
- mv.visitLdcInsn(new Double("8000.0"));
- mv.visitInsn(DDIV);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "lastLastMotionY",
- "D");
- Label l16 = new Label();
- mv.visitLabel(l16);
- mv.visitLineNumber(1052, l16);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "cargoItems",
- "[L" + aItemStack + ";");
- Label l17 = new Label();
- mv.visitJumpInsn(IFNONNULL, l17);
- Label l18 = new Label();
- mv.visitLabel(l18);
- mv.visitLineNumber(1054, l18);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "getSizeInventory",
- "()I",
- false);
- mv.visitTypeInsn(ANEWARRAY, aItemStack);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "cargoItems",
- "[L" + aItemStack + ";");
- mv.visitLabel(l17);
- mv.visitLineNumber(1057, l17);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readBoolean", "()Z", false);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "setWaitForPlayer",
- "(Z)V",
- false);
- Label l19 = new Label();
- mv.visitLabel(l19);
- mv.visitLineNumber(1059, l19);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "cpw/mods/fml/common/network/ByteBufUtils",
- "readUTF8String",
- "(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;",
- false);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusMessage",
- "Ljava/lang/String;");
- Label l20 = new Label();
- mv.visitLabel(l20);
- mv.visitLineNumber(1060, l20);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusMessage",
- "Ljava/lang/String;");
- mv.visitLdcInsn("");
- mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/String", "equals", "(Ljava/lang/Object;)Z", false);
- Label l21 = new Label();
- mv.visitJumpInsn(IFEQ, l21);
- mv.visitInsn(ACONST_NULL);
- Label l22 = new Label();
- mv.visitJumpInsn(GOTO, l22);
- mv.visitLabel(l21);
- mv.visitFrame(
- F_SAME1,
- 0,
- null,
- 1,
- new Object[] { "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket" });
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusMessage",
- "Ljava/lang/String;");
- mv.visitLabel(l22);
- mv.visitFrame(
- F_FULL,
- 4,
- new Object[] { "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "io/netty/buffer/ByteBuf", "net/minecraftforge/fluids/FluidStack", INTEGER },
- 2,
- new Object[] { "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "java/lang/String" });
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusMessage",
- "Ljava/lang/String;");
- Label l23 = new Label();
- mv.visitLabel(l23);
- mv.visitLineNumber(1061, l23);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusMessageCooldown",
- "I");
- Label l24 = new Label();
- mv.visitLabel(l24);
- mv.visitLineNumber(1062, l24);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "lastStatusMessageCooldown",
- "I");
- Label l25 = new Label();
- mv.visitLabel(l25);
- mv.visitLineNumber(1063, l25);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readBoolean", "()Z", false);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusValid",
- "Z");
- Label l26 = new Label();
- mv.visitLabel(l26);
- mv.visitLineNumber(1066, l26);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "worldObj",
- "L" + aWorld + ";");
- mv.visitFieldInsn(GETFIELD, aWorld, "isRemote", "Z");
- Label l27 = new Label();
- mv.visitJumpInsn(IFEQ, l27);
- Label l28 = new Label();
- mv.visitLabel(l28);
- mv.visitLineNumber(1068, l28);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false);
- mv.visitVarInsn(ISTORE, 4);
- Label l29 = new Label();
- mv.visitLabel(l29);
- mv.visitLineNumber(1069, l29);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "riddenByEntity",
- "L" + aEntity + ";");
- Label l30 = new Label();
- mv.visitJumpInsn(IFNONNULL, l30);
- Label l31 = new Label();
- mv.visitLabel(l31);
- mv.visitLineNumber(1071, l31);
- mv.visitVarInsn(ILOAD, 4);
- mv.visitInsn(ICONST_M1);
- mv.visitJumpInsn(IF_ICMPLE, l27);
- Label l32 = new Label();
- mv.visitLabel(l32);
- mv.visitLineNumber(1073, l32);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "cpw/mods/fml/client/FMLClientHandler",
- "instance",
- "()Lcpw/mods/fml/client/FMLClientHandler;",
- false);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "cpw/mods/fml/client/FMLClientHandler",
- "getWorldClient",
- "()L" + aWorldClient + ";",
- false);
- mv.visitVarInsn(ILOAD, 4);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aWorldClient + "", "getEntityByID", "(I)L" + aEntity + ";", false);
- mv.visitVarInsn(ASTORE, 5);
- Label l33 = new Label();
- mv.visitLabel(l33);
- mv.visitLineNumber(1074, l33);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitJumpInsn(IFNULL, l27);
- Label l34 = new Label();
- mv.visitLabel(l34);
- mv.visitLineNumber(1076, l34);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitFieldInsn(GETFIELD, "" + aEntity + "", "dimension", "I");
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "dimension",
- "I");
- Label l35 = new Label();
- mv.visitJumpInsn(IF_ICMPEQ, l35);
- Label l36 = new Label();
- mv.visitLabel(l36);
- mv.visitLineNumber(1078, l36);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitTypeInsn(INSTANCEOF, "" + aEntityPlayer + "");
- mv.visitJumpInsn(IFEQ, l27);
- Label l37 = new Label();
- mv.visitLabel(l37);
- mv.visitLineNumber(1080, l37);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "dimension",
- "I");
- mv.visitVarInsn(ALOAD, 5);
- mv.visitFieldInsn(GETFIELD, "" + aEntity + "", "worldObj", "L" + aWorld + ";");
- mv.visitFieldInsn(GETFIELD, aWorld, "difficultySetting", "L" + aDifficultyEnum + ";");
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aDifficultyEnum + "", "getDifficultyId", "()I", false);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitFieldInsn(GETFIELD, "" + aEntity + "", "worldObj", "L" + aWorld + ";");
- mv.visitMethodInsn(INVOKEVIRTUAL, aWorld, "getWorldInfo", "()L" + aWorldInfo + ";", false);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aWorldInfo + "", "getTerrainType", "()L" + aWorldType + ";", false);
- mv.visitMethodInsn(INVOKEVIRTUAL, aWorldType, "getWorldTypeName", "()Ljava/lang/String;", false);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitTypeInsn(CHECKCAST, "" + aEntityPlayerMP + "");
- mv.visitFieldInsn(
- GETFIELD,
- "" + aEntityPlayerMP + "",
- "theItemInWorldManager",
- "L" + aItemInWorldManager + ";");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "" + aItemInWorldManager + "",
- "getGameType",
- "()L" + aGameType + ";",
- false);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aGameType + "", "getID", "()I", false);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "micdoodle8/mods/galacticraft/core/util/WorldUtil",
- "forceRespawnClient",
- "(IILjava/lang/String;I)L" + aEntityPlayer + ";",
- false);
- mv.visitVarInsn(ASTORE, 5);
- Label l38 = new Label();
- mv.visitLabel(l38);
- mv.visitLineNumber(1081, l38);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aEntity + "", "mountEntity", "(L" + aEntity + ";)V", false);
- Label l39 = new Label();
- mv.visitLabel(l39);
- mv.visitLineNumber(1083, l39);
- mv.visitJumpInsn(GOTO, l27);
- mv.visitLabel(l35);
- mv.visitLineNumber(1085, l35);
- mv.visitFrame(F_APPEND, 2, new Object[] { INTEGER, "" + aEntity + "" }, 0, null);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aEntity + "", "mountEntity", "(L" + aEntity + ";)V", false);
- Label l40 = new Label();
- mv.visitLabel(l40);
- mv.visitLineNumber(1088, l40);
- mv.visitJumpInsn(GOTO, l27);
- mv.visitLabel(l30);
- mv.visitLineNumber(1089, l30);
- mv.visitFrame(F_CHOP, 1, null, 0, null);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "riddenByEntity",
- "L" + aEntity + ";");
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aEntity + "", "getEntityId", "()I", false);
- mv.visitVarInsn(ILOAD, 4);
- mv.visitJumpInsn(IF_ICMPEQ, l27);
- Label l41 = new Label();
- mv.visitLabel(l41);
- mv.visitLineNumber(1091, l41);
- mv.visitVarInsn(ILOAD, 4);
- mv.visitInsn(ICONST_M1);
- Label l42 = new Label();
- mv.visitJumpInsn(IF_ICMPNE, l42);
- Label l43 = new Label();
- mv.visitLabel(l43);
- mv.visitLineNumber(1093, l43);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "riddenByEntity",
- "L" + aEntity + ";");
- mv.visitInsn(ACONST_NULL);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aEntity + "", "mountEntity", "(L" + aEntity + ";)V", false);
- Label l44 = new Label();
- mv.visitLabel(l44);
- mv.visitLineNumber(1094, l44);
- mv.visitJumpInsn(GOTO, l27);
- mv.visitLabel(l42);
- mv.visitLineNumber(1097, l42);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "cpw/mods/fml/client/FMLClientHandler",
- "instance",
- "()Lcpw/mods/fml/client/FMLClientHandler;",
- false);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "cpw/mods/fml/client/FMLClientHandler",
- "getWorldClient",
- "()L" + aWorldClient + ";",
- false);
- mv.visitVarInsn(ILOAD, 4);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aWorldClient + "", "getEntityByID", "(I)L" + aEntity + ";", false);
- mv.visitVarInsn(ASTORE, 5);
- Label l45 = new Label();
- mv.visitLabel(l45);
- mv.visitLineNumber(1098, l45);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitJumpInsn(IFNULL, l27);
- Label l46 = new Label();
- mv.visitLabel(l46);
- mv.visitLineNumber(1100, l46);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitFieldInsn(GETFIELD, "" + aEntity + "", "dimension", "I");
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "dimension",
- "I");
- Label l47 = new Label();
- mv.visitJumpInsn(IF_ICMPEQ, l47);
- Label l48 = new Label();
- mv.visitLabel(l48);
- mv.visitLineNumber(1102, l48);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitTypeInsn(INSTANCEOF, "" + aEntityPlayer + "");
- mv.visitJumpInsn(IFEQ, l27);
- Label l49 = new Label();
- mv.visitLabel(l49);
- mv.visitLineNumber(1104, l49);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "dimension",
- "I");
- mv.visitVarInsn(ALOAD, 5);
- mv.visitFieldInsn(GETFIELD, "" + aEntity + "", "worldObj", "L" + aWorld + ";");
- mv.visitFieldInsn(GETFIELD, aWorld, "difficultySetting", "L" + aDifficultyEnum + ";");
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aDifficultyEnum + "", "getDifficultyId", "()I", false);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitFieldInsn(GETFIELD, "" + aEntity + "", "worldObj", "L" + aWorld + ";");
- mv.visitMethodInsn(INVOKEVIRTUAL, aWorld, "getWorldInfo", "()L" + aWorldInfo + ";", false);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aWorldInfo + "", "getTerrainType", "()L" + aWorldType + ";", false);
- mv.visitMethodInsn(INVOKEVIRTUAL, aWorldType, "getWorldTypeName", "()Ljava/lang/String;", false);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitTypeInsn(CHECKCAST, "" + aEntityPlayerMP + "");
- mv.visitFieldInsn(
- GETFIELD,
- "" + aEntityPlayerMP + "",
- "theItemInWorldManager",
- "L" + aItemInWorldManager + ";");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "" + aItemInWorldManager + "",
- "getGameType",
- "()L" + aGameType + ";",
- false);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aGameType + "", "getID", "()I", false);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "micdoodle8/mods/galacticraft/core/util/WorldUtil",
- "forceRespawnClient",
- "(IILjava/lang/String;I)L" + aEntityPlayer + ";",
- false);
- mv.visitVarInsn(ASTORE, 5);
- Label l50 = new Label();
- mv.visitLabel(l50);
- mv.visitLineNumber(1105, l50);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aEntity + "", "mountEntity", "(L" + aEntity + ";)V", false);
- Label l51 = new Label();
- mv.visitLabel(l51);
- mv.visitLineNumber(1107, l51);
- mv.visitJumpInsn(GOTO, l27);
- mv.visitLabel(l47);
- mv.visitLineNumber(1109, l47);
- mv.visitFrame(F_APPEND, 1, new Object[] { "" + aEntity + "" }, 0, null);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(INVOKEVIRTUAL, "" + aEntity + "", "mountEntity", "(L" + aEntity + ";)V", false);
- mv.visitLabel(l27);
- mv.visitLineNumber(1114, l27);
- mv.visitFrame(F_CHOP, 2, null, 0, null);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "cpw/mods/fml/common/network/ByteBufUtils",
- "readUTF8String",
- "(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;",
- false);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusColour",
- "Ljava/lang/String;");
- Label l52 = new Label();
- mv.visitLabel(l52);
- mv.visitLineNumber(1115, l52);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusColour",
- "Ljava/lang/String;");
- mv.visitLdcInsn("");
- mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/String", "equals", "(Ljava/lang/Object;)Z", false);
- Label l53 = new Label();
- mv.visitJumpInsn(IFEQ, l53);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitInsn(ACONST_NULL);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket",
- "statusColour",
- "Ljava/lang/String;");
- mv.visitLabel(l53);
- mv.visitLineNumber(1116, l53);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitInsn(RETURN);
- Label l54 = new Label();
- mv.visitLabel(l54);
- mv.visitLocalVariable(
- "this",
- "Lmicdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket;",
- null,
- l0,
- l54,
- 0);
- mv.visitLocalVariable("buffer", "Lio/netty/buffer/ByteBuf;", null, l0, l54, 1);
- mv.visitLocalVariable("g", "Lnet/minecraftforge/fluids/FluidStack;", null, l2, l54, 2);
- mv.visitLocalVariable("aBufferData", "I", null, l3, l54, 3);
- mv.visitLocalVariable("s", "Lnet/minecraftforge/fluids/FluidStack;", null, l6, l4, 4);
- mv.visitLocalVariable("shouldBeMountedId", "I", null, l29, l27, 4);
- mv.visitLocalVariable("e", "L" + aEntity + ";", null, l33, l40, 5);
- mv.visitLocalVariable("e", "L" + aEntity + ";", null, l45, l27, 5);
- mv.visitMaxs(6, 6);
- mv.visitEnd();
- }
- }
-
- public static final class localClassVisitor extends ClassVisitor {
-
- public localClassVisitor(ClassVisitor cv) {
- super(ASM5, cv);
- FMLRelaunchLog
- .log("[GT++ ASM] Galacticraft EntityAutoRocket Patch", Level.INFO, "Inspecting Class " + className);
- }
-
- @Override
- public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
- if (name.equals("decodePacketdata")) {
- FMLRelaunchLog
- .log("[GT++ ASM] Galacticraft EntityAutoRocket Patch", Level.INFO, "Removing method " + name);
- return null;
- }
- MethodVisitor methodVisitor = super.visitMethod(access, name, desc, signature, exceptions);
- return methodVisitor;
- }
- }
-}
diff --git a/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FluidUtil.java b/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FluidUtil.java
deleted file mode 100644
index d449e1d4de..0000000000
--- a/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FluidUtil.java
+++ /dev/null
@@ -1,337 +0,0 @@
-package gtPlusPlus.preloader.asm.transformers;
-
-import static org.objectweb.asm.Opcodes.ACC_PUBLIC;
-import static org.objectweb.asm.Opcodes.ACC_STATIC;
-import static org.objectweb.asm.Opcodes.ALOAD;
-import static org.objectweb.asm.Opcodes.ASM5;
-import static org.objectweb.asm.Opcodes.ASTORE;
-import static org.objectweb.asm.Opcodes.CHECKCAST;
-import static org.objectweb.asm.Opcodes.DUP;
-import static org.objectweb.asm.Opcodes.F_CHOP;
-import static org.objectweb.asm.Opcodes.F_FULL;
-import static org.objectweb.asm.Opcodes.F_SAME;
-import static org.objectweb.asm.Opcodes.GETFIELD;
-import static org.objectweb.asm.Opcodes.GETSTATIC;
-import static org.objectweb.asm.Opcodes.GOTO;
-import static org.objectweb.asm.Opcodes.ICONST_0;
-import static org.objectweb.asm.Opcodes.ICONST_1;
-import static org.objectweb.asm.Opcodes.IFEQ;
-import static org.objectweb.asm.Opcodes.IFNE;
-import static org.objectweb.asm.Opcodes.IFNONNULL;
-import static org.objectweb.asm.Opcodes.IFNULL;
-import static org.objectweb.asm.Opcodes.IF_ACMPNE;
-import static org.objectweb.asm.Opcodes.IF_ICMPGE;
-import static org.objectweb.asm.Opcodes.ILOAD;
-import static org.objectweb.asm.Opcodes.INTEGER;
-import static org.objectweb.asm.Opcodes.INVOKEINTERFACE;
-import static org.objectweb.asm.Opcodes.INVOKESPECIAL;
-import static org.objectweb.asm.Opcodes.INVOKESTATIC;
-import static org.objectweb.asm.Opcodes.INVOKEVIRTUAL;
-import static org.objectweb.asm.Opcodes.IRETURN;
-import static org.objectweb.asm.Opcodes.NEW;
-import static org.objectweb.asm.Opcodes.TOP;
-
-import org.apache.logging.log4j.Level;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-
-import cpw.mods.fml.relauncher.FMLRelaunchLog;
-
-public class ClassTransformer_GC_FluidUtil {
-
- // The qualified name of the class we plan to transform.
- private static final String className = "micdoodle8.mods.galacticraft.core.util.FluidUtil";
- // "micdoodle8/mods/galacticraft/core/util/FluidUtil
-
- private final boolean isValid;
- private final ClassReader reader;
- private final ClassWriter writer;
-
- public ClassTransformer_GC_FluidUtil(byte[] basicClass, boolean obfuscated) {
-
- ClassReader aTempReader = null;
- ClassWriter aTempWriter = null;
-
- aTempReader = new ClassReader(basicClass);
- aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES);
- aTempReader.accept(new localClassVisitor(aTempWriter), 0);
-
- if (aTempReader != null && aTempWriter != null) {
- isValid = true;
- } else {
- isValid = false;
- }
- reader = aTempReader;
- writer = aTempWriter;
-
- if (reader != null && writer != null) {
- injectMethod("testFuel");
- injectMethod("fillWithGCFuel");
- }
- }
-
- public boolean isValidTransformer() {
- return isValid;
- }
-
- public ClassReader getReader() {
- return reader;
- }
-
- public ClassWriter getWriter() {
- return writer;
- }
-
- public void injectMethod(String aMethodName) {
- MethodVisitor mv;
- if (aMethodName.equals("testFuel")) {
- FMLRelaunchLog.log(
- "[GT++ ASM] Galacticraft FluidUtils Patch",
- Level.INFO,
- "Injecting " + aMethodName + " into " + className + ".");
- mv = getWriter().visitMethod(ACC_PUBLIC + ACC_STATIC, "testFuel", "(Ljava/lang/String;)Z", null, null);
- mv.visitCode();
- Label l0 = new Label();
- mv.visitLabel(l0);
- mv.visitLineNumber(37, l0);
- mv.visitFieldInsn(
- GETSTATIC,
- "gtPlusPlus/core/item/chemistry/RocketFuels",
- "mValidRocketFuelNames",
- "Ljava/util/HashSet;");
- mv.visitMethodInsn(INVOKEVIRTUAL, "java/util/HashSet", "iterator", "()Ljava/util/Iterator;", false);
- mv.visitVarInsn(ASTORE, 2);
- Label l1 = new Label();
- mv.visitJumpInsn(GOTO, l1);
- Label l2 = new Label();
- mv.visitLabel(l2);
- mv.visitFrame(
- F_FULL,
- 3,
- new Object[] { "java/lang/String", TOP, "java/util/Iterator" },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 2);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "next", "()Ljava/lang/Object;", true);
- mv.visitTypeInsn(CHECKCAST, "java/lang/String");
- mv.visitVarInsn(ASTORE, 1);
- Label l3 = new Label();
- mv.visitLabel(l3);
- mv.visitLineNumber(38, l3);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/String", "equals", "(Ljava/lang/Object;)Z", false);
- mv.visitJumpInsn(IFEQ, l1);
- Label l4 = new Label();
- mv.visitLabel(l4);
- mv.visitLineNumber(39, l4);
- mv.visitInsn(ICONST_1);
- mv.visitInsn(IRETURN);
- mv.visitLabel(l1);
- mv.visitLineNumber(37, l1);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitVarInsn(ALOAD, 2);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "hasNext", "()Z", true);
- mv.visitJumpInsn(IFNE, l2);
- Label l5 = new Label();
- mv.visitLabel(l5);
- mv.visitLineNumber(42, l5);
- mv.visitInsn(ICONST_0);
- mv.visitInsn(IRETURN);
- Label l6 = new Label();
- mv.visitLabel(l6);
- mv.visitLocalVariable("name", "Ljava/lang/String;", null, l0, l6, 0);
- mv.visitLocalVariable("aFuelname", "Ljava/lang/String;", null, l3, l1, 1);
- mv.visitMaxs(2, 3);
- mv.visitEnd();
- } else if (aMethodName.equals("fillWithGCFuel")) {
- mv = getWriter().visitMethod(
- ACC_PUBLIC + ACC_STATIC,
- "fillWithGCFuel",
- "(Lnet/minecraftforge/fluids/FluidTank;Lnet/minecraftforge/fluids/FluidStack;Z)I",
- null,
- null);
- mv.visitCode();
- Label l0 = new Label();
- mv.visitLabel(l0);
- mv.visitLineNumber(46, l0);
- mv.visitVarInsn(ALOAD, 1);
- Label l1 = new Label();
- mv.visitJumpInsn(IFNULL, l1);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "net/minecraftforge/fluids/FluidRegistry",
- "getFluidName",
- "(Lnet/minecraftforge/fluids/FluidStack;)Ljava/lang/String;",
- false);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "micdoodle8/mods/galacticraft/core/util/FluidUtil",
- "testFuel",
- "(Ljava/lang/String;)Z",
- false);
- mv.visitJumpInsn(IFEQ, l1);
- Label l2 = new Label();
- mv.visitLabel(l2);
- mv.visitLineNumber(47, l2);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "getFluid",
- "()Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitVarInsn(ASTORE, 3);
- Label l3 = new Label();
- mv.visitLabel(l3);
- mv.visitLineNumber(48, l3);
- mv.visitVarInsn(ALOAD, 3);
- Label l4 = new Label();
- mv.visitJumpInsn(IFNONNULL, l4);
- Label l5 = new Label();
- mv.visitLabel(l5);
- mv.visitLineNumber(49, l5);
- mv.visitFieldInsn(
- GETSTATIC,
- "gtPlusPlus/core/item/chemistry/RocketFuels",
- "mValidRocketFuels",
- "Ljava/util/HashMap;");
- mv.visitMethodInsn(INVOKEVIRTUAL, "java/util/HashMap", "values", "()Ljava/util/Collection;", false);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Collection", "iterator", "()Ljava/util/Iterator;", true);
- mv.visitVarInsn(ASTORE, 5);
- Label l6 = new Label();
- mv.visitJumpInsn(GOTO, l6);
- Label l7 = new Label();
- mv.visitLabel(l7);
- mv.visitFrame(
- F_FULL,
- 6,
- new Object[] { "net/minecraftforge/fluids/FluidTank", "net/minecraftforge/fluids/FluidStack",
- INTEGER, "net/minecraftforge/fluids/FluidStack", TOP, "java/util/Iterator" },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 5);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "next", "()Ljava/lang/Object;", true);
- mv.visitTypeInsn(CHECKCAST, "net/minecraftforge/fluids/Fluid");
- mv.visitVarInsn(ASTORE, 4);
- Label l8 = new Label();
- mv.visitLabel(l8);
- mv.visitLineNumber(50, l8);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidStack",
- "getFluid",
- "()Lnet/minecraftforge/fluids/Fluid;",
- false);
- mv.visitVarInsn(ALOAD, 4);
- mv.visitJumpInsn(IF_ACMPNE, l6);
- Label l9 = new Label();
- mv.visitLabel(l9);
- mv.visitLineNumber(51, l9);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 4);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "net/minecraftforge/fluids/FluidStack",
- "<init>",
- "(Lnet/minecraftforge/fluids/Fluid;I)V",
- false);
- mv.visitVarInsn(ILOAD, 2);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "fill",
- "(Lnet/minecraftforge/fluids/FluidStack;Z)I",
- false);
- mv.visitInsn(IRETURN);
- mv.visitLabel(l6);
- mv.visitLineNumber(49, l6);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "hasNext", "()Z", true);
- mv.visitJumpInsn(IFNE, l7);
- mv.visitLabel(l4);
- mv.visitLineNumber(55, l4);
- mv.visitFrame(
- F_FULL,
- 4,
- new Object[] { "net/minecraftforge/fluids/FluidTank", "net/minecraftforge/fluids/FluidStack",
- INTEGER, "net/minecraftforge/fluids/FluidStack" },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 3);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(INVOKEVIRTUAL, "net/minecraftforge/fluids/FluidTank", "getCapacity", "()I", false);
- mv.visitJumpInsn(IF_ICMPGE, l1);
- Label l10 = new Label();
- mv.visitLabel(l10);
- mv.visitLineNumber(56, l10);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 3);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "net/minecraftforge/fluids/FluidStack",
- "<init>",
- "(Lnet/minecraftforge/fluids/FluidStack;I)V",
- false);
- mv.visitVarInsn(ILOAD, 2);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "fill",
- "(Lnet/minecraftforge/fluids/FluidStack;Z)I",
- false);
- mv.visitInsn(IRETURN);
- mv.visitLabel(l1);
- mv.visitLineNumber(59, l1);
- mv.visitFrame(F_CHOP, 1, null, 0, null);
- mv.visitInsn(ICONST_0);
- mv.visitInsn(IRETURN);
- Label l11 = new Label();
- mv.visitLabel(l11);
- mv.visitLocalVariable("tank", "Lnet/minecraftforge/fluids/FluidTank;", null, l0, l11, 0);
- mv.visitLocalVariable("liquid", "Lnet/minecraftforge/fluids/FluidStack;", null, l0, l11, 1);
- mv.visitLocalVariable("doFill", "Z", null, l0, l11, 2);
- mv.visitLocalVariable("liquidInTank", "Lnet/minecraftforge/fluids/FluidStack;", null, l3, l1, 3);
- mv.visitLocalVariable("aFuelType", "Lnet/minecraftforge/fluids/Fluid;", null, l8, l6, 4);
- mv.visitMaxs(5, 6);
- mv.visitEnd();
- }
- FMLRelaunchLog.log("[GT++ ASM] Galacticraft FluidUtils Patch", Level.INFO, "Method injection complete.");
- }
-
- public static final class localClassVisitor extends ClassVisitor {
-
- public localClassVisitor(ClassVisitor cv) {
- super(ASM5, cv);
- }
-
- @Override
- public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
- if (name.equals("testFuel")) {
- FMLRelaunchLog.log("[GT++ ASM] Galacticraft FluidUtils Patch", Level.INFO, "Removing method " + name);
- return null;
- }
- if (name.equals("fillWithGCFuel")) {
- FMLRelaunchLog.log("[GT++ ASM] Galacticraft FluidUtils Patch", Level.INFO, "Removing method " + name);
- return null;
- }
- MethodVisitor methodVisitor = super.visitMethod(access, name, desc, signature, exceptions);
- return methodVisitor;
- }
- }
-}
diff --git a/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FuelLoader.java b/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FuelLoader.java
deleted file mode 100644
index e194c6d466..0000000000
--- a/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_FuelLoader.java
+++ /dev/null
@@ -1,1025 +0,0 @@
-package gtPlusPlus.preloader.asm.transformers;
-
-import static org.objectweb.asm.Opcodes.AALOAD;
-import static org.objectweb.asm.Opcodes.AASTORE;
-import static org.objectweb.asm.Opcodes.ACC_PUBLIC;
-import static org.objectweb.asm.Opcodes.ACONST_NULL;
-import static org.objectweb.asm.Opcodes.ALOAD;
-import static org.objectweb.asm.Opcodes.ARRAYLENGTH;
-import static org.objectweb.asm.Opcodes.ASM5;
-import static org.objectweb.asm.Opcodes.ASTORE;
-import static org.objectweb.asm.Opcodes.BIPUSH;
-import static org.objectweb.asm.Opcodes.CHECKCAST;
-import static org.objectweb.asm.Opcodes.DUP;
-import static org.objectweb.asm.Opcodes.F_APPEND;
-import static org.objectweb.asm.Opcodes.F_CHOP;
-import static org.objectweb.asm.Opcodes.F_FULL;
-import static org.objectweb.asm.Opcodes.F_SAME;
-import static org.objectweb.asm.Opcodes.F_SAME1;
-import static org.objectweb.asm.Opcodes.GETFIELD;
-import static org.objectweb.asm.Opcodes.GETSTATIC;
-import static org.objectweb.asm.Opcodes.GOTO;
-import static org.objectweb.asm.Opcodes.IADD;
-import static org.objectweb.asm.Opcodes.ICONST_0;
-import static org.objectweb.asm.Opcodes.ICONST_1;
-import static org.objectweb.asm.Opcodes.ICONST_2;
-import static org.objectweb.asm.Opcodes.IFEQ;
-import static org.objectweb.asm.Opcodes.IFLE;
-import static org.objectweb.asm.Opcodes.IFNE;
-import static org.objectweb.asm.Opcodes.IFNONNULL;
-import static org.objectweb.asm.Opcodes.IFNULL;
-import static org.objectweb.asm.Opcodes.IF_ACMPNE;
-import static org.objectweb.asm.Opcodes.IF_ICMPGE;
-import static org.objectweb.asm.Opcodes.IF_ICMPGT;
-import static org.objectweb.asm.Opcodes.IF_ICMPLT;
-import static org.objectweb.asm.Opcodes.ILOAD;
-import static org.objectweb.asm.Opcodes.INSTANCEOF;
-import static org.objectweb.asm.Opcodes.INTEGER;
-import static org.objectweb.asm.Opcodes.INVOKEINTERFACE;
-import static org.objectweb.asm.Opcodes.INVOKESPECIAL;
-import static org.objectweb.asm.Opcodes.INVOKESTATIC;
-import static org.objectweb.asm.Opcodes.INVOKEVIRTUAL;
-import static org.objectweb.asm.Opcodes.IREM;
-import static org.objectweb.asm.Opcodes.ISTORE;
-import static org.objectweb.asm.Opcodes.ISUB;
-import static org.objectweb.asm.Opcodes.NEW;
-import static org.objectweb.asm.Opcodes.POP;
-import static org.objectweb.asm.Opcodes.PUTFIELD;
-import static org.objectweb.asm.Opcodes.RETURN;
-import static org.objectweb.asm.Opcodes.TOP;
-
-import org.apache.logging.log4j.Level;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodVisitor;
-
-import cpw.mods.fml.relauncher.FMLRelaunchLog;
-import gtPlusPlus.preloader.DevHelper;
-
-public class ClassTransformer_GC_FuelLoader {
-
- // The qualified name of the class we plan to transform.
- private static final String className = "micdoodle8.mods.galacticraft.core.tile.TileEntityFuelLoader";
- // micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader
-
- private final boolean isValid;
- private final ClassReader reader;
- private final ClassWriter writer;
- private final boolean isObfuscated;
-
- public ClassTransformer_GC_FuelLoader(byte[] basicClass, boolean obfuscated) {
-
- ClassReader aTempReader = null;
- ClassWriter aTempWriter = null;
-
- isObfuscated = obfuscated;
-
- aTempReader = new ClassReader(basicClass);
- aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES);
- aTempReader.accept(new localClassVisitor(aTempWriter), 0);
-
- if (aTempReader != null && aTempWriter != null) {
- isValid = true;
- } else {
- isValid = false;
- }
- reader = aTempReader;
- writer = aTempWriter;
-
- if (reader != null && writer != null) {
- injectMethod();
- } else {
- FMLRelaunchLog.log("[GT++ ASM] Galacticraft Fuel_Loader Patch", Level.INFO, "Failed to Inject new code.");
- }
- }
-
- public boolean isValidTransformer() {
- return isValid;
- }
-
- public ClassReader getReader() {
- return reader;
- }
-
- public ClassWriter getWriter() {
- return writer;
- }
-
- public void injectMethod() {
- String aWorld = isObfuscated ? DevHelper.getObfuscated("net/minecraft/world/World")
- : "net/minecraft/world/World";
- String aItemStack = isObfuscated ? DevHelper.getObfuscated("net/minecraft/item/ItemStack")
- : "net/minecraft/item/ItemStack";
- String aTileEntity = isObfuscated ? DevHelper.getObfuscated("net/minecraft/tileentity/TileEntity")
- : "net/minecraft/tileentity/TileEntity";
-
- if (isValidTransformer()) {
- FMLRelaunchLog.log(
- "[GT++ ASM] Galacticraft Fuel_Loader Patch",
- Level.INFO,
- "Injecting updateEntity into " + className + ".");
- MethodVisitor mv = getWriter().visitMethod(ACC_PUBLIC, "updateEntity", "()V", null, null);
- mv.visitCode();
- Label l0 = new Label();
- mv.visitLabel(l0);
- mv.visitLineNumber(60, l0);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "micdoodle8/mods/galacticraft/core/energy/tile/TileBaseElectricBlockWithInventory",
- "updateEntity",
- "()V",
- false);
- Label l1 = new Label();
- mv.visitLabel(l1);
- mv.visitLineNumber(61, l1);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "worldObj",
- "L" + aWorld + ";");
- mv.visitFieldInsn(GETFIELD, "" + aWorld + "", "isRemote", "Z");
- Label l2 = new Label();
- mv.visitJumpInsn(IFNE, l2);
- Label l3 = new Label();
- mv.visitLabel(l3);
- mv.visitLineNumber(62, l3);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitInsn(ICONST_0);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "loadedFuelLastTick",
- "Z");
- Label l4 = new Label();
- mv.visitLabel(l4);
- mv.visitLineNumber(63, l4);
- mv.visitInsn(ACONST_NULL);
- mv.visitVarInsn(ASTORE, 1);
- Label l5 = new Label();
- mv.visitLabel(l5);
- mv.visitLineNumber(66, l5);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "containingItems",
- "[L" + aItemStack + ";");
- mv.visitInsn(ICONST_1);
- mv.visitInsn(AALOAD);
- Label l6 = new Label();
- mv.visitJumpInsn(IFNULL, l6);
- Label l7 = new Label();
- mv.visitLabel(l7);
- mv.visitLineNumber(67, l7);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "containingItems",
- "[L" + aItemStack + ";");
- mv.visitInsn(ICONST_1);
- mv.visitInsn(AALOAD);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "net/minecraftforge/fluids/FluidContainerRegistry",
- "getFluidForFilledItem",
- "(L" + aItemStack + ";)Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitVarInsn(ASTORE, 1);
- Label l8 = new Label();
- mv.visitLabel(l8);
- mv.visitLineNumber(68, l8);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitJumpInsn(IFNULL, l6);
- Label l9 = new Label();
- mv.visitLabel(l9);
- mv.visitLineNumber(69, l9);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "net/minecraftforge/fluids/FluidRegistry",
- "getFluidName",
- "(Lnet/minecraftforge/fluids/FluidStack;)Ljava/lang/String;",
- false);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "micdoodle8/mods/galacticraft/core/util/FluidUtil",
- "testFuel",
- "(Ljava/lang/String;)Z",
- false);
- mv.visitVarInsn(ISTORE, 4);
- Label l10 = new Label();
- mv.visitLabel(l10);
- mv.visitLineNumber(70, l10);
- mv.visitVarInsn(ILOAD, 4);
- mv.visitJumpInsn(IFEQ, l6);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "getFluid",
- "()Lnet/minecraftforge/fluids/FluidStack;",
- false);
- Label l11 = new Label();
- mv.visitJumpInsn(IFNULL, l11);
- Label l12 = new Label();
- mv.visitLabel(l12);
- mv.visitLineNumber(71, l12);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "getFluid",
- "()Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitVarInsn(ALOAD, 1);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitInsn(IADD);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(INVOKEVIRTUAL, "net/minecraftforge/fluids/FluidTank", "getCapacity", "()I", false);
- mv.visitJumpInsn(IF_ICMPGT, l6);
- mv.visitLabel(l11);
- mv.visitLineNumber(73, l11);
- mv.visitFrame(
- F_FULL,
- 5,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, TOP, INTEGER },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "getFluid",
- "()Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitVarInsn(ASTORE, 5);
- Label l13 = new Label();
- mv.visitLabel(l13);
- mv.visitLineNumber(74, l13);
- mv.visitInsn(ICONST_0);
- mv.visitVarInsn(ISTORE, 6);
- Label l14 = new Label();
- mv.visitLabel(l14);
- mv.visitLineNumber(75, l14);
- mv.visitVarInsn(ALOAD, 5);
- Label l15 = new Label();
- mv.visitJumpInsn(IFNONNULL, l15);
- Label l16 = new Label();
- mv.visitLabel(l16);
- mv.visitLineNumber(76, l16);
- mv.visitFieldInsn(
- GETSTATIC,
- "gtPlusPlus/core/item/chemistry/RocketFuels",
- "mValidRocketFuels",
- "Ljava/util/HashMap;");
- Label l17 = new Label();
- mv.visitLabel(l17);
- mv.visitLineNumber(77, l17);
- mv.visitMethodInsn(INVOKEVIRTUAL, "java/util/HashMap", "values", "()Ljava/util/Collection;", false);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Collection", "iterator", "()Ljava/util/Iterator;", true);
- mv.visitVarInsn(ASTORE, 8);
- Label l18 = new Label();
- mv.visitJumpInsn(GOTO, l18);
- Label l19 = new Label();
- mv.visitLabel(l19);
- mv.visitFrame(
- F_FULL,
- 9,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, TOP, INTEGER,
- "net/minecraftforge/fluids/FluidStack", INTEGER, TOP, "java/util/Iterator" },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 8);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "next", "()Ljava/lang/Object;", true);
- mv.visitTypeInsn(CHECKCAST, "net/minecraftforge/fluids/Fluid");
- mv.visitVarInsn(ASTORE, 7);
- Label l20 = new Label();
- mv.visitLabel(l20);
- mv.visitLineNumber(78, l20);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidStack",
- "getFluid",
- "()Lnet/minecraftforge/fluids/Fluid;",
- false);
- mv.visitVarInsn(ALOAD, 7);
- mv.visitJumpInsn(IF_ACMPNE, l18);
- Label l21 = new Label();
- mv.visitLabel(l21);
- mv.visitLineNumber(79, l21);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 7);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "net/minecraftforge/fluids/FluidStack",
- "<init>",
- "(Lnet/minecraftforge/fluids/Fluid;I)V",
- false);
- mv.visitInsn(ICONST_1);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "fill",
- "(Lnet/minecraftforge/fluids/FluidStack;Z)I",
- false);
- Label l22 = new Label();
- mv.visitJumpInsn(IFLE, l22);
- mv.visitInsn(ICONST_1);
- Label l23 = new Label();
- mv.visitJumpInsn(GOTO, l23);
- mv.visitLabel(l22);
- mv.visitFrame(
- F_FULL,
- 9,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, TOP, INTEGER,
- "net/minecraftforge/fluids/FluidStack", INTEGER, "net/minecraftforge/fluids/Fluid",
- "java/util/Iterator" },
- 0,
- new Object[] {});
- mv.visitInsn(ICONST_0);
- mv.visitLabel(l23);
- mv.visitFrame(F_SAME1, 0, null, 1, new Object[] { INTEGER });
- mv.visitVarInsn(ISTORE, 6);
- mv.visitLabel(l18);
- mv.visitLineNumber(76, l18);
- mv.visitFrame(
- F_FULL,
- 9,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, TOP, INTEGER,
- "net/minecraftforge/fluids/FluidStack", INTEGER, TOP, "java/util/Iterator" },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 8);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "hasNext", "()Z", true);
- mv.visitJumpInsn(IFNE, l19);
- Label l24 = new Label();
- mv.visitLabel(l24);
- mv.visitLineNumber(82, l24);
- Label l25 = new Label();
- mv.visitJumpInsn(GOTO, l25);
- mv.visitLabel(l15);
- mv.visitLineNumber(84, l15);
- mv.visitFrame(
- F_FULL,
- 7,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, TOP, INTEGER,
- "net/minecraftforge/fluids/FluidStack", INTEGER },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 5);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(INVOKEVIRTUAL, "net/minecraftforge/fluids/FluidTank", "getCapacity", "()I", false);
- mv.visitJumpInsn(IF_ICMPGE, l25);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidStack",
- "isFluidEqual",
- "(Lnet/minecraftforge/fluids/FluidStack;)Z",
- false);
- mv.visitJumpInsn(IFEQ, l25);
- Label l26 = new Label();
- mv.visitLabel(l26);
- mv.visitLineNumber(85, l26);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "net/minecraftforge/fluids/FluidStack",
- "<init>",
- "(Lnet/minecraftforge/fluids/FluidStack;I)V",
- false);
- mv.visitInsn(ICONST_1);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "fill",
- "(Lnet/minecraftforge/fluids/FluidStack;Z)I",
- false);
- Label l27 = new Label();
- mv.visitJumpInsn(IFLE, l27);
- mv.visitInsn(ICONST_1);
- Label l28 = new Label();
- mv.visitJumpInsn(GOTO, l28);
- mv.visitLabel(l27);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitInsn(ICONST_0);
- mv.visitLabel(l28);
- mv.visitFrame(F_SAME1, 0, null, 1, new Object[] { INTEGER });
- mv.visitVarInsn(ISTORE, 6);
- mv.visitLabel(l25);
- mv.visitLineNumber(88, l25);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitVarInsn(ILOAD, 6);
- mv.visitJumpInsn(IFEQ, l6);
- Label l29 = new Label();
- mv.visitLabel(l29);
- mv.visitLineNumber(89, l29);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "containingItems",
- "[L" + aItemStack + ";");
- mv.visitInsn(ICONST_1);
- mv.visitInsn(AALOAD);
- mv.visitInsn(DUP);
- mv.visitFieldInsn(GETFIELD, "" + aItemStack + "", "stackSize", "I");
- mv.visitInsn(ICONST_1);
- mv.visitInsn(ISUB);
- mv.visitFieldInsn(PUTFIELD, "" + aItemStack + "", "stackSize", "I");
- Label l30 = new Label();
- mv.visitLabel(l30);
- mv.visitLineNumber(90, l30);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "containingItems",
- "[L" + aItemStack + ";");
- mv.visitInsn(ICONST_1);
- mv.visitInsn(AALOAD);
- mv.visitFieldInsn(GETFIELD, "" + aItemStack + "", "stackSize", "I");
- mv.visitJumpInsn(IFNE, l6);
- Label l31 = new Label();
- mv.visitLabel(l31);
- mv.visitLineNumber(91, l31);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "containingItems",
- "[L" + aItemStack + ";");
- mv.visitInsn(ICONST_1);
- mv.visitInsn(ACONST_NULL);
- mv.visitInsn(AASTORE);
- mv.visitLabel(l6);
- mv.visitLineNumber(97, l6);
- mv.visitFrame(
- F_FULL,
- 2,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack" },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader", "ticks", "I");
- mv.visitIntInsn(BIPUSH, 100);
- mv.visitInsn(IREM);
- Label l32 = new Label();
- mv.visitJumpInsn(IFNE, l32);
- Label l33 = new Label();
- mv.visitLabel(l33);
- mv.visitLineNumber(98, l33);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitInsn(ACONST_NULL);
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "attachedFuelable",
- "Lmicdoodle8/mods/galacticraft/api/entity/IFuelable;");
- Label l34 = new Label();
- mv.visitLabel(l34);
- mv.visitLineNumber(99, l34);
- mv.visitFieldInsn(
- GETSTATIC,
- "net/minecraftforge/common/util/ForgeDirection",
- "VALID_DIRECTIONS",
- "[Lnet/minecraftforge/common/util/ForgeDirection;");
- mv.visitVarInsn(ASTORE, 4);
- Label l35 = new Label();
- mv.visitLabel(l35);
- mv.visitLineNumber(100, l35);
- mv.visitVarInsn(ALOAD, 4);
- mv.visitInsn(ARRAYLENGTH);
- mv.visitVarInsn(ISTORE, 3);
- Label l36 = new Label();
- mv.visitLabel(l36);
- mv.visitLineNumber(102, l36);
- mv.visitInsn(ICONST_0);
- mv.visitVarInsn(ISTORE, 2);
- Label l37 = new Label();
- mv.visitLabel(l37);
- Label l38 = new Label();
- mv.visitJumpInsn(GOTO, l38);
- Label l39 = new Label();
- mv.visitLabel(l39);
- mv.visitLineNumber(103, l39);
- mv.visitFrame(
- F_APPEND,
- 3,
- new Object[] { INTEGER, INTEGER, "[Lnet/minecraftforge/common/util/ForgeDirection;" },
- 0,
- null);
- mv.visitVarInsn(ALOAD, 4);
- mv.visitVarInsn(ILOAD, 2);
- mv.visitInsn(AALOAD);
- mv.visitVarInsn(ASTORE, 5);
- Label l40 = new Label();
- mv.visitLabel(l40);
- mv.visitLineNumber(104, l40);
- mv.visitTypeInsn(NEW, "micdoodle8/mods/galacticraft/api/vector/BlockVec3");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "micdoodle8/mods/galacticraft/api/vector/BlockVec3",
- "<init>",
- "(L" + aTileEntity + ";)V",
- false);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "worldObj",
- "L" + aWorld + ";");
- mv.visitVarInsn(ALOAD, 5);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "micdoodle8/mods/galacticraft/api/vector/BlockVec3",
- "getTileEntityOnSide",
- "(L" + aWorld + ";Lnet/minecraftforge/common/util/ForgeDirection;)L" + aTileEntity + ";",
- false);
- mv.visitVarInsn(ASTORE, 6);
- Label l41 = new Label();
- mv.visitLabel(l41);
- mv.visitLineNumber(105, l41);
- mv.visitVarInsn(ALOAD, 6);
- mv.visitTypeInsn(INSTANCEOF, "micdoodle8/mods/galacticraft/core/tile/TileEntityMulti");
- Label l42 = new Label();
- mv.visitJumpInsn(IFEQ, l42);
- Label l43 = new Label();
- mv.visitLabel(l43);
- mv.visitLineNumber(106, l43);
- mv.visitVarInsn(ALOAD, 6);
- mv.visitTypeInsn(CHECKCAST, "micdoodle8/mods/galacticraft/core/tile/TileEntityMulti");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityMulti",
- "getMainBlockTile",
- "()L" + aTileEntity + ";",
- false);
- mv.visitVarInsn(ASTORE, 7);
- Label l44 = new Label();
- mv.visitLabel(l44);
- mv.visitLineNumber(107, l44);
- mv.visitVarInsn(ALOAD, 7);
- mv.visitTypeInsn(INSTANCEOF, "micdoodle8/mods/galacticraft/api/entity/IFuelable");
- Label l45 = new Label();
- mv.visitJumpInsn(IFEQ, l45);
- Label l46 = new Label();
- mv.visitLabel(l46);
- mv.visitLineNumber(108, l46);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 7);
- mv.visitTypeInsn(CHECKCAST, "micdoodle8/mods/galacticraft/api/entity/IFuelable");
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "attachedFuelable",
- "Lmicdoodle8/mods/galacticraft/api/entity/IFuelable;");
- Label l47 = new Label();
- mv.visitLabel(l47);
- mv.visitLineNumber(109, l47);
- mv.visitJumpInsn(GOTO, l32);
- mv.visitLabel(l42);
- mv.visitLineNumber(111, l42);
- mv.visitFrame(
- F_APPEND,
- 2,
- new Object[] { "net/minecraftforge/common/util/ForgeDirection", "" + aTileEntity + "" },
- 0,
- null);
- mv.visitVarInsn(ALOAD, 6);
- mv.visitTypeInsn(INSTANCEOF, "micdoodle8/mods/galacticraft/api/entity/IFuelable");
- mv.visitJumpInsn(IFEQ, l45);
- Label l48 = new Label();
- mv.visitLabel(l48);
- mv.visitLineNumber(112, l48);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ALOAD, 6);
- mv.visitTypeInsn(CHECKCAST, "micdoodle8/mods/galacticraft/api/entity/IFuelable");
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "attachedFuelable",
- "Lmicdoodle8/mods/galacticraft/api/entity/IFuelable;");
- Label l49 = new Label();
- mv.visitLabel(l49);
- mv.visitLineNumber(113, l49);
- mv.visitJumpInsn(GOTO, l32);
- mv.visitLabel(l45);
- mv.visitLineNumber(102, l45);
- mv.visitFrame(F_CHOP, 2, null, 0, null);
- mv.visitIincInsn(2, 1);
- mv.visitLabel(l38);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitVarInsn(ILOAD, 2);
- mv.visitVarInsn(ILOAD, 3);
- mv.visitJumpInsn(IF_ICMPLT, l39);
- mv.visitLabel(l32);
- mv.visitLineNumber(117, l32);
- mv.visitFrame(F_CHOP, 3, null, 0, null);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitJumpInsn(IFNULL, l2);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "getFluid",
- "()Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitJumpInsn(IFNULL, l2);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "getFluid",
- "()Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitJumpInsn(IFLE, l2);
- Label l50 = new Label();
- mv.visitLabel(l50);
- mv.visitLineNumber(118, l50);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "getFluid",
- "()Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitVarInsn(ASTORE, 4);
- Label l51 = new Label();
- mv.visitLabel(l51);
- mv.visitLineNumber(119, l51);
- mv.visitVarInsn(ALOAD, 4);
- Label l52 = new Label();
- mv.visitJumpInsn(IFNONNULL, l52);
- Label l53 = new Label();
- mv.visitLabel(l53);
- mv.visitLineNumber(120, l53);
- mv.visitFieldInsn(
- GETSTATIC,
- "gtPlusPlus/core/item/chemistry/RocketFuels",
- "mValidRocketFuels",
- "Ljava/util/HashMap;");
- mv.visitMethodInsn(INVOKEVIRTUAL, "java/util/HashMap", "values", "()Ljava/util/Collection;", false);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Collection", "iterator", "()Ljava/util/Iterator;", true);
- mv.visitVarInsn(ASTORE, 6);
- Label l54 = new Label();
- mv.visitJumpInsn(GOTO, l54);
- Label l55 = new Label();
- mv.visitLabel(l55);
- mv.visitFrame(
- F_FULL,
- 7,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, TOP, "net/minecraftforge/fluids/FluidStack",
- TOP, "java/util/Iterator" },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 6);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "next", "()Ljava/lang/Object;", true);
- mv.visitTypeInsn(CHECKCAST, "net/minecraftforge/fluids/Fluid");
- mv.visitVarInsn(ASTORE, 5);
- Label l56 = new Label();
- mv.visitLabel(l56);
- mv.visitLineNumber(121, l56);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "getFluid",
- "()Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidStack",
- "getFluid",
- "()Lnet/minecraftforge/fluids/Fluid;",
- false);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitJumpInsn(IF_ACMPNE, l54);
- Label l57 = new Label();
- mv.visitLabel(l57);
- mv.visitLineNumber(122, l57);
- mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 5);
- mv.visitInsn(ICONST_2);
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "net/minecraftforge/fluids/FluidStack",
- "<init>",
- "(Lnet/minecraftforge/fluids/Fluid;I)V",
- false);
- mv.visitVarInsn(ASTORE, 1);
- mv.visitLabel(l54);
- mv.visitLineNumber(120, l54);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitVarInsn(ALOAD, 6);
- mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "hasNext", "()Z", true);
- mv.visitJumpInsn(IFNE, l55);
- mv.visitLabel(l52);
- mv.visitLineNumber(126, l52);
- mv.visitFrame(
- F_FULL,
- 5,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, TOP, "net/minecraftforge/fluids/FluidStack" },
- 0,
- new Object[] {});
- mv.visitVarInsn(ALOAD, 4);
- mv.visitFieldInsn(GETFIELD, "net/minecraftforge/fluids/FluidStack", "amount", "I");
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitMethodInsn(INVOKEVIRTUAL, "net/minecraftforge/fluids/FluidTank", "getCapacity", "()I", false);
- Label l58 = new Label();
- mv.visitJumpInsn(IF_ICMPGE, l58);
- Label l59 = new Label();
- mv.visitLabel(l59);
- mv.visitLineNumber(127, l59);
- mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack");
- mv.visitInsn(DUP);
- mv.visitVarInsn(ALOAD, 4);
- mv.visitInsn(ICONST_2);
- mv.visitMethodInsn(
- INVOKESPECIAL,
- "net/minecraftforge/fluids/FluidStack",
- "<init>",
- "(Lnet/minecraftforge/fluids/FluidStack;I)V",
- false);
- mv.visitVarInsn(ASTORE, 1);
- mv.visitLabel(l58);
- mv.visitLineNumber(130, l58);
- mv.visitFrame(F_SAME, 0, null, 0, null);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitJumpInsn(IFNULL, l2);
- Label l60 = new Label();
- mv.visitLabel(l60);
- mv.visitLineNumber(131, l60);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "attachedFuelable",
- "Lmicdoodle8/mods/galacticraft/api/entity/IFuelable;");
- mv.visitJumpInsn(IFNULL, l2);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "hasEnoughEnergyToRun",
- "Z");
- mv.visitJumpInsn(IFEQ, l2);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader", "disabled", "Z");
- mv.visitJumpInsn(IFNE, l2);
- Label l61 = new Label();
- mv.visitLabel(l61);
- mv.visitLineNumber(132, l61);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "attachedFuelable",
- "Lmicdoodle8/mods/galacticraft/api/entity/IFuelable;");
- mv.visitMethodInsn(
- INVOKESTATIC,
- "gtPlusPlus/xmod/galacticraft/util/GalacticUtils",
- "getRocketTier",
- "(Ljava/lang/Object;)I",
- false);
- mv.visitVarInsn(ISTORE, 5);
- Label l62 = new Label();
- mv.visitLabel(l62);
- mv.visitLineNumber(133, l62);
- mv.visitVarInsn(ILOAD, 5);
- mv.visitJumpInsn(IFLE, l2);
- Label l63 = new Label();
- mv.visitLabel(l63);
- mv.visitLineNumber(134, l63);
- mv.visitVarInsn(ILOAD, 5);
- mv.visitVarInsn(ALOAD, 1);
- mv.visitMethodInsn(
- INVOKESTATIC,
- "gtPlusPlus/xmod/galacticraft/util/GalacticUtils",
- "isFuelValidForTier",
- "(ILnet/minecraftforge/fluids/FluidStack;)Z",
- false);
- mv.visitJumpInsn(IFEQ, l2);
- Label l64 = new Label();
- mv.visitLabel(l64);
- mv.visitLineNumber(135, l64);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "attachedFuelable",
- "Lmicdoodle8/mods/galacticraft/api/entity/IFuelable;");
- mv.visitVarInsn(ALOAD, 1);
- mv.visitInsn(ICONST_1);
- mv.visitMethodInsn(
- INVOKEINTERFACE,
- "micdoodle8/mods/galacticraft/api/entity/IFuelable",
- "addFuel",
- "(Lnet/minecraftforge/fluids/FluidStack;Z)I",
- true);
- mv.visitVarInsn(ISTORE, 3);
- Label l65 = new Label();
- mv.visitLabel(l65);
- mv.visitLineNumber(136, l65);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitVarInsn(ILOAD, 3);
- Label l66 = new Label();
- mv.visitJumpInsn(IFLE, l66);
- mv.visitInsn(ICONST_1);
- Label l67 = new Label();
- mv.visitJumpInsn(GOTO, l67);
- mv.visitLabel(l66);
- mv.visitFrame(
- F_FULL,
- 6,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, INTEGER,
- "net/minecraftforge/fluids/FluidStack", INTEGER },
- 1,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader" });
- mv.visitInsn(ICONST_0);
- mv.visitLabel(l67);
- mv.visitFrame(
- F_FULL,
- 6,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "net/minecraftforge/fluids/FluidStack", TOP, INTEGER,
- "net/minecraftforge/fluids/FluidStack", INTEGER },
- 2,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader", INTEGER });
- mv.visitFieldInsn(
- PUTFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "loadedFuelLastTick",
- "Z");
- Label l68 = new Label();
- mv.visitLabel(l68);
- mv.visitLineNumber(137, l68);
- mv.visitVarInsn(ALOAD, 0);
- mv.visitFieldInsn(
- GETFIELD,
- "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader",
- "fuelTank",
- "Lnet/minecraftforge/fluids/FluidTank;");
- mv.visitVarInsn(ILOAD, 3);
- mv.visitInsn(ICONST_1);
- mv.visitMethodInsn(
- INVOKEVIRTUAL,
- "net/minecraftforge/fluids/FluidTank",
- "drain",
- "(IZ)Lnet/minecraftforge/fluids/FluidStack;",
- false);
- mv.visitInsn(POP);
- mv.visitLabel(l2);
- mv.visitLineNumber(144, l2);
- mv.visitFrame(
- F_FULL,
- 1,
- new Object[] { "micdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader" },
- 0,
- new Object[] {});
- mv.visitInsn(RETURN);
- Label l69 = new Label();
- mv.visitLabel(l69);
- mv.visitLocalVariable(
- "this",
- "Lmicdoodle8/mods/galacticraft/core/tile/TileEntityFuelLoader;",
- null,
- l0,
- l69,
- 0);
- mv.visitLocalVariable("liquid", "Lnet/minecraftforge/fluids/FluidStack;", null, l5, l2, 1);
- mv.visitLocalVariable("amount", "I", null, l37, l32, 2);
- mv.visitLocalVariable("filled", "I", null, l36, l32, 3);
- mv.visitLocalVariable("filled", "I", null, l65, l2, 3);
- mv.visitLocalVariable("isFuel", "Z", null, l10, l6, 4);
- mv.visitLocalVariable("liquidInTank", "Lnet/minecraftforge/fluids/FluidStack;", null, l13, l6, 5);
- mv.visitLocalVariable("didFill", "Z", null, l14, l6, 6);
- mv.visitLocalVariable("aFuelType", "Lnet/minecraftforge/fluids/Fluid;", null, l20, l18, 7);
- mv.visitLocalVariable("var8", "[Lnet/minecraftforge/common/util/ForgeDirection;", null, l35, l32, 4);
- mv.visitLocalVariable("dir", "Lnet/minecraftforge/common/util/ForgeDirection;", null, l40, l45, 5);
- mv.visitLocalVariable("pad", "L" + aTileEntity + ";", null, l41, l45, 6);
- mv.visitLocalVariable("mainTile", "L" + aTileEntity + ";", null, l44, l42, 7);
- mv.visitLocalVariable("liquidInTank", "Lnet/minecraftforge/fluids/FluidStack;", null, l51, l2, 4);
- mv.visitLocalVariable("aFuelType", "Lnet/minecraftforge/fluids/Fluid;", null, l56, l54, 5);
- mv.visitLocalVariable("aTier", "I", null, l62, l2, 5);
- mv.visitMaxs(5, 9);
- mv.visitEnd();
- }
- }
-
- public static final class localClassVisitor extends ClassVisitor {
-
- public localClassVisitor(ClassVisitor cv) {
- super(ASM5, cv);
- FMLRelaunchLog
- .log("[GT++ ASM] Galacticraft Fuel_Loader Patch", Level.INFO, "Inspecting Class " + className);
- }
-
- @Override
- public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
- if (name.equals("updateEntity")) {
- FMLRelaunchLog.log("[GT++ ASM] Galacticraft Fuel_Loader Patch", Level.INFO, "Removing method " + name);
- return null;
- }
-
- MethodVisitor methodVisitor = super.visitMethod(access, name, desc, signature, exceptions);
- return methodVisitor;
- }
- }
-}
diff --git a/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java b/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
index 35ba0a6d46..405a804329 100644
--- a/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
+++ b/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
@@ -3,9 +3,6 @@ package gtPlusPlus.preloader.asm.transformers;
import static gtPlusPlus.preloader.asm.ClassesToTransform.COFH_ORE_DICTIONARY_ARBITER;
import static gtPlusPlus.preloader.asm.ClassesToTransform.FORGE_CHUNK_MANAGER;
import static gtPlusPlus.preloader.asm.ClassesToTransform.FORGE_ORE_DICTIONARY;
-import static gtPlusPlus.preloader.asm.ClassesToTransform.GALACTICRAFT_ENTITY_AUTO_ROCKET;
-import static gtPlusPlus.preloader.asm.ClassesToTransform.GALACTICRAFT_FLUID_UTILS;
-import static gtPlusPlus.preloader.asm.ClassesToTransform.GALACTICRAFT_TILE_ENTITY_FUEL_LOADER;
import static gtPlusPlus.preloader.asm.ClassesToTransform.IC2_BLOCK_BASE_TILE_ENTITY;
import static gtPlusPlus.preloader.asm.ClassesToTransform.IC2_BLOCK_CHARGEPAD;
import static gtPlusPlus.preloader.asm.ClassesToTransform.IC2_BLOCK_ELECTRIC;
@@ -139,22 +136,6 @@ public class Preloader_Transformer_Handler implements IClassTransformer {
return new ClassTransformer_COFH_OreDictionaryArbiter(basicClass).getWriter().toByteArray();
}
- // Fix GC stuff
- if (AsmConfig.enableGcFuelChanges) {
- if (transformedName.equals(GALACTICRAFT_FLUID_UTILS)) {
- Preloader_Logger.INFO("Galacticraft FluidUtils Patch", "Transforming " + transformedName);
- return new ClassTransformer_GC_FluidUtil(basicClass, false).getWriter().toByteArray();
- }
- if (transformedName.equals(GALACTICRAFT_TILE_ENTITY_FUEL_LOADER)) {
- Preloader_Logger.INFO("Galacticraft Fuel_Loader Patch", "Transforming " + transformedName);
- return new ClassTransformer_GC_FuelLoader(basicClass, false).getWriter().toByteArray();
- }
- if (transformedName.equals(GALACTICRAFT_ENTITY_AUTO_ROCKET)) {
- Preloader_Logger.INFO("Galacticraft EntityAutoRocket Patch", "Transforming " + transformedName);
- return new ClassTransformer_GC_EntityAutoRocket(basicClass, false).getWriter().toByteArray();
- }
- }
-
// Fix IC2 Wrench Harvesting
for (String y : IC2_WRENCH_PATCH_CLASS_NAMES) {
if (transformedName.equals(y)) {