From 593313aadbe6c71feffe86514b06f1b47aec06f7 Mon Sep 17 00:00:00 2001 From: Kogepan229 Date: Fri, 19 Dec 2025 19:13:33 +0900 Subject: [PATCH] Remove unnecessary transformer --- gradle.properties | 2 +- .../glodblock/github/api/FluidCraftAPI.java | 2 +- .../gui/container/ContainerLevelTerminal.java | 2 +- .../github/coremod/FCClassTransformer.java | 53 ----------- .../github/coremod/FluidCraftCore.java | 48 ---------- .../github/coremod/hooker/CoreModHooks.java | 28 ------ .../coremod/hooker/CoreModHooksClient.java | 9 -- .../transform/GuiCraftingTransformer.java | 58 ------------ .../coremod/transform/NEITransformer.java | 93 ------------------- .../LevelTerminalRegistry.java | 2 +- 10 files changed, 4 insertions(+), 293 deletions(-) delete mode 100644 src/main/java/com/glodblock/github/coremod/FCClassTransformer.java delete mode 100644 src/main/java/com/glodblock/github/coremod/FluidCraftCore.java delete mode 100644 src/main/java/com/glodblock/github/coremod/hooker/CoreModHooks.java delete mode 100644 src/main/java/com/glodblock/github/coremod/hooker/CoreModHooksClient.java delete mode 100644 src/main/java/com/glodblock/github/coremod/transform/GuiCraftingTransformer.java delete mode 100644 src/main/java/com/glodblock/github/coremod/transform/NEITransformer.java rename src/main/java/com/glodblock/github/{coremod/registries => util}/LevelTerminalRegistry.java (97%) diff --git a/gradle.properties b/gradle.properties index b7f8f5bc..a6c8f1d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -104,7 +104,7 @@ mixinsPackage = # Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin! # This parameter is for legacy compatibility only # Example value: (coreModClass = asm.FMLPlugin) + (modGroup = com.myname.mymodid) -> com.myname.mymodid.asm.FMLPlugin -coreModClass = coremod.FluidCraftCore +coreModClass = # If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod ( = some class # that is annotated with @Mod) you want this to be true. When in doubt: leave it on false! diff --git a/src/main/java/com/glodblock/github/api/FluidCraftAPI.java b/src/main/java/com/glodblock/github/api/FluidCraftAPI.java index 00396424..b8dcd2c6 100644 --- a/src/main/java/com/glodblock/github/api/FluidCraftAPI.java +++ b/src/main/java/com/glodblock/github/api/FluidCraftAPI.java @@ -6,7 +6,7 @@ import java.util.Set; import net.minecraftforge.fluids.Fluid; import com.glodblock.github.api.registries.ILevelTerminalRegistry; -import com.glodblock.github.coremod.registries.LevelTerminalRegistry; +import com.glodblock.github.util.LevelTerminalRegistry; public final class FluidCraftAPI implements IFluidCraftAPI { diff --git a/src/main/java/com/glodblock/github/client/gui/container/ContainerLevelTerminal.java b/src/main/java/com/glodblock/github/client/gui/container/ContainerLevelTerminal.java index bd83b674..af21b1c2 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/ContainerLevelTerminal.java +++ b/src/main/java/com/glodblock/github/client/gui/container/ContainerLevelTerminal.java @@ -16,12 +16,12 @@ import org.jetbrains.annotations.Nullable; import com.glodblock.github.FluidCraft; import com.glodblock.github.client.gui.container.base.FCBaseContainer; import com.glodblock.github.common.parts.PartLevelTerminal; -import com.glodblock.github.coremod.registries.LevelTerminalRegistry; import com.glodblock.github.inventory.gui.GuiType; import com.glodblock.github.inventory.item.IWirelessTerminal; import com.glodblock.github.loader.ItemAndBlockHolder; import com.glodblock.github.network.SPacketLevelTerminalUpdate; import com.glodblock.github.util.FluidPrimaryGui; +import com.glodblock.github.util.LevelTerminalRegistry; import appeng.api.features.ILevelViewable; import appeng.api.features.LevelItemInfo; diff --git a/src/main/java/com/glodblock/github/coremod/FCClassTransformer.java b/src/main/java/com/glodblock/github/coremod/FCClassTransformer.java deleted file mode 100644 index 99add6c3..00000000 --- a/src/main/java/com/glodblock/github/coremod/FCClassTransformer.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.glodblock.github.coremod; - -import net.minecraft.launchwrapper.IClassTransformer; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.ClassWriter; - -import com.glodblock.github.coremod.transform.GuiCraftingTransformer; -import com.glodblock.github.coremod.transform.NEITransformer; -import com.gtnewhorizon.gtnhlib.asm.ASMUtil; - -public class FCClassTransformer implements IClassTransformer { - - private static final Logger logger = LogManager.getLogger("ASM AE2FC"); - - @Override - public byte[] transform(String name, String transformedName, byte[] basicClass) { - ClassMapper tform; - switch (transformedName) { - case "appeng.client.gui.implementations.GuiCraftingCPU", "appeng.client.gui.implementations.GuiCraftConfirm", "net.p455w0rd.wirelesscraftingterminal.client.gui.GuiCraftConfirm", "appeng.client.gui.widgets.GuiCraftingTree" -> tform = GuiCraftingTransformer.INSTANCE; - case "appeng.integration.modules.NEI" -> tform = NEITransformer.INSTANCE; - default -> { - return basicClass; - } - } - logger.debug("Transforming class: " + transformedName); - final byte[] bytes = tform.transformClass(basicClass); - if (FluidCraftCore.DUMP_CLASSES()) { - ASMUtil.saveAsRawClassFile(basicClass, transformedName + "_PRE", this); - ASMUtil.saveAsRawClassFile(bytes, transformedName + "_POST", this); - } - return bytes; - } - - public abstract static class ClassMapper { - - public final byte[] transformClass(byte[] code) { - ClassReader reader = new ClassReader(code); - ClassWriter writer = new ClassWriter(reader, getWriteFlags()); - reader.accept(getClassMapper(writer), ClassReader.EXPAND_FRAMES); - return writer.toByteArray(); - } - - protected int getWriteFlags() { - return 0; - } - - protected abstract ClassVisitor getClassMapper(ClassVisitor downstream); - } -} diff --git a/src/main/java/com/glodblock/github/coremod/FluidCraftCore.java b/src/main/java/com/glodblock/github/coremod/FluidCraftCore.java deleted file mode 100644 index 6f9b97a9..00000000 --- a/src/main/java/com/glodblock/github/coremod/FluidCraftCore.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.glodblock.github.coremod; - -import java.util.Map; - -import javax.annotation.Nullable; - -import cpw.mods.fml.relauncher.IFMLLoadingPlugin; - -@IFMLLoadingPlugin.Name("FluidCraftCore") -@IFMLLoadingPlugin.MCVersion("1.7.10") -@IFMLLoadingPlugin.TransformerExclusions("com.glodblock.github.coremod") -public class FluidCraftCore implements IFMLLoadingPlugin { - - private static final boolean DUMP_CLASSES = Boolean.parseBoolean(System.getProperty("ae2fc.dumpClass", "false")); - private static boolean OBF_ENV; - - @Override - public String[] getASMTransformerClass() { - return new String[] { FCClassTransformer.class.getName() }; - } - - @Nullable - @Override - public String getModContainerClass() { - return null; - } - - @Nullable - @Override - public String getSetupClass() { - return null; - } - - @Override - public void injectData(Map data) { - OBF_ENV = (boolean) data.get("runtimeDeobfuscationEnabled"); - } - - @Nullable - @Override - public String getAccessTransformerClass() { - return null; - } - - public static boolean DUMP_CLASSES() { - return DUMP_CLASSES || !OBF_ENV; - } -} diff --git a/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooks.java b/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooks.java deleted file mode 100644 index 7a98dd7b..00000000 --- a/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooks.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.glodblock.github.coremod.hooker; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import com.glodblock.github.common.item.ItemFluidDrop; -import com.glodblock.github.common.item.ItemFluidPacket; - -import appeng.api.storage.data.IAEItemStack; -import appeng.client.gui.IGuiTooltipHandler; - -public class CoreModHooks { - - public static ItemStack displayFluid(IAEItemStack aeStack) { - if (aeStack.getItemStack() != null && aeStack.getItemStack().getItem() instanceof ItemFluidDrop) { - FluidStack fluid = ItemFluidDrop.getFluidStack(aeStack.getItemStack()); - return ItemFluidPacket.newDisplayStack(fluid); - } else return aeStack.getItemStack(); - } - - public static ItemStack getStackUnderMouse(GuiContainer gui, int mousex, int mousey) { - if (gui instanceof IGuiTooltipHandler guiTooltipHandler) { - return guiTooltipHandler.getHoveredStack(); - } - return null; - } -} diff --git a/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooksClient.java b/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooksClient.java deleted file mode 100644 index bf94e47f..00000000 --- a/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooksClient.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.glodblock.github.coremod.hooker; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class CoreModHooksClient { - -} diff --git a/src/main/java/com/glodblock/github/coremod/transform/GuiCraftingTransformer.java b/src/main/java/com/glodblock/github/coremod/transform/GuiCraftingTransformer.java deleted file mode 100644 index da1874e3..00000000 --- a/src/main/java/com/glodblock/github/coremod/transform/GuiCraftingTransformer.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.glodblock.github.coremod.transform; - -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; - -import com.glodblock.github.coremod.FCClassTransformer; - -public class GuiCraftingTransformer extends FCClassTransformer.ClassMapper { - - public static final GuiCraftingTransformer INSTANCE = new GuiCraftingTransformer(); - - private GuiCraftingTransformer() { - // NO-OP - } - - @Override - protected ClassVisitor getClassMapper(ClassVisitor downstream) { - return new TransformGuiCrafting(Opcodes.ASM5, downstream); - } - - private static class TransformGuiCrafting extends ClassVisitor { - - TransformGuiCrafting(int api, ClassVisitor cv) { - super(api, cv); - } - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - if ("drawFG".equals(name) || "drawListFG".equals(name) || "drawStack".equals(name)) { - return new TransformFluidIcon(api, super.visitMethod(access, name, desc, signature, exceptions)); - } - return super.visitMethod(access, name, desc, signature, exceptions); - } - } - - private static class TransformFluidIcon extends MethodVisitor { - - TransformFluidIcon(int api, MethodVisitor mv) { - super(api, mv); - } - - @Override - public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) { - if (opcode == Opcodes.INVOKEINTERFACE && owner.equals("appeng/api/storage/data/IAEItemStack") - && name.equals("getItemStack")) { - super.visitMethodInsn( - Opcodes.INVOKESTATIC, - "com/glodblock/github/coremod/hooker/CoreModHooks", - "displayFluid", - "(Lappeng/api/storage/data/IAEItemStack;)Lnet/minecraft/item/ItemStack;", - false); - } else { - super.visitMethodInsn(opcode, owner, name, desc, itf); - } - } - } -} diff --git a/src/main/java/com/glodblock/github/coremod/transform/NEITransformer.java b/src/main/java/com/glodblock/github/coremod/transform/NEITransformer.java deleted file mode 100644 index 4a596367..00000000 --- a/src/main/java/com/glodblock/github/coremod/transform/NEITransformer.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.glodblock.github.coremod.transform; - -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; - -import com.glodblock.github.coremod.FCClassTransformer; - -public class NEITransformer extends FCClassTransformer.ClassMapper { - - public static final NEITransformer INSTANCE = new NEITransformer(); - - private NEITransformer() { - // NO-OP - } - - @Override - protected ClassVisitor getClassMapper(ClassVisitor downstream) { - return new TransformNEI(Opcodes.ASM5, downstream); - } - - private static class TransformNEI extends ClassVisitor { - - TransformNEI(int api, ClassVisitor cv) { - super(api, cv); - } - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - return switch (name) { - case "getStackUnderMouse" -> new TransformStackUnderMouse( - api, - super.visitMethod(access, name, desc, signature, exceptions)); - case "shouldShowTooltip" -> new TransformShowTooltip( - api, - super.visitMethod(access, name, desc, signature, exceptions)); - default -> super.visitMethod(access, name, desc, signature, exceptions); - }; - } - } - - private static class TransformStackUnderMouse extends MethodVisitor { - - TransformStackUnderMouse(int api, MethodVisitor mv) { - super(api, mv); - } - - @Override - public void visitInsn(int opcode) { - if (opcode == Opcodes.ACONST_NULL) { - super.visitVarInsn(Opcodes.ALOAD, 1); - super.visitVarInsn(Opcodes.ILOAD, 2); - super.visitVarInsn(Opcodes.ILOAD, 3); - super.visitMethodInsn( - Opcodes.INVOKESTATIC, - "com/glodblock/github/coremod/hooker/CoreModHooks", - "getStackUnderMouse", - "(Lnet/minecraft/client/gui/inventory/GuiContainer;II)Lnet/minecraft/item/ItemStack;", - false); - return; - } - super.visitInsn(opcode); - } - } - - private static class TransformShowTooltip extends MethodVisitor { - - int const_1 = 0; - - TransformShowTooltip(int api, MethodVisitor mv) { - super(api, mv); - } - - @Override - public void visitInsn(int opcode) { - if (opcode == Opcodes.ICONST_1 && const_1 == 2) { - super.visitVarInsn(Opcodes.ALOAD, 1); - super.visitMethodInsn( - Opcodes.INVOKESTATIC, - "com/glodblock/github/coremod/hooker/CoreModHooks", - "shouldShowTooltip", - "(Lnet/minecraft/client/gui/inventory/GuiContainer;)Z", - false); - const_1++; - return; - } - if (opcode == Opcodes.ICONST_1) { - const_1++; - } - super.visitInsn(opcode); - } - } -} diff --git a/src/main/java/com/glodblock/github/coremod/registries/LevelTerminalRegistry.java b/src/main/java/com/glodblock/github/util/LevelTerminalRegistry.java similarity index 97% rename from src/main/java/com/glodblock/github/coremod/registries/LevelTerminalRegistry.java rename to src/main/java/com/glodblock/github/util/LevelTerminalRegistry.java index 480c1c60..8e2c312a 100644 --- a/src/main/java/com/glodblock/github/coremod/registries/LevelTerminalRegistry.java +++ b/src/main/java/com/glodblock/github/util/LevelTerminalRegistry.java @@ -1,4 +1,4 @@ -package com.glodblock.github.coremod.registries; +package com.glodblock.github.util; import java.util.HashSet; import java.util.Map;