From 77ec41812d892069eee169af5d7f12e9d126c5dc Mon Sep 17 00:00:00 2001 From: firenoo <49818773+firenoo@users.noreply.github.com> Date: Fri, 28 Apr 2023 10:19:53 -0700 Subject: [PATCH] Add null check for tanks (#118) * Add null check for tanks Some IFluidHandlers return null for getTankInfo(), so a null check is needed. * spotless apply --- .../inventory/FluidConvertingInventoryAdaptor.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/glodblock/github/inventory/FluidConvertingInventoryAdaptor.java b/src/main/java/com/glodblock/github/inventory/FluidConvertingInventoryAdaptor.java index abe35561..69a208ea 100644 --- a/src/main/java/com/glodblock/github/inventory/FluidConvertingInventoryAdaptor.java +++ b/src/main/java/com/glodblock/github/inventory/FluidConvertingInventoryAdaptor.java @@ -278,9 +278,15 @@ public class FluidConvertingInventoryAdaptor extends InventoryAdaptor { @Override public Iterator iterator() { - return new SlotIterator( - invFluids != null ? invFluids.getTankInfo(side) : new FluidTankInfo[0], - invItems != null ? invItems.iterator() : Collections.emptyIterator()); + FluidTankInfo[] info = null; + if (invFluids != null) { + info = invFluids.getTankInfo(side); + } + // Null check is needed because some tank infos return null (EIO conduits...) + if (info == null) { + info = new FluidTankInfo[0]; + } + return new SlotIterator(info, invItems != null ? invItems.iterator() : Collections.emptyIterator()); } private IFluidHandler getSideFluid(ForgeDirection direction) { @@ -466,7 +472,7 @@ public class FluidConvertingInventoryAdaptor extends InventoryAdaptor { @Override public boolean hasNext() { - return nextSlotIndex < tanks.length || itemSlots.hasNext(); + return itemSlots.hasNext() || nextSlotIndex < tanks.length; } @Override