diff options
author | Archengius <Zolotuhinnikita2012@gmail.com> | 2016-12-12 01:22:59 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-12 01:22:59 +0700 |
commit | 248b88e8bc415f92c01382eb09be4b45d5db1d72 (patch) | |
tree | 9617c9f417e266f00acbe07eb2313becb978f5b7 | |
parent | 34481d0c85b44a277eae03c995e553ecf2e6051c (diff) | |
parent | be375040094368b00958da506d30e38e439350e3 (diff) | |
download | GT5-Unofficial-248b88e8bc415f92c01382eb09be4b45d5db1d72.tar.gz GT5-Unofficial-248b88e8bc415f92c01382eb09be4b45d5db1d72.tar.bz2 GT5-Unofficial-248b88e8bc415f92c01382eb09be4b45d5db1d72.zip |
Merge pull request #797 from Dimach/fluidregulator-fix
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); } } } |