Merge pull request #32 from asdflj/dev

update lang and fix dual interface infinity export fluid bug
This commit is contained in:
Martin Robertz authored and GitHub committed 2022-10-26 10:57:24 +02:00
commit 546e02a9fe
4 files changed
+30 -9

No files matched your search

@@ -9,8 +9,6 @@ import appeng.api.networking.storage.IStorageGrid;
import appeng.api.storage.IMEInventory;
import appeng.api.storage.data.IAEFluidStack;
import appeng.api.storage.data.IAEItemStack;
import appeng.client.gui.implementations.GuiCraftConfirm;
import appeng.client.gui.implementations.GuiCraftingCPU;
import appeng.crafting.MECraftingInventory;
import appeng.me.MachineSet;
import appeng.me.cluster.implementations.CraftingCPUCluster;
@@ -189,9 +187,14 @@ public class CoreModHooks {
public static boolean shouldShowTooltip(GuiContainer gui) {
if (gui instanceof GuiFluidCraftConfirm) {
return ((GuiFluidCraftConfirm)gui).getHoveredStack() == null;
return ((GuiFluidCraftConfirm) gui).getHoveredStack() == null;
}
return true;
}
public static void updateFluidTag(ItemStack whatToSend, ItemStack Result) {
if (Result != null && Result.getItem() instanceof ItemFluidPacket) {
whatToSend.setTagCompound(Result.getTagCompound());
}
}
}
@@ -30,7 +30,7 @@ public class DualityInterfaceTransformer extends FCClassTransformer.ClassMapper
case "pushItemsOut":
case "pushPattern":
case "isBusy":
return new TransformInvAdaptorCalls(api, super.visitMethod(access, name, desc, signature, exceptions));
return new TransformInvAdaptorCalls(api, super.visitMethod(access, name, desc, signature, exceptions), name);
default:
return super.visitMethod(access, name, desc, signature, exceptions);
}
@@ -39,9 +39,24 @@ public class DualityInterfaceTransformer extends FCClassTransformer.ClassMapper
}
private static class TransformInvAdaptorCalls extends MethodVisitor {
private final String name;
private int const_1 = 0;
TransformInvAdaptorCalls(int api, MethodVisitor mv) {
private TransformInvAdaptorCalls(int api, MethodVisitor mv, String name) {
super(api, mv);
this.name = name;
}
@Override
public void visitFieldInsn(int opcode, String owner, String name, String desc) {
super.visitFieldInsn(opcode, owner, name, desc);
if (this.name.equals("pushItemsOut") && opcode == Opcodes.PUTFIELD && const_1 == 0) {
// update fluid tag
super.visitVarInsn(Opcodes.ALOAD, 5);
super.visitVarInsn(Opcodes.ALOAD, 10);
super.visitMethodInsn(Opcodes.INVOKESTATIC, "com/glodblock/github/coremod/hooker/CoreModHooks", "updateFluidTag", "(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V", false);
const_1++;
}
}
@Override
@@ -29,12 +29,10 @@ import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import javax.annotation.Nullable;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.LinkedList;
import java.util.List;
public class FluidConvertingInventoryAdaptor extends InventoryAdaptor {
@@ -84,7 +82,7 @@ public class FluidConvertingInventoryAdaptor extends InventoryAdaptor {
fluid = ItemFluidDrop.getFluidStack(toBeAdded);
}
if (fluid != null) {
if (fluid != null && invFluids.canFill(side, fluid.getFluid())) {
int filled = invFluids.fill(side, fluid, true);
if (filled > 0) {
fluid.amount -= filled;
@@ -1,5 +1,6 @@
item.fluid_drop.name=%s液滴
item.fluid_encoded_pattern.name=编码样板
item.part_fluid_terminal.name=ME流体终端
item.part_fluid_pattern_terminal.name=ME流体样板终端
item.part_fluid_pattern_terminal_ex.name=ME增广流体样板终端
item.part_fluid_interface.name=ME二合一接口
@@ -63,4 +64,8 @@ ae2fc.gui.oc_pattern_editor=OC样板编辑器
ae2fc.gui.button.set=设置
ae2fc.gui.part_fluid_import=ME流体输入总线
ae2fc.gui.part_fluid_export=ME流体输出总线
ae2fc.gui.part_fluid_terminal=流体终端
error.unknown=未知流体
itemGroup.ae2fc=AE2流体合成套件重置