diff options
author | くぁーりぃ <39122497+Quarri6343@users.noreply.github.com> | 2022-09-02 01:41:44 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-01 18:41:44 +0200 |
commit | 0265428a615602929f36d4a8411a2713fb8660a5 (patch) | |
tree | 4a54595f5bf6f33fbd34d1a7bfd1bd4943abeaf4 /src/main | |
parent | 21b803f324ade7b357998c1f712df538b244c4b9 (diff) | |
download | GT5-Unofficial-0265428a615602929f36d4a8411a2713fb8660a5.tar.gz GT5-Unofficial-0265428a615602929f36d4a8411a2713fb8660a5.tar.bz2 GT5-Unofficial-0265428a615602929f36d4a8411a2713fb8660a5.zip |
Super Tank Fluid Locking Fix (#1332)
* fix bugs
* spotless
* add null check
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/gregtech/api/gui/GT_Container.java | 1 | ||||
-rw-r--r-- | src/main/java/gregtech/api/gui/GT_Container_BasicTank.java | 7 | ||||
-rw-r--r-- | src/main/java/gregtech/api/interfaces/IFluidAccess.java | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/gui/GT_Container.java b/src/main/java/gregtech/api/gui/GT_Container.java index 083634f030..5d9dde3535 100644 --- a/src/main/java/gregtech/api/gui/GT_Container.java +++ b/src/main/java/gregtech/api/gui/GT_Container.java @@ -670,6 +670,7 @@ public class GT_Container extends Container { } replaceCursorItemStack(aPlayer, tFilledContainer); } + aFluidAccess.verifyFluidStack(); return tFilledContainer; } diff --git a/src/main/java/gregtech/api/gui/GT_Container_BasicTank.java b/src/main/java/gregtech/api/gui/GT_Container_BasicTank.java index 6e4f5b8920..8d8d018cdc 100644 --- a/src/main/java/gregtech/api/gui/GT_Container_BasicTank.java +++ b/src/main/java/gregtech/api/gui/GT_Container_BasicTank.java @@ -119,6 +119,8 @@ public class GT_Container_BasicTank extends GT_ContainerMetaTile_Machine { public void set(FluidStack stack) { if (mIsFillableStack) mTank.setFillableStack(stack); else mTank.setDrainableStack(stack); + if (mTank instanceof GT_MetaTileEntity_DigitalTankBase) + ((GT_MetaTileEntity_DigitalTankBase) mTank).onEmptyingContainerWhenEmpty(); } @Override @@ -142,5 +144,10 @@ public class GT_Container_BasicTank extends GT_ContainerMetaTile_Machine { static BasicTankFluidAccess from(GT_MetaTileEntity_BasicTank aTank, boolean aIsFillableStack) { return new BasicTankFluidAccess(aTank, aIsFillableStack); } + + @Override + public void verifyFluidStack() { + if (!(mTank instanceof GT_MetaTileEntity_DigitalTankBase) && get() != null && get().amount <= 0) set(null); + } } } diff --git a/src/main/java/gregtech/api/interfaces/IFluidAccess.java b/src/main/java/gregtech/api/interfaces/IFluidAccess.java index 01b6fb6d0b..8fa9b3a3fa 100644 --- a/src/main/java/gregtech/api/interfaces/IFluidAccess.java +++ b/src/main/java/gregtech/api/interfaces/IFluidAccess.java @@ -19,4 +19,8 @@ public interface IFluidAccess { get().amount = Math.min(get().amount + amount, getRealCapacity()); } } + + default void verifyFluidStack() { + if (get() != null && get().amount <= 0) set(null); + } } |