remove io port asm

This commit is contained in:
GlodBlock committed 2023-01-23 20:55:31 +08:00
1 parent 4440ea5a1c
commit 0a5a38341f
2 files changed
-60

No files matched your search

@@ -32,9 +32,6 @@ public class FCClassTransformer implements IClassTransformer {
case "appeng.integration.modules.NEI":
tform = NEITransfermer.INSTANCE;
break;
case "appeng.tile.storage.TileIOPort":
tform = TitleIOPortTransformer.INSTANCE;
break;
case "appeng.core.features.registries.ExternalStorageRegistry":
tform = ExternalStorageRegistryTransformer.INSTANCE;
break;
@@ -1,57 +0,0 @@
package com.glodblock.github.coremod.transform;
import com.glodblock.github.coremod.FCClassTransformer;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
public class TitleIOPortTransformer extends FCClassTransformer.ClassMapper {
public static final TitleIOPortTransformer INSTANCE = new TitleIOPortTransformer();
private TitleIOPortTransformer() {
// NO-OP
}
@Override
protected ClassVisitor getClassMapper(ClassVisitor downstream) {
return new TitleIOPortTransformer.TransformTitleIOPort(Opcodes.ASM5, downstream);
}
private static class TransformTitleIOPort extends ClassVisitor {
TransformTitleIOPort(int api, ClassVisitor cv) {
super(api, cv);
}
@Override
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
if (name.equals("transferContents")) {
return new TitleIOPortTransformer.TransformTransferContents(
api, super.visitMethod(access, name, desc, signature, exceptions));
}
return super.visitMethod(access, name, desc, signature, exceptions);
}
}
private static class TransformTransferContents extends MethodVisitor {
TransformTransferContents(int api, MethodVisitor mv) {
super(api, mv);
}
@Override
public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
if (opcode == Opcodes.INVOKESTATIC && owner.equals("java/lang/Math") && name.equals("min")) {
super.visitVarInsn(Opcodes.ALOAD, 6);
super.visitMethodInsn(
Opcodes.INVOKESTATIC,
"com/glodblock/github/coremod/hooker/CoreModHooks",
"IOPortMinSpeed",
"(JJLappeng/api/storage/StorageChannel;)J",
false);
} else {
super.visitMethodInsn(opcode, owner, name, desc, itf);
}
}
}
}