From 8a99073d40407b348e74f39790128f05b18f11a0 Mon Sep 17 00:00:00 2001 From: asdflj <854865755@qq.com> Date: Mon, 23 Jan 2023 21:15:29 +0800 Subject: [PATCH 1/2] uh --- .../client/gui/GuiFluidCraftConfirm.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java b/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java index 2172fb5f..067ca1e4 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java @@ -8,6 +8,7 @@ import appeng.client.gui.AEBaseGui; import appeng.client.gui.widgets.GuiScrollbar; import appeng.core.AELog; import appeng.core.localization.GuiText; +import appeng.integration.modules.NEI; import appeng.util.Platform; import com.glodblock.github.FluidCraft; import com.glodblock.github.client.gui.container.ContainerFluidCraftConfirm; @@ -483,6 +484,7 @@ public class GuiFluidCraftConfirm extends AEBaseGui { } if (btn == this.cancel) { + this.addMissingItemsToBookMark(); FluidCraft.proxy.netHandler.sendToServer(new CPacketSwitchGuis(this.OriginalGui)); } @@ -509,4 +511,24 @@ public class GuiFluidCraftConfirm extends AEBaseGui { public ItemStack getHoveredStack() { return hoveredStack; } + + protected void addMissingItemsToBookMark() { + if (!this.missing.isEmpty() && isShiftKeyDown()) { + for (IAEItemStack iaeItemStack : this.missing) { + NEI.instance.addItemToBookMark(iaeItemStack.getItemStack()); + } + } + } + + public IItemList getStorage() { + return this.storage; + } + + public IItemList getPending() { + return this.pending; + } + + public IItemList getMissing() { + return this.missing; + } } From 949eefb873a8ca8aeab835dffffd711aa4e1a8b5 Mon Sep 17 00:00:00 2001 From: asdflj <854865755@qq.com> Date: Mon, 23 Jan 2023 21:21:17 +0800 Subject: [PATCH 2/2] remove me io asm --- .../github/coremod/FCClassTransformer.java | 3 - .../github/coremod/hooker/CoreModHooks.java | 8 --- .../transform/TitleIOPortTransformer.java | 57 ------------------- 3 files changed, 68 deletions(-) delete mode 100644 src/main/java/com/glodblock/github/coremod/transform/TitleIOPortTransformer.java diff --git a/src/main/java/com/glodblock/github/coremod/FCClassTransformer.java b/src/main/java/com/glodblock/github/coremod/FCClassTransformer.java index 9a519acf..a9edaf5d 100644 --- a/src/main/java/com/glodblock/github/coremod/FCClassTransformer.java +++ b/src/main/java/com/glodblock/github/coremod/FCClassTransformer.java @@ -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; diff --git a/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooks.java b/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooks.java index 93520f7b..19a0b6d8 100644 --- a/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooks.java +++ b/src/main/java/com/glodblock/github/coremod/hooker/CoreModHooks.java @@ -7,7 +7,6 @@ import appeng.api.networking.IGridNode; import appeng.api.networking.IMachineSet; import appeng.api.networking.storage.IStorageGrid; import appeng.api.storage.IMEInventory; -import appeng.api.storage.StorageChannel; import appeng.api.storage.data.IAEFluidStack; import appeng.api.storage.data.IAEItemStack; import appeng.crafting.MECraftingInventory; @@ -20,7 +19,6 @@ import com.glodblock.github.client.gui.GuiFluidCraftConfirm; import com.glodblock.github.common.item.ItemFluidDrop; import com.glodblock.github.common.item.ItemFluidPacket; import com.glodblock.github.common.parts.PartFluidInterface; -import com.glodblock.github.common.storage.FluidCellInventory; import com.glodblock.github.common.tile.TileFluidInterface; import com.glodblock.github.inventory.FluidConvertingInventoryAdaptor; import com.glodblock.github.inventory.FluidConvertingInventoryCrafting; @@ -185,10 +183,4 @@ public class CoreModHooks { } return true; } - - public static long IOPortMinSpeed(long possible, long itemsToMove, final StorageChannel chan) { - return chan == StorageChannel.FLUIDS - ? Math.min(possible, itemsToMove * FluidCellInventory.singleByteAmount) - : Math.min(possible, itemsToMove); - } } diff --git a/src/main/java/com/glodblock/github/coremod/transform/TitleIOPortTransformer.java b/src/main/java/com/glodblock/github/coremod/transform/TitleIOPortTransformer.java deleted file mode 100644 index bdc35e4a..00000000 --- a/src/main/java/com/glodblock/github/coremod/transform/TitleIOPortTransformer.java +++ /dev/null @@ -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); - } - } - } -}