Roughly Enough Items Fabric/Forge/NeoForge (REI)

Roughly Enough Items Fabric/Forge/NeoForge (REI)

38M Downloads

[Bug] Error Spam "String.isEmpty()" because "...AnvilUpdateEvent.getName()" is null

Freedbot opened this issue ยท 0 comments

commented

What happened?

The anvil recipe lookup feature is clashing with Silent's Gear, spamming 92 copies of the attached error in console. Technically this is an issue on Silent Gear's end, but it would be nice if REI handled the null value more quietly.
MC 1.20.1, Forge
Applies to all versions of Silent Gear, and any version of REI after #1381

Tested in a clean Prism instance with only REI, Silent's Gear, latest Forge, and their respective dependencies installed.
Tested multiple versions of Silent's Gear, Forge, and REI.

Issue posted in Silent's Gear prior to this.
SilentChaos512/Silent-Gear#681

What mod loaders are you seeing the problem on?

Forge

What do you think this bug is of?

  • Visual
  • Recipe Lookup
  • Cheat Mode
  • Plugin Integration / JEI Plugin Compatibility
  • Others

Relevant log output

[20:21:01] [REI-ReloadPlugins/ERROR] [ne.mi.ev.EventBus/EVENTBUS]: Exception caught during firing event: Cannot invoke "String.isEmpty()" because the return value of "net.minecraftforge.event.AnvilUpdateEvent.getName()" is null
	Index: 3
	Listeners:
		0: NORMAL
		1: ASM: com.oitsjustjose.vtweaks.common.tweaks.recipe.NBTAnvilRecipe@43711dd7 process(Lnet/minecraftforge/event/AnvilUpdateEvent;)V
		2: ASM: com.oitsjustjose.vtweaks.common.tweaks.recipe.ItemRepairTweak@20a44590 process(Lnet/minecraftforge/event/AnvilUpdateEvent;)V
		3: ASM: class net.silentchaos512.gear.event.RepairHandler onAnvilUpdate(Lnet/minecraftforge/event/AnvilUpdateEvent;)V
		4: net.minecraftforge.eventbus.EventBus$$Lambda$1666/0x0000029a617c2000@60643455
		5: net.minecraftforge.eventbus.EventBus$$Lambda$1666/0x0000029a617c2000@1407b7ca
		6: ASM: jackyy.exchangers.handler.CommonEventsHandler@3cd2c36 onAnvilUpdate(Lnet/minecraftforge/event/AnvilUpdateEvent;)V
java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because the return value of "net.minecraftforge.event.AnvilUpdateEvent.getName()" is null
	at TRANSFORMER/[email protected]/net.silentchaos512.gear.event.RepairHandler.applyName(RepairHandler.java:82)
	at TRANSFORMER/[email protected]/net.silentchaos512.gear.event.RepairHandler.handleGearRepair(RepairHandler.java:57)
	at TRANSFORMER/[email protected]/net.silentchaos512.gear.event.RepairHandler.onAnvilUpdate(RepairHandler.java:36)
	at TRANSFORMER/[email protected]/net.silentchaos512.gear.event.__RepairHandler_onAnvilUpdate_AnvilUpdateEvent.invoke(.dynamic)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296)
	at TRANSFORMER/[email protected]/net.minecraftforge.common.ForgeHooks.onAnvilChange(ForgeHooks.java:658)
	at TRANSFORMER/[email protected]/net.minecraft.world.inventory.AnvilMenu.m_6640_(AnvilMenu.java:125)
	at TRANSFORMER/[email protected]/net.minecraft.world.inventory.ItemCombinerMenu.m_6199_(ItemCombinerMenu.java:106)
	at TRANSFORMER/[email protected]/net.minecraft.world.inventory.ItemCombinerMenu$3.m_6596_(ItemCombinerMenu.java:96)
	at TRANSFORMER/[email protected]/net.minecraft.world.SimpleContainer.m_6836_(SimpleContainer.java:144)
	at TRANSFORMER/[email protected]/net.minecraft.world.inventory.Slot.m_5852_(Slot.java:63)
	at TRANSFORMER/[email protected]/net.minecraft.world.inventory.AbstractContainerMenu.m_182406_(AbstractContainerMenu.java:576)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.plugin.common.displays.anvil.DefaultAnvilDisplay.calculateOutput(DefaultAnvilDisplay.java:94)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.plugin.client.DefaultClientPlugin.registerDisplays(DefaultClientPlugin.java:421)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.impl.client.registry.display.DisplayRegistryImpl.acceptPlugin(DisplayRegistryImpl.java:64)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.impl.client.registry.display.DisplayRegistryImpl.acceptPlugin(DisplayRegistryImpl.java:50)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.api.common.registry.Reloadable.acceptPlugin(Reloadable.java:78)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.impl.common.plugins.PluginManagerImpl.lambda$startReload$9(PluginManagerImpl.java:417)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.impl.common.plugins.PluginManagerImpl.lambda$pluginSection$4(PluginManagerImpl.java:199)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.impl.common.plugins.PluginManagerImpl.lambda$startReload$10(PluginManagerImpl.java:407)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.impl.common.plugins.PluginManagerImpl.pluginSection(PluginManagerImpl.java:197)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.impl.common.plugins.PluginManagerImpl.startReload(PluginManagerImpl.java:405)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.RoughlyEnoughItemsCore._reloadPlugins(RoughlyEnoughItemsCore.java:162)
	at TRANSFORMER/[email protected]/me.shedaniel.rei.RoughlyEnoughItemsCoreClient.lambda$reloadPlugins$25(RoughlyEnoughItemsCoreClient.java:485)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

Anything else?

No response

By submitting this issue, I have included the necessary logs by pasting the contents into the correct location or attaching the file as an upload.

  • Yes, and I did not use any paste services other than GitHub Gists.

By submitting this issue, I have confirmed my REI and REI's dependencies are up to date.

  • Yes