From b975ebcac16a4eff49543780910070841d801e99 Mon Sep 17 00:00:00 2001 From: botn365 <42187820+botn365@users.noreply.github.com> Date: Fri, 26 Feb 2021 02:47:52 +0100 Subject: fix regulator ignoring pipeconections fix that regulators would draw /fill fluids from a pipe even if it wasent conected to that side #7523 --- src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/common/covers') 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 f8784d570f..087a432ec6 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java @@ -36,13 +36,13 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehavior { if (aCoverVariable > 0) { tTank2 = aTileEntity.getITankContainerAtSide(aSide); tTank1 = (IFluidHandler) aTileEntity; - directionFrom = ForgeDirection.UNKNOWN; + directionFrom = ForgeDirection.getOrientation(aSide); directionTo = ForgeDirection.getOrientation(aSide).getOpposite(); } else { tTank1 = aTileEntity.getITankContainerAtSide(aSide); tTank2 = (IFluidHandler) aTileEntity; directionFrom = ForgeDirection.getOrientation(aSide).getOpposite(); - directionTo = ForgeDirection.UNKNOWN; + directionTo = ForgeDirection.getOrientation(aSide); } if (tTank1 != null && tTank2 != null) { FluidStack tLiquid = tTank1.drain(directionFrom, Math.abs(aCoverVariable), false); -- cgit From 05fcbfc7df37615557b67fb40eead63693997823 Mon Sep 17 00:00:00 2001 From: korneel vandamme Date: Fri, 26 Feb 2021 20:07:20 +0100 Subject: fix regulators not working --- src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/common/covers') 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 087a432ec6..4ddc54e2a1 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java @@ -18,6 +18,7 @@ import net.minecraftforge.fluids.IFluidHandler; public class GT_Cover_FluidRegulator extends GT_CoverBehavior { public final int mTransferRate; + private boolean allowFluid = false; public GT_Cover_FluidRegulator(int aTransferRate) { this.mTransferRate = aTransferRate; @@ -45,6 +46,7 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehavior { directionTo = ForgeDirection.getOrientation(aSide); } if (tTank1 != null && tTank2 != null) { + allowFluid = true; FluidStack tLiquid = tTank1.drain(directionFrom, Math.abs(aCoverVariable), false); if (tLiquid != null) { tLiquid = tLiquid.copy(); @@ -53,6 +55,7 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehavior { tTank2.fill(directionTo, tTank1.drain(directionFrom, tLiquid.amount, true), true); } } + allowFluid = false; } } return aCoverVariable; @@ -120,11 +123,11 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehavior { } public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { - return false; + return allowFluid; } public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { - return false; + return allowFluid; } public boolean alwaysLookConnected(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { -- cgit