mirror of
https://github.com/GTNewHorizons/AE2FluidCraft-Rework.git
synced 2026-11-12 00:07:29 +00:00
fix power drain
This commit is contained in:
1 parent
af42494561
commit
07b03d1ef1
2 files changed
+29
-1
No files matched your search
@@ -98,4 +98,11 @@ public class CoreModHooks {
|
||||
else return aeStack.getItemStack();
|
||||
}
|
||||
|
||||
public static long getFluidSize(IAEItemStack aeStack) {
|
||||
if (aeStack.getItemStack() != null && aeStack.getItemStack().getItem() instanceof ItemFluidDrop) {
|
||||
return (long) Math.max(aeStack.getStackSize() / 1000D, 1);
|
||||
}
|
||||
else return aeStack.getStackSize();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import org.objectweb.asm.Label;
|
||||
import org.objectweb.asm.MethodVisitor;
|
||||
import org.objectweb.asm.Opcodes;
|
||||
|
||||
public class CraftingCpuTransformer extends FCClassTransformer.ClassMapper {
|
||||
public class CraftingCpuTransformer extends FCClassTransformer.ClassMapper {
|
||||
|
||||
public static final CraftingCpuTransformer INSTANCE = new CraftingCpuTransformer();
|
||||
|
||||
@@ -38,6 +38,7 @@ public class CraftingCpuTransformer extends FCClassTransformer.ClassMapper {
|
||||
private static class TransformExecuteCrafting extends MethodVisitor {
|
||||
|
||||
private boolean gotInventory = false;
|
||||
private int reach_stack = 0;
|
||||
|
||||
TransformExecuteCrafting(int api, MethodVisitor mv) {
|
||||
super(api, mv);
|
||||
@@ -58,8 +59,28 @@ public class CraftingCpuTransformer extends FCClassTransformer.ClassMapper {
|
||||
super.visitLineNumber(line, start);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitJumpInsn(int opcode, Label label) {
|
||||
if (opcode == Opcodes.IFNULL && reach_stack == 0) {
|
||||
reach_stack = 1;
|
||||
}
|
||||
super.visitJumpInsn(opcode, label);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
|
||||
if (reach_stack == 1) {
|
||||
if (opcode == Opcodes.INVOKEINTERFACE
|
||||
&& owner.equals("appeng/api/storage/data/IAEItemStack") && name.equals("getStackSize")) {
|
||||
reach_stack = 2;
|
||||
super.visitMethodInsn(Opcodes.INVOKESTATIC,
|
||||
"com/glodblock/github/coremod/hooker/CoreModHooks",
|
||||
"getFluidSize",
|
||||
"(Lappeng/api/storage/data/IAEItemStack;)J",
|
||||
false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
super.visitMethodInsn(opcode, owner, name, desc, itf);
|
||||
if (gotInventory) {
|
||||
if (opcode == Opcodes.INVOKESTATIC
|
||||
|
||||
Reference in new issue
Block a user