From fc32ca29ab21871b339c6f55de83d1d4ba9932ec Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 22 Oct 2021 14:43:36 +0800 Subject: Fix #644 --- .../common/compat/FabricFluidAPISupportPlugin.java | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'fabric/src/main/java/me') diff --git a/fabric/src/main/java/me/shedaniel/rei/impl/common/compat/FabricFluidAPISupportPlugin.java b/fabric/src/main/java/me/shedaniel/rei/impl/common/compat/FabricFluidAPISupportPlugin.java index 8847874c1..cb75eca9f 100644 --- a/fabric/src/main/java/me/shedaniel/rei/impl/common/compat/FabricFluidAPISupportPlugin.java +++ b/fabric/src/main/java/me/shedaniel/rei/impl/common/compat/FabricFluidAPISupportPlugin.java @@ -30,7 +30,6 @@ import me.shedaniel.rei.api.common.fluid.FluidSupportProvider; import me.shedaniel.rei.api.common.plugins.REIServerPlugin; import me.shedaniel.rei.api.common.util.EntryStacks; import net.fabricmc.fabric.api.transfer.v1.context.ContainerItemContext; -import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.fabricmc.fabric.api.transfer.v1.storage.Storage; @@ -47,15 +46,17 @@ public class FabricFluidAPISupportPlugin implements REIServerPlugin { support.register(entry -> { ItemStack stack = entry.getValue().copy(); Storage storage = FluidStorage.ITEM.find(stack, ContainerItemContext.withInitial(stack)); - List> result; - try (Transaction transaction = Transaction.openOuter()) { - result = StreamSupport.stream(storage.iterable(transaction).spliterator(), false) - .filter(view -> !view.isResourceBlank()) - .map(view -> EntryStacks.of(FluidStack.create(view.getResource().getFluid(), view.getAmount(), view.getResource().getNbt()))) - .collect(Collectors.toList()); - } - if (!result.isEmpty()) { - return CompoundEventResult.interruptTrue(result.stream()); + if (storage != null) { + List> result; + try (Transaction transaction = Transaction.openOuter()) { + result = StreamSupport.stream(storage.iterable(transaction).spliterator(), false) + .filter(view -> !view.isResourceBlank()) + .map(view -> EntryStacks.of(FluidStack.create(view.getResource().getFluid(), view.getAmount(), view.getResource().getNbt()))) + .collect(Collectors.toList()); + } + if (!result.isEmpty()) { + return CompoundEventResult.interruptTrue(result.stream()); + } } return CompoundEventResult.pass(); }); -- cgit