From 23642e42d37bd0b778f01e2ff049386f0fa6572d Mon Sep 17 00:00:00 2001 From: MauveCloud Date: Mon, 19 Oct 2020 16:15:09 -0700 Subject: [PATCH 1/2] Adjust input hatch behavior No longer allows external draining (via pump cover, ME fluid import bus, etc.), can only be filled from the side with the opening. --- .../GT_MetaTileEntity_Hatch_Input.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java index 33430851c3..83e39b9b5f 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java @@ -9,8 +9,10 @@ import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; + public class GT_MetaTileEntity_Hatch_Input extends GT_MetaTileEntity_Hatch { public GT_Recipe_Map mRecipeMap = null; @@ -122,4 +124,22 @@ public int getCapacity() { public int getTankPressure() { return -100; } + + @Override + public int fill(ForgeDirection aSide, FluidStack aFluid, boolean doFill) { + if (ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()) == aSide) { + return super.fill(aSide, aFluid, doFill); + } + return 0; + } + + @Override + public FluidStack drain(ForgeDirection aSide, FluidStack aFluid, boolean doDrain) { + return null; + } + + @Override + public FluidStack drain(ForgeDirection aSide, int maxDrain, boolean doDrain) { + return null; + } } From f67218984342600e7c6dc0d3df09495f3e0807e5 Mon Sep 17 00:00:00 2001 From: MauveCloud Date: Mon, 19 Oct 2020 16:17:23 -0700 Subject: [PATCH 2/2] Adjust output hatch behavior No longer allows external filling (via ME fluid export bus, etc.), can only be drained from the side with the opening. --- .../GT_MetaTileEntity_Hatch_Output.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java index aabe833b16..a1599ff73a 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java @@ -267,4 +267,25 @@ protected void onEmptyingContainerWhenEmpty() { GT_Utility.sendChatToPlayer(playerThatLockedfluid, String.format(trans("151.4","Sucessfully locked Fluid to %s"), mFluid.getLocalizedName())); } } + + @Override + public int fill(ForgeDirection aSide, FluidStack aFluid, boolean doFill) { + return 0; + } + + @Override + public FluidStack drain(ForgeDirection aSide, FluidStack aFluid, boolean doDrain) { + if (ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()) == aSide) { + return super.drain(aSide, aFluid, doDrain); + } + return null; + } + + @Override + public FluidStack drain(ForgeDirection aSide, int maxDrain, boolean doDrain) { + if (ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()) == aSide) { + return super.drain(aSide, maxDrain, doDrain); + } + return null; + } }