aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/common/tileentities/GTMTE_FluidMultiStorage.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/common/tileentities/GTMTE_FluidMultiStorage.java')
-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);