Portable Tanks

Portable Tanks

1M Downloads

[Bug] Portable Tanks causes the JEI plugin for Create to error out (resulting in numerous recipes not being shown)

smbarbour opened this issue ยท 1 comments

commented

Version info
Minecraft 1.21.1
Portable Tanks 1.1.17

Describe the bug
When Portable Tanks is present, the JEI plugin for Create encounters an exception that stops recipe enumeration

To Reproduce
Steps to reproduce the behavior:

  1. Install Portable Tanks and Create
  2. Attempt to look up uses for Mechanical Crafters
  3. See that no uses are apparently found

Stacktrace

[12Jun2025 21:57:49.442] [Render thread/ERROR] [mezz.jei.library.load.PluginCaller/]: Caught an error from mod plugin: class com.simibubi.create.compat.jei.CreateJEI create:jei_plugin

java.lang.NullPointerException: Cannot invoke "net.minecraft.nbt.CompoundTag.contains(String)" because "compound" is null

	at TRANSFORMER/[email protected]/com.dremoline.portabletanks.PortableTankItem$ItemFluidHandler.getFluid(PortableTankItem.java:137) ~[portabletanks-1.1.7-neoforge-mc1.21.jar%23632!/:?]

	at TRANSFORMER/[email protected]/com.dremoline.portabletanks.PortableTankItem$ItemFluidHandler.getFluidInTank(PortableTankItem.java:64) ~[portabletanks-1.1.7-neoforge-mc1.21.jar%23632!/:?]

	at TRANSFORMER/[email protected]/com.simibubi.create.compat.jei.category.SpoutCategory.consumeRecipes(SpoutCategory.java:69) ~[create-1.21.1-6.0.4.jar%23506!/:6.0.4]

	at TRANSFORMER/[email protected]/com.simibubi.create.compat.jei.CreateJEI.lambda$loadCategories$14(CreateJEI.java:281) ~[create-1.21.1-6.0.4.jar%23506!/:6.0.4]

	at TRANSFORMER/[email protected]/com.simibubi.create.compat.jei.CreateJEI$CategoryBuilder.lambda$build$22(CreateJEI.java:562) ~[create-1.21.1-6.0.4.jar%23506!/:6.0.4]

	at TRANSFORMER/[email protected]/com.simibubi.create.compat.jei.category.CreateRecipeCategory.registerRecipes(CreateRecipeCategory.java:88) ~[create-1.21.1-6.0.4.jar%23506!/:6.0.4]

	at TRANSFORMER/[email protected]/com.simibubi.create.compat.jei.CreateJEI.lambda$registerRecipes$22(CreateJEI.java:349) ~[create-1.21.1-6.0.4.jar%23506!/:6.0.4]

	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) ~[?:?]

	at TRANSFORMER/[email protected]/com.simibubi.create.compat.jei.CreateJEI.registerRecipes(CreateJEI.java:349) ~[create-1.21.1-6.0.4.jar%23506!/:6.0.4]

	at TRANSFORMER/[email protected]/mezz.jei.library.load.PluginLoader.lambda$createRecipeManager$15(PluginLoader.java:202) ~[jei-1.21.1-neoforge-19.21.0.247.jar%23585!/:19.21.0.247]

	at TRANSFORMER/[email protected]/mezz.jei.library.load.PluginCaller.callOnPlugins(PluginCaller.java:25) ~[jei-1.21.1-neoforge-19.21.0.247.jar%23585!/:19.21.0.247]

	at TRANSFORMER/[email protected]/mezz.jei.library.load.PluginLoader.createRecipeManager(PluginLoader.java:202) ~[jei-1.21.1-neoforge-19.21.0.247.jar%23585!/:19.21.0.247]

	at TRANSFORMER/[email protected]/mezz.jei.library.startup.JeiStarter.start(JeiStarter.java:129) ~[jei-1.21.1-neoforge-19.21.0.247.jar%23585!/:19.21.0.247]

	at TRANSFORMER/[email protected]/mezz.jei.neoforge.startup.StartEventObserver.transitionState(StartEventObserver.java:170) ~[jei-1.21.1-neoforge-19.21.0.247.jar%23585!/:19.21.0.247]

	at TRANSFORMER/[email protected]/mezz.jei.neoforge.startup.StartEventObserver.onEvent(StartEventObserver.java:120) ~[jei-1.21.1-neoforge-19.21.0.247.jar%23585!/:19.21.0.247]

	at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.ConsumerEventHandler.invoke(ConsumerEventHandler.java:26) ~[bus-8.0.2.jar%23110!/:?]

	at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:350) ~[bus-8.0.2.jar%23110!/:?]

	at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:315) ~[bus-8.0.2.jar%23110!/:?]

	at TRANSFORMER/[email protected]/net.neoforged.neoforge.client.ClientHooks.onRecipesUpdated(ClientHooks.java:664) ~[neoforge-21.1.176-universal.jar%23444!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.client.multiplayer.ClientPacketListener.handleUpdateRecipes(ClientPacketListener.java:1506) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.network.protocol.game.ClientboundUpdateRecipesPacket.handle(ClientboundUpdateRecipesPacket.java:32) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.network.protocol.game.ClientboundUpdateRecipesPacket.handle(ClientboundUpdateRecipesPacket.java:13) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.neoforged.neoforge.network.registration.NetworkRegistry.handlePacketUnchecked(NetworkRegistry.java:829) ~[neoforge-21.1.176-universal.jar%23444!/:?]

	at TRANSFORMER/[email protected]/net.neoforged.neoforge.network.handling.IPayloadContext.handle(IPayloadContext.java:108) ~[neoforge-21.1.176-universal.jar%23444!/:?]

	at TRANSFORMER/[email protected]/net.neoforged.neoforge.network.filters.GenericPacketSplitter.lambda$receivedPacket$0(GenericPacketSplitter.java:154) ~[neoforge-21.1.176-universal.jar%23444!/:?]

	at TRANSFORMER/[email protected]/net.neoforged.neoforge.network.handling.ClientPayloadContext.enqueueWork(ClientPayloadContext.java:31) ~[neoforge-21.1.176-universal.jar%23444!/:?]

	at TRANSFORMER/[email protected]/net.neoforged.neoforge.network.filters.GenericPacketSplitter.receivedPacket(GenericPacketSplitter.java:154) ~[neoforge-21.1.176-universal.jar%23444!/:?]

	at TRANSFORMER/[email protected]/net.neoforged.neoforge.network.filters.GenericPacketSplitter.handle(GenericPacketSplitter.java:69) ~[neoforge-21.1.176-universal.jar%23444!/:?]

	at TRANSFORMER/[email protected]/net.neoforged.neoforge.network.handling.MainThreadPayloadHandler.lambda$handle$0(MainThreadPayloadHandler.java:16) ~[neoforge-21.1.176-universal.jar%23444!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:60) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]

	at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:111) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.runTick(Minecraft.java:1155) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:230) ~[client-1.21.1-20240808.144430-srg.jar%23443!/:?]

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]

	at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]

	at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.39.jar%23107!/:4.0]

	at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.39.jar%23107!/:4.0]

	at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.39.jar%23107!/:4.0]

	at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.39.jar%23107!/:4.0]

	at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.4.jar%23112!/:?]

	at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.4.jar%23112!/:?]

	at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.4.jar%23112!/:?]

	at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.4.jar%23112!/:?]

	at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.4.jar%23112!/:?]

	at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.4.jar%23112!/:?]

	at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.4.jar%23112!/:?]

	at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?]

	at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?]

commented

The issue is here - it's not checking whether the compound is null, which I guess it would be when JEI is checking the recipes? I think it just needs a check similar to the one in setFluid.