From 508f6e5d6446131129eb95f802bb2816703a729e Mon Sep 17 00:00:00 2001 From: firenoo <49818773+firenoo@users.noreply.github.com> Date: Wed, 26 Apr 2023 12:14:40 -0700 Subject: [PATCH] Add null check when determining potential tanks to import (#116) It seems that implementers of IFluidHandler sometimes return null in `getTankInfo()`, so this adds a check for that before doing the bus work. --- .../glodblock/github/common/parts/PartFluidImportBus.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glodblock/github/common/parts/PartFluidImportBus.java b/src/main/java/com/glodblock/github/common/parts/PartFluidImportBus.java index 5045a42f..76203fc3 100644 --- a/src/main/java/com/glodblock/github/common/parts/PartFluidImportBus.java +++ b/src/main/java/com/glodblock/github/common/parts/PartFluidImportBus.java @@ -68,11 +68,15 @@ public class PartFluidImportBus extends FCSharedFluidBus { if (te instanceof IFluidHandler) { try { final IFluidHandler fh = (IFluidHandler) te; - final IMEMonitor inv = this.getProxy().getStorage().getFluidInventory(); + FluidTankInfo[] tanksInfo = fh.getTankInfo(this.getSide().getOpposite()); + if (tanksInfo == null) { + return TickRateModulation.SLOWER; + } + final IMEMonitor inv = this.getProxy().getStorage().getFluidInventory(); int maxDrain = this.calculateAmountToSend(); boolean drained = false; - FluidTankInfo[] tanksInfo = fh.getTankInfo(this.getSide().getOpposite()); + for (FluidTankInfo tankInfo : tanksInfo) { if (tankInfo.fluid == null) { continue;