diff options
author | Martin Robertz <dream-master@gmx.net> | 2021-02-10 23:06:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-10 23:06:01 +0100 |
commit | 86b25f834157a556aca26ce517a24033a376a6e5 (patch) | |
tree | 1d08c73db278a69c8955065a3be237d60f8cdd44 | |
parent | 9dd8c010e9ff96a28d3f1a702190e23c701239f0 (diff) | |
parent | 091280d3b112515348044e07d9a972a9545d909f (diff) | |
download | GT5-Unofficial-86b25f834157a556aca26ce517a24033a376a6e5.tar.gz GT5-Unofficial-86b25f834157a556aca26ce517a24033a376a6e5.tar.bz2 GT5-Unofficial-86b25f834157a556aca26ce517a24033a376a6e5.zip |
Merge pull request #8 from GTNewHorizons/fix-restrictive-hatch-void
fix tfft voiding fluids if a restrictive hatch was empty
-rw-r--r-- | src/main/java/common/tileentities/GTMTE_FluidMultiStorage.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main/java/common/tileentities/GTMTE_FluidMultiStorage.java b/src/main/java/common/tileentities/GTMTE_FluidMultiStorage.java index 709d2c42bb..a12f4130cb 100644 --- a/src/main/java/common/tileentities/GTMTE_FluidMultiStorage.java +++ b/src/main/java/common/tileentities/GTMTE_FluidMultiStorage.java @@ -178,22 +178,26 @@ public class GTMTE_FluidMultiStorage extends GT_MetaTileEntity_MultiBlockBase { for (GT_MetaTileEntity_Hatch_Output outputHatch : super.mOutputHatches) { if (outputHatch.isFluidLocked() && outputHatch.getLockedFluidName().equals(storedFluidCopy.getUnlocalizedName())) { storedFluidCopy.amount += outputHatch.getCapacity() - outputHatch.getFluidAmount(); - } else if (outputHatch.getFluid() != null && outputHatch.getFluid().getUnlocalizedName().equals(storedFluidCopy.getUnlocalizedName())) { + addFluidToHatch(storedFluidCopy,outputHatch); + } else if (outputHatch.getFluid() != null && outputHatch.getFluid().isFluidEqual(storedFluidCopy)) { storedFluidCopy.amount += outputHatch.getCapacity() - outputHatch.getFluidAmount(); - } else if (outputHatch.getFluid() == null) { + addFluidToHatch(storedFluidCopy,outputHatch); + } else if (!outputHatch.isFluidLocked() && outputHatch.getFluid() == null) { storedFluidCopy.amount += outputHatch.getCapacity() - outputHatch.getFluidAmount(); + addFluidToHatch(storedFluidCopy,outputHatch); } } - // Test how much can actually be drained and drain that amount - storedFluidCopy.amount = mfh.pullFluid(storedFluidCopy, true); - // Add to output - super.addOutput(storedFluidCopy); } } return true; } + public void addFluidToHatch(FluidStack aFluid, GT_MetaTileEntity_Hatch_Output aHatch) { + aFluid.amount = mfh.pullFluid(aFluid, true); + aHatch.fill(aFluid,true); + } + @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); |