aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-02-10 23:06:01 +0100
committerGitHub <noreply@github.com>2021-02-10 23:06:01 +0100
commit86b25f834157a556aca26ce517a24033a376a6e5 (patch)
tree1d08c73db278a69c8955065a3be237d60f8cdd44
parent9dd8c010e9ff96a28d3f1a702190e23c701239f0 (diff)
parent091280d3b112515348044e07d9a972a9545d909f (diff)
downloadGT5-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.java16
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);