aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorくぁーりぃ <39122497+Quarri6343@users.noreply.github.com>2022-09-02 01:41:44 +0900
committerGitHub <noreply@github.com>2022-09-01 18:41:44 +0200
commit0265428a615602929f36d4a8411a2713fb8660a5 (patch)
tree4a54595f5bf6f33fbd34d1a7bfd1bd4943abeaf4 /src/main
parent21b803f324ade7b357998c1f712df538b244c4b9 (diff)
downloadGT5-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.java1
-rw-r--r--src/main/java/gregtech/api/gui/GT_Container_BasicTank.java7
-rw-r--r--src/main/java/gregtech/api/interfaces/IFluidAccess.java4
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);
+ }
}