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
This commit is contained in:
firenoo authored and GitHub committed 2023-04-28 19:19:53 +02:00
1 parent 258465a654
commit 77ec41812d
1 file changed
+10 -4
@@ -278,9 +278,15 @@ public class FluidConvertingInventoryAdaptor extends InventoryAdaptor {
@Override
public Iterator<ItemSlot> 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