diff options
author | Dimach <dimach2142@gmail.com> | 2016-12-11 19:56:06 +0200 |
---|---|---|
committer | Dimach <dimach2142@gmail.com> | 2016-12-11 19:56:06 +0200 |
commit | be375040094368b00958da506d30e38e439350e3 (patch) | |
tree | 6625c531a1296c1623b7ccb607a64fc7cad55c80 | |
parent | 7df5add5a90ca8f8b5f974306774927e7554bdee (diff) | |
download | GT5-Unofficial-be375040094368b00958da506d30e38e439350e3.tar.gz GT5-Unofficial-be375040094368b00958da506d30e38e439350e3.tar.bz2 GT5-Unofficial-be375040094368b00958da506d30e38e439350e3.zip |
Fixed #796.
-rw-r--r-- | src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java index ff47dfdc97..a8361a78dc 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java @@ -24,26 +24,32 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehavior { if ((aTileEntity instanceof IFluidHandler)) { IFluidHandler tTank1; IFluidHandler tTank2; + ForgeDirection directionFrom; + ForgeDirection directionTo; if (aCoverVariable > 0) { tTank2 = aTileEntity.getITankContainerAtSide(aSide); tTank1 = (IFluidHandler) aTileEntity; + directionFrom = ForgeDirection.UNKNOWN; + directionTo = ForgeDirection.getOrientation(aSide).getOpposite(); } else { tTank1 = aTileEntity.getITankContainerAtSide(aSide); tTank2 = (IFluidHandler) aTileEntity; + directionFrom = ForgeDirection.getOrientation(aSide).getOpposite(); + directionTo = ForgeDirection.UNKNOWN; } if (tTank1 != null && tTank2 != null) { - FluidStack tLiquid = tTank1.drain(ForgeDirection.UNKNOWN, Math.abs(aCoverVariable), false); + FluidStack tLiquid = tTank1.drain(directionFrom, Math.abs(aCoverVariable), false); if (tLiquid != null) { tLiquid = tLiquid.copy(); - tLiquid.amount = tTank2.fill(ForgeDirection.getOrientation(aSide).getOpposite(), tLiquid, false); + tLiquid.amount = tTank2.fill(directionTo, tLiquid, false); if (tLiquid.amount > 0) { if (aTileEntity.getUniversalEnergyCapacity() >= Math.min(1, tLiquid.amount / 10)) { if (aTileEntity.isUniversalEnergyStored(Math.min(1, tLiquid.amount / 10))) { aTileEntity.decreaseStoredEnergyUnits(Math.min(1, tLiquid.amount / 10), true); - tTank2.fill(ForgeDirection.getOrientation(aSide).getOpposite(), tTank1.drain(ForgeDirection.UNKNOWN, tLiquid.amount, true), true); + tTank2.fill(directionTo, tTank1.drain(directionFrom, tLiquid.amount, true), true); } } else { - tTank2.fill(ForgeDirection.getOrientation(aSide).getOpposite(), tTank1.drain(ForgeDirection.UNKNOWN, tLiquid.amount, true), true); + tTank2.fill(directionTo, tTank1.drain(directionFrom, tLiquid.amount, true), true); } } } |