From f4c6d8a3f07640f67596bfbd392c9d62b662ce92 Mon Sep 17 00:00:00 2001 From: danyadev Date: Tue, 13 Jan 2026 19:54:36 +0300 Subject: [PATCH] fix NPE when trying to drain a tank in a tank tower (#390) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../github/common/tile/TileCertusQuartzTank.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glodblock/github/common/tile/TileCertusQuartzTank.java b/src/main/java/com/glodblock/github/common/tile/TileCertusQuartzTank.java index e36e820b..b1bb076a 100644 --- a/src/main/java/com/glodblock/github/common/tile/TileCertusQuartzTank.java +++ b/src/main/java/com/glodblock/github/common/tile/TileCertusQuartzTank.java @@ -70,6 +70,10 @@ public class TileCertusQuartzTank extends TileEntity implements IFluidHandler { return mainTank.drain(fluid, amount, doDrain, false); } + if (this.getFluid() == null) { + return null; + } + FluidStack drainedFluid = this.tank.drain(amount, doDrain); int drained = drainedFluid != null ? drainedFluid.amount : 0; @@ -80,10 +84,10 @@ public class TileCertusQuartzTank extends TileEntity implements IFluidHandler { if (drained < amount) { TileCertusQuartzTank tankBelow = this.getTankBelow(); if (tankBelow != null) { - FluidStack externallyDrained = tankBelow.drain(fluid, amount - drained, doDrain, false); + FluidStack externallyDrained = tankBelow.drain(this.getFluid(), amount - drained, doDrain, false); if (externallyDrained != null) { - return new FluidStack(fluid, drained + externallyDrained.amount); + return new FluidStack(this.getFluid(), drained + externallyDrained.amount); } } }