aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech/api/metatileentity
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/gregtech/api/metatileentity')
-rw-r--r--main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 1ff909d3e1..f4c56427fa 100644
--- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -385,11 +385,14 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
public boolean addOutput(FluidStack aLiquid) {
if (aLiquid == null) return false;
+ FluidStack tLiquid = aLiquid.copy();
for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) {
if (isValidMetaTileEntity(tHatch) && GT_ModHandler.isSteam(aLiquid)?tHatch.outputsSteam():tHatch.outputsLiquids()) {
- int tAmount = tHatch.fill(aLiquid, false);
- if (tAmount >= aLiquid.amount) {
- return tHatch.fill(aLiquid, true) >= aLiquid.amount;
+ int tAmount = tHatch.fill(tLiquid, false);
+ if (tAmount >= tLiquid.amount) {
+ return tHatch.fill(tLiquid, true) >= tLiquid.amount;
+ }else if(tAmount>0){
+ tLiquid.amount = tLiquid.amount - tHatch.fill(tLiquid, true);
}
}
}