aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/preloader/asm/transformers
diff options
context:
space:
mode:
author‭huajijam <strhuaji@gmail.com>2019-04-24 17:26:22 +0800
committer‭huajijam <strhuaji@gmail.com>2019-04-24 17:26:22 +0800
commitde9f7710d6f32af0d941085e1029a106b5bc22ff (patch)
tree71918df2e7294d96a2c3dd81dd02cc4b872fe111 /src/Java/gtPlusPlus/preloader/asm/transformers
parentf004369537bf82a3318f2d315af530944433dac5 (diff)
parentea049ad62ba64a414fccfa5cbb875d72e7e94d00 (diff)
downloadGT5-Unofficial-de9f7710d6f32af0d941085e1029a106b5bc22ff.tar.gz
GT5-Unofficial-de9f7710d6f32af0d941085e1029a106b5bc22ff.tar.bz2
GT5-Unofficial-de9f7710d6f32af0d941085e1029a106b5bc22ff.zip
Automatic synchronization
Diffstat (limited to 'src/Java/gtPlusPlus/preloader/asm/transformers')
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java
index 4bb7ef7d46..59edf8dec0 100644
--- a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java
+++ b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java
@@ -20,7 +20,7 @@ public class ClassTransformer_IC2_Hazmat {
private final ClassWriter writer;
private final String className;
- public boolean hasCompleteHazmat(EntityLivingBase living) {
+ public static boolean hasCompleteHazmat(EntityLivingBase living) {
return HazmatUtils.hasCompleteHazmat(living);
}
@@ -79,11 +79,14 @@ public class ClassTransformer_IC2_Hazmat {
if (isObf) {
aEntityLivingBase = "sv";
}
+ FMLRelaunchLog.log("[GT++ ASM] IC2 Hazmat Patch", Level.INFO, "Method Handler: "+aEntityLivingBase);
FMLRelaunchLog.log("[GT++ ASM] IC2 Hazmat Patch", Level.INFO, "Injecting " + aMethodName + ".");
if (aMethodName.equals("hasCompleteHazmat")) {
- mv = cw.visitMethod(ACC_PUBLIC, "hasCompleteHazmat", "(L"+aEntityLivingBase+";)Z", null, null);
+
+ //Bad Local Variable - https://pastebin.com/TUCfdHqS
+ /*mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "hasCompleteHazmat", "(L"+aEntityLivingBase+";)Z", null, null);
mv.visitCode();
Label l0 = new Label();
mv.visitLabel(l0);
@@ -96,6 +99,21 @@ public class ClassTransformer_IC2_Hazmat {
mv.visitLocalVariable("this", "Lic2/core/item/armor/ItemArmorHazmat;", null, l0, l1, 0);
mv.visitLocalVariable("living", "L"+aEntityLivingBase+";", null, l0, l1, 1);
mv.visitMaxs(1, 2);
+ mv.visitEnd();*/
+
+
+ mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "hasCompleteHazmat", "(L"+aEntityLivingBase+";)Z", null, null);
+ mv.visitCode();
+ Label l0 = new Label();
+ mv.visitLabel(l0);
+ mv.visitLineNumber(24, l0);
+ mv.visitVarInsn(ALOAD, 0);
+ mv.visitMethodInsn(INVOKESTATIC, "gtPlusPlus/core/util/minecraft/HazmatUtils", "hasCompleteHazmat", "(L"+aEntityLivingBase+";)Z", false);
+ mv.visitInsn(IRETURN);
+ Label l1 = new Label();
+ mv.visitLabel(l1);
+ mv.visitLocalVariable("living", "L"+aEntityLivingBase+";", null, l0, l1, 0);
+ mv.visitMaxs(1, 1);
mv.visitEnd();
}
FMLRelaunchLog.log("[GT++ ASM] IC2 Hazmat Patch", Level.INFO, "Method injection complete.");