From 1a5ce06c3f0a4242f2b72277daaf401724a5181b Mon Sep 17 00:00:00 2001 From: slprime Date: Wed, 31 Jan 2024 18:59:10 +0200 Subject: [PATCH 1/2] =?UTF-8?q?use=20of=20GT=20and=20ae2f=D1=81=20fluids?= =?UTF-8?q?=20in=20inputs/outputs=20and=20storag=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../github/client/gui/GuiFluidMonitor.java | 6 ++- .../base/FCContainerEncodeTerminal.java | 19 ++++--- .../storage/FluidCellInventoryHandler.java | 13 ++--- .../java/com/glodblock/github/util/Util.java | 51 +++++++++---------- 4 files changed, 43 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/glodblock/github/client/gui/GuiFluidMonitor.java b/src/main/java/com/glodblock/github/client/gui/GuiFluidMonitor.java index 971613856..e400d40a7 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiFluidMonitor.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiFluidMonitor.java @@ -4,6 +4,7 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; import com.glodblock.github.client.gui.base.FCGuiMonitor; import com.glodblock.github.client.gui.container.ContainerFluidMonitor; @@ -55,8 +56,9 @@ protected IAEItemStack transformItem(IAEItemStack stack) { @Override public void setTextFieldValue(String displayName, int mousex, int mousey, ItemStack stack) { - if (Util.getFluidFromItem(stack) != null) { - setSearchString(Util.getFluidFromItem(stack).getLocalizedName(), true); + final FluidStack fluid = Util.getFluidFromItem(stack); + if (fluid != null) { + setSearchString(fluid.getLocalizedName(), true); } } } diff --git a/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java b/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java index 8360d0407..38779de4d 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java +++ b/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java @@ -133,17 +133,19 @@ public void doAction(EntityPlayerMP player, InventoryAction action, int slotId, } Slot slot = getSlot(slotId); ItemStack stack = player.inventory.getItemStack(); - if (Util.getFluidFromItem(stack) == null || Util.getFluidFromItem(stack).amount <= 0) { + FluidStack fluid = Util.getFluidFromItem(stack); + + if (fluid == null || fluid.amount <= 0) { super.doAction(player, action, slotId, id); return; } - if (validPatternSlot(slot) - && (stack.getItem() instanceof IFluidContainerItem || FluidContainerRegistry.isContainer(stack))) { - FluidStack fluid = null; + + if (validPatternSlot(slot)) { + switch (action) { case PICKUP_OR_SET_DOWN -> { - fluid = Util.getFluidFromItem(stack); slot.putStack(ItemFluidPacket.newStack(fluid)); + return; } case SPLIT_OR_PLACE_SINGLE -> { fluid = Util.getFluidFromItem(Util.copyStackWithSize(stack, 1)); @@ -153,13 +155,10 @@ public void doAction(EntityPlayerMP player, InventoryAction action, int slotId, if (fluid.amount <= 0) fluid = null; } slot.putStack(ItemFluidPacket.newStack(fluid)); + return; } } - if (fluid == null) { - super.doAction(player, action, slotId, id); - return; - } - return; + } super.doAction(player, action, slotId, id); } diff --git a/src/main/java/com/glodblock/github/common/storage/FluidCellInventoryHandler.java b/src/main/java/com/glodblock/github/common/storage/FluidCellInventoryHandler.java index c82356deb..a76eee00d 100644 --- a/src/main/java/com/glodblock/github/common/storage/FluidCellInventoryHandler.java +++ b/src/main/java/com/glodblock/github/common/storage/FluidCellInventoryHandler.java @@ -2,6 +2,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; import com.glodblock.github.util.Ae2Reflect; import com.glodblock.github.util.Util; @@ -34,8 +35,9 @@ protected FluidCellInventoryHandler(final IMEInventory c) { final IItemList priorityList = AEApi.instance().storage().createFluidList(); for (int x = 0; x < config.getSizeInventory(); x++) { final ItemStack is = config.getStackInSlot(x); - if (Util.getFluidFromItem(is) != null) { - priorityList.add(AEFluidStack.create(Util.getFluidFromItem(is))); + final FluidStack fluid = Util.getFluidFromItem(is); + if (fluid != null) { + priorityList.add(AEFluidStack.create(fluid)); } } if (!priorityList.isEmpty()) { @@ -49,10 +51,9 @@ protected FluidCellInventoryHandler(final IMEInventory c) { final ItemStack is = upgrades.getStackInSlot(x); if (is != null && is.getItem() instanceof IUpgradeModule) { final Upgrades u = ((IUpgradeModule) is.getItem()).getType(is); - if (u != null) { - if (u == Upgrades.STICKY) { - hasSticky = true; - } + if (u == Upgrades.STICKY) { + hasSticky = true; + break; } } } diff --git a/src/main/java/com/glodblock/github/util/Util.java b/src/main/java/com/glodblock/github/util/Util.java index 2bed4fba1..0bb4207e6 100644 --- a/src/main/java/com/glodblock/github/util/Util.java +++ b/src/main/java/com/glodblock/github/util/Util.java @@ -55,6 +55,7 @@ import appeng.util.Platform; import appeng.util.item.AEFluidStack; import baubles.api.BaublesApi; +import codechicken.nei.recipe.StackInfo; import cpw.mods.fml.common.ModContainer; import cpw.mods.fml.common.registry.GameData; import io.netty.buffer.ByteBuf; @@ -230,21 +231,10 @@ public static ItemStack copyStackWithSize(ItemStack itemStack, int size) { public static AEFluidStack getAEFluidFromItem(ItemStack stack) { if (stack != null) { - if (stack.getItem() instanceof IFluidContainerItem) { - FluidStack fluid = ((IFluidContainerItem) stack.getItem()).getFluid(stack); - if (fluid != null) { - AEFluidStack fluid0 = AEFluidStack.create(fluid.copy()); - fluid0.setStackSize(fluid0.getStackSize() * stack.stackSize); - return fluid0; - } - } - if (FluidContainerRegistry.isContainer(stack)) { - FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(stack); - if (fluid != null) { - AEFluidStack fluid0 = AEFluidStack.create(fluid.copy()); - fluid0.setStackSize(fluid0.getStackSize() * stack.stackSize); - return fluid0; - } + FluidStack fluid = getFluidFromItem(stack); + + if (fluid != null) { + return AEFluidStack.create(fluid.copy()); } } return null; @@ -252,21 +242,26 @@ public static AEFluidStack getAEFluidFromItem(ItemStack stack) { public static FluidStack getFluidFromItem(ItemStack stack) { if (stack != null) { + FluidStack fluid = null; + if (stack.getItem() instanceof IFluidContainerItem) { - FluidStack fluid = ((IFluidContainerItem) stack.getItem()).getFluid(stack); - if (fluid != null) { - FluidStack fluid0 = fluid.copy(); - fluid0.amount *= stack.stackSize; - return fluid0; - } + fluid = ((IFluidContainerItem) stack.getItem()).getFluid(stack); + } else if (FluidContainerRegistry.isContainer(stack)) { + fluid = FluidContainerRegistry.getFluidForFilledItem(stack); + } else if (stack.getItem() instanceof ItemFluidPacket) { + fluid = ItemFluidPacket.getFluidStack(stack); + } else if (stack.getItem() instanceof ItemFluidDrop) { + fluid = ItemFluidDrop.getFluidStack(Util.copyStackWithSize(stack, 1)); } - if (FluidContainerRegistry.isContainer(stack)) { - FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(stack); - if (fluid != null) { - FluidStack fluid0 = fluid.copy(); - fluid0.amount *= stack.stackSize; - return fluid0; - } + + if (fluid == null) { + fluid = StackInfo.getFluid(Util.copyStackWithSize(stack, 1)); + } + + if (fluid != null) { + FluidStack fluid0 = fluid.copy(); + fluid0.amount *= stack.stackSize; + return fluid0; } } return null; From c7495607fbad62dded4d97005b3a15ac80abdce4 Mon Sep 17 00:00:00 2001 From: slprime Date: Wed, 31 Jan 2024 21:39:00 +0200 Subject: [PATCH 2/2] remove unused imports --- .../client/gui/container/base/FCContainerEncodeTerminal.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java b/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java index 38779de4d..6f47be0d3 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java +++ b/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java @@ -17,9 +17,7 @@ import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidContainerItem; import com.glodblock.github.client.gui.container.ContainerItemMonitor; import com.glodblock.github.common.item.ItemFluidDrop;