diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-24 12:54:34 +0100 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-24 12:54:34 +0100 |
commit | 6dcd02dadeacc93d3aec7343ca320da0dd036e9b (patch) | |
tree | 652183c03c8ca586513570605a60447c09c2d6d7 /src/Java/gtPlusPlus/preloader | |
parent | f32d154550c102e32a24fcda5970b8119d9d97f2 (diff) | |
download | GT5-Unofficial-6dcd02dadeacc93d3aec7343ca320da0dd036e9b.tar.gz GT5-Unofficial-6dcd02dadeacc93d3aec7343ca320da0dd036e9b.tar.bz2 GT5-Unofficial-6dcd02dadeacc93d3aec7343ca320da0dd036e9b.zip |
+ Added 2 more planets to HD10180.
$ Fixed GC Packet Decoding ASM.
Diffstat (limited to 'src/Java/gtPlusPlus/preloader')
-rw-r--r-- | src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java | 465 |
1 files changed, 242 insertions, 223 deletions
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java index 0e43d8a1b9..5cc6bb8aa9 100644 --- a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java +++ b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GC_EntityAutoRocket.java @@ -67,7 +67,7 @@ public class ClassTransformer_GC_EntityAutoRocket { } 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"; @@ -77,11 +77,13 @@ public class ClassTransformer_GC_EntityAutoRocket { 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); @@ -91,52 +93,67 @@ public class ClassTransformer_GC_EntityAutoRocket { 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(1028, l1); - mv.visitTypeInsn(NEW, "net/minecraftforge/fluids/FluidStack"); - mv.visitInsn(DUP); + 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(ALOAD, 1); - mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); - mv.visitMethodInsn(INVOKESPECIAL, "net/minecraftforge/fluids/FluidStack", "<init>", "(Lnet/minecraftforge/fluids/FluidStack;I)V", false); mv.visitVarInsn(ASTORE, 2); Label l2 = new Label(); mv.visitLabel(l2); - mv.visitLineNumber(1029, l2); - mv.visitVarInsn(ALOAD, 2); + 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.visitJumpInsn(IFNULL, l3); + mv.visitLabel(l3); + mv.visitLineNumber(1031, l3); + mv.visitVarInsn(ALOAD, 2); Label l4 = new Label(); - mv.visitLabel(l4); - mv.visitLineNumber(1030, l4); + 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, 2); + mv.visitVarInsn(ALOAD, 4); mv.visitMethodInsn(INVOKEVIRTUAL, "net/minecraftforge/fluids/FluidTank", "setFluid", "(Lnet/minecraftforge/fluids/FluidStack;)V", false); - mv.visitLabel(l3); - mv.visitLineNumber(1032, l3); - mv.visitFrame(F_APPEND,1, new Object[] {"net/minecraftforge/fluids/FluidStack"}, 0, null); + 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 l5 = new Label(); - mv.visitLabel(l5); - mv.visitLineNumber(1033, l5); + 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 l6 = new Label(); - mv.visitLabel(l6); - mv.visitLineNumber(1035, l6); + 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 l7 = new Label(); - mv.visitJumpInsn(IFEQ, l7); - Label l8 = new Label(); - mv.visitLabel(l8); - mv.visitLineNumber(1037, l8); + 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); @@ -148,8 +165,8 @@ public class ClassTransformer_GC_EntityAutoRocket { 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(l7); - mv.visitLineNumber(1040, l7); + mv.visitLabel(l10); + mv.visitLineNumber(1046, l10); mv.visitFrame(F_SAME, 0, null, 0, null); mv.visitVarInsn(ALOAD, 0); mv.visitVarInsn(ALOAD, 1); @@ -157,333 +174,335 @@ public class ClassTransformer_GC_EntityAutoRocket { mv.visitLdcInsn(new Double("8000.0")); mv.visitInsn(DDIV); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "motionX", "D"); - Label l9 = new Label(); - mv.visitLabel(l9); - mv.visitLineNumber(1041, l9); + 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 l10 = new Label(); - mv.visitLabel(l10); - mv.visitLineNumber(1042, l10); + 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 l11 = new Label(); - mv.visitLabel(l11); - mv.visitLineNumber(1043, l11); + 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 l12 = new Label(); - mv.visitLabel(l12); - mv.visitLineNumber(1044, l12); + 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 l13 = new Label(); - mv.visitLabel(l13); - mv.visitLineNumber(1046, l13); + 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 l14 = new Label(); - mv.visitJumpInsn(IFNONNULL, l14); - Label l15 = new Label(); - mv.visitLabel(l15); - mv.visitLineNumber(1048, l15); + 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.visitTypeInsn(ANEWARRAY, aItemStack); mv.visitFieldInsn(PUTFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "cargoItems", "[L"+aItemStack+";"); - mv.visitLabel(l14); - mv.visitLineNumber(1051, l14); + 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 l16 = new Label(); - mv.visitLabel(l16); - mv.visitLineNumber(1053, l16); + 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 l17 = new Label(); - mv.visitLabel(l17); - mv.visitLineNumber(1054, l17); + 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 l18 = new Label(); - mv.visitJumpInsn(IFEQ, l18); + Label l21 = new Label(); + mv.visitJumpInsn(IFEQ, l21); mv.visitInsn(ACONST_NULL); - Label l19 = new Label(); - mv.visitJumpInsn(GOTO, l19); - mv.visitLabel(l18); + 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(l19); - mv.visitFrame(F_FULL, 3, new Object[] {"micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "io/netty/buffer/ByteBuf", "net/minecraftforge/fluids/FluidStack"}, 2, new Object[] {"micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "java/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 l20 = new Label(); - mv.visitLabel(l20); - mv.visitLineNumber(1055, l20); + 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 l21 = new Label(); - mv.visitLabel(l21); - mv.visitLineNumber(1056, l21); + 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 l22 = new Label(); - mv.visitLabel(l22); - mv.visitLineNumber(1057, l22); + 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 l23 = new Label(); - mv.visitLabel(l23); - mv.visitLineNumber(1060, l23); - mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "worldObj", "L"+aWorld+";"); - mv.visitFieldInsn(GETFIELD, ""+aWorld+"", "isRemote", "Z"); - Label l24 = new Label(); - mv.visitJumpInsn(IFEQ, l24); - Label l25 = new Label(); - mv.visitLabel(l25); - mv.visitLineNumber(1062, l25); - mv.visitVarInsn(ALOAD, 1); - mv.visitMethodInsn(INVOKEVIRTUAL, "io/netty/buffer/ByteBuf", "readInt", "()I", false); - mv.visitVarInsn(ISTORE, 3); Label l26 = new Label(); mv.visitLabel(l26); - mv.visitLineNumber(1063, l26); + mv.visitLineNumber(1066, l26); mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "riddenByEntity", "L"+aEntity+";"); + 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(IFNONNULL, l27); + mv.visitJumpInsn(IFEQ, l27); Label l28 = new Label(); mv.visitLabel(l28); - mv.visitLineNumber(1065, l28); - mv.visitVarInsn(ILOAD, 3); - mv.visitInsn(ICONST_M1); - mv.visitJumpInsn(IF_ICMPLE, l24); + 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(1067, l29); - 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, 3); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldClient+"", "getEntityByID", "(I)L"+aEntity+";", false); - mv.visitVarInsn(ASTORE, 4); + 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.visitLabel(l30); - mv.visitLineNumber(1068, l30); - mv.visitVarInsn(ALOAD, 4); - mv.visitJumpInsn(IFNULL, l24); + mv.visitJumpInsn(IFNONNULL, l30); Label l31 = new Label(); mv.visitLabel(l31); - mv.visitLineNumber(1070, l31); - mv.visitVarInsn(ALOAD, 4); - mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "dimension", "I"); - mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "dimension", "I"); + mv.visitLineNumber(1071, l31); + mv.visitVarInsn(ILOAD, 4); + mv.visitInsn(ICONST_M1); + mv.visitJumpInsn(IF_ICMPLE, l27); Label l32 = new Label(); - mv.visitJumpInsn(IF_ICMPEQ, l32); + 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(1072, l33); - mv.visitVarInsn(ALOAD, 4); - mv.visitTypeInsn(INSTANCEOF, ""+aEntityPlayer+""); - mv.visitJumpInsn(IFEQ, l24); + mv.visitLineNumber(1074, l33); + mv.visitVarInsn(ALOAD, 5); + mv.visitJumpInsn(IFNULL, l27); Label l34 = new Label(); mv.visitLabel(l34); - mv.visitLineNumber(1074, 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"); - mv.visitVarInsn(ALOAD, 4); + 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.visitFieldInsn(GETFIELD, aWorld, "difficultySetting", "L"+aDifficultyEnum+";"); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aDifficultyEnum+"", "getDifficultyId", "()I", false); - mv.visitVarInsn(ALOAD, 4); + 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"+aWorld+"Type;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"Type", "getWorldTypeName", "()Ljava/lang/String;", false); - mv.visitVarInsn(ALOAD, 4); + 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"+aWorld+"Settings$GameType;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"Settings$GameType", "getID", "()I", false); + 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, 4); - Label l35 = new Label(); - mv.visitLabel(l35); - mv.visitLineNumber(1075, l35); - mv.visitVarInsn(ALOAD, 4); + 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 l36 = new Label(); - mv.visitLabel(l36); - mv.visitLineNumber(1077, l36); - mv.visitJumpInsn(GOTO, l24); - mv.visitLabel(l32); - mv.visitLineNumber(1079, l32); + 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, 4); + mv.visitVarInsn(ALOAD, 5); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aEntity+"", "mountEntity", "(L"+aEntity+";)V", false); - Label l37 = new Label(); - mv.visitLabel(l37); - mv.visitLineNumber(1082, l37); - mv.visitJumpInsn(GOTO, l24); - mv.visitLabel(l27); - mv.visitLineNumber(1083, l27); + 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, 3); - mv.visitJumpInsn(IF_ICMPEQ, l24); - Label l38 = new Label(); - mv.visitLabel(l38); - mv.visitLineNumber(1085, l38); - mv.visitVarInsn(ILOAD, 3); + 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 l39 = new Label(); - mv.visitJumpInsn(IF_ICMPNE, l39); - Label l40 = new Label(); - mv.visitLabel(l40); - mv.visitLineNumber(1087, l40); + 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 l41 = new Label(); - mv.visitLabel(l41); - mv.visitLineNumber(1088, l41); - mv.visitJumpInsn(GOTO, l24); - mv.visitLabel(l39); - mv.visitLineNumber(1091, l39); + 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, 3); + mv.visitVarInsn(ILOAD, 4); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorldClient+"", "getEntityByID", "(I)L"+aEntity+";", false); - mv.visitVarInsn(ASTORE, 4); - Label l42 = new Label(); - mv.visitLabel(l42); - mv.visitLineNumber(1092, l42); - mv.visitVarInsn(ALOAD, 4); - mv.visitJumpInsn(IFNULL, l24); - Label l43 = new Label(); - mv.visitLabel(l43); - mv.visitLineNumber(1094, l43); - mv.visitVarInsn(ALOAD, 4); - mv.visitFieldInsn(GETFIELD, ""+aEntity+"", "dimension", "I"); - mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "micdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket", "dimension", "I"); - Label l44 = new Label(); - mv.visitJumpInsn(IF_ICMPEQ, l44); + mv.visitVarInsn(ASTORE, 5); Label l45 = new Label(); mv.visitLabel(l45); - mv.visitLineNumber(1096, l45); - mv.visitVarInsn(ALOAD, 4); - mv.visitTypeInsn(INSTANCEOF, ""+aEntityPlayer+""); - mv.visitJumpInsn(IFEQ, l24); + mv.visitLineNumber(1098, l45); + mv.visitVarInsn(ALOAD, 5); + mv.visitJumpInsn(IFNULL, l27); Label l46 = new Label(); mv.visitLabel(l46); - mv.visitLineNumber(1098, 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"); - mv.visitVarInsn(ALOAD, 4); + 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.visitFieldInsn(GETFIELD, aWorld, "difficultySetting", "L"+aDifficultyEnum+";"); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aDifficultyEnum+"", "getDifficultyId", "()I", false); - mv.visitVarInsn(ALOAD, 4); + 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"+aWorld+"Type;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"Type", "getWorldTypeName", "()Ljava/lang/String;", false); - mv.visitVarInsn(ALOAD, 4); + 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"+aWorld+"Settings$GameType;", false); - mv.visitMethodInsn(INVOKEVIRTUAL, ""+aWorld+"Settings$GameType", "getID", "()I", false); + 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, 4); - Label l47 = new Label(); - mv.visitLabel(l47); - mv.visitLineNumber(1099, l47); - mv.visitVarInsn(ALOAD, 4); + 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 l48 = new Label(); - mv.visitLabel(l48); - mv.visitLineNumber(1101, l48); - mv.visitJumpInsn(GOTO, l24); - mv.visitLabel(l44); - mv.visitLineNumber(1103, l44); + 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, 4); + mv.visitVarInsn(ALOAD, 5); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKEVIRTUAL, ""+aEntity+"", "mountEntity", "(L"+aEntity+";)V", false); - mv.visitLabel(l24); - mv.visitLineNumber(1108, l24); + 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 l49 = new Label(); - mv.visitLabel(l49); - mv.visitLineNumber(1109, l49); + 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 l50 = new Label(); - mv.visitJumpInsn(IFEQ, l50); + 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(l50); - mv.visitLineNumber(1110, l50); + mv.visitLabel(l53); + mv.visitLineNumber(1116, l53); mv.visitFrame(F_SAME, 0, null, 0, null); mv.visitInsn(RETURN); - Label l51 = new Label(); - mv.visitLabel(l51); - mv.visitLocalVariable("this", "Lmicdoodle8/mods/galacticraft/api/prefab/entity/EntityAutoRocket;", null, l0, l51, 0); - mv.visitLocalVariable("buffer", "Lio/netty/buffer/ByteBuf;", null, l0, l51, 1); - mv.visitLocalVariable("s", "Lnet/minecraftforge/fluids/FluidStack;", null, l2, l51, 2); - mv.visitLocalVariable("shouldBeMountedId", "I", null, l26, l24, 3); - mv.visitLocalVariable("e", "L"+aEntity+";", null, l30, l37, 4); - mv.visitLocalVariable("e", "L"+aEntity+";", null, l42, l24, 4); - mv.visitMaxs(6, 5); + 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(); - + } } |