From 447bb0803630baf0206331fd4e9aa5cfe38a2a51 Mon Sep 17 00:00:00 2001 From: tth05 <36999320+tth05@users.noreply.github.com> Date: Mon, 16 Oct 2023 06:47:32 +0200 Subject: Add stocking input hatch (#2322) * Add stocking input hatch * Refactor stocking input hatch UI code and fix some formatting * Add new visual changes from stocking bus and some refactoring * Remove drain/fill methods and fix tooltip * Split information slots into separate array and update MUI * Use inventory of size in constructor * Add assembly line support * Add amount to info slot tooltips and update tooltips every tick --- .../machines/multi/GT_MetaTileEntity_AssemblyLine.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/main/java/gregtech/common/tileentities/machines/multi') diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java index 117aa46b3f..e9f80b6824 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java @@ -58,6 +58,7 @@ import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine; import gregtech.api.util.GT_Utility; import gregtech.api.util.IGT_HatchAdder; +import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_Input_ME; public class GT_MetaTileEntity_AssemblyLine extends GT_MetaTileEntity_EnhancedMultiBlockBase implements ISurvivalConstructable { @@ -278,6 +279,13 @@ public class GT_MetaTileEntity_AssemblyLine } tFluids[i] = tRecipe.mFluidInputs[i].amount; tFluidSlot[i] = tMultiHatch.getFluidSlot(tRecipe.mFluidInputs[i]); + } else if (mInputHatches.get(i) instanceof GT_MetaTileEntity_Hatch_Input_ME meHatch) { + FluidStack fluidStack = meHatch.getMatchingFluidStack(tRecipe.mFluidInputs[i]); + if (fluidStack == null || fluidStack.amount < tRecipe.mFluidInputs[i].amount) { + continue nextDataStick; + } + tFluids[i] = tRecipe.mFluidInputs[i].amount; + tFluidSlot[i] = meHatch.getFluidSlot(tRecipe.mFluidInputs[i]); } else { FluidStack fluidInHatch = mInputHatches.get(i).mFluid; if (!GT_Utility.areFluidsEqual(fluidInHatch, tRecipe.mFluidInputs[i], true) @@ -331,6 +339,9 @@ public class GT_MetaTileEntity_AssemblyLine if (tMultiHatch.getFluid(tFluidSlot[i]).amount <= 0) { tMultiHatch.setFluid(null, tFluidSlot[i]); } + } else if (mInputHatches.get(i) instanceof GT_MetaTileEntity_Hatch_Input_ME meHatch) { + FluidStack fluidStack = meHatch.getShadowFluidStack(tFluidSlot[i]); + fluidStack.amount = Math.max(0, fluidStack.amount - tFluids[i]); } else { mInputHatches.get(i).mFluid.amount -= tFluids[i]; if (mInputHatches.get(i).mFluid.amount <= 0) { -- cgit