Open
Description
Agreements
- I am using an official build of Nova.
- I am running the latest version of Nova.
- I am using a server software supported by Nova
- I am running the latest version of my server software.
- I have checked for similar issues.
Check for plugin incompatibilites
There are no other plugins running on my server.
Plugin Version, Server Software, Server Version
Nova: 0.18 , Paper version 1.21.4-221
Nova Addons and Versions
Jetpacks (0.1.14), Logistics (0.2.10), Machines (0.4.7), Nova (0.18), Simple_Upgrades (1.5), Vanilla_Hammers (1.6)
Expected behavior
When using /nova items a inventory-like menu with all the items is displayed, with sorted tabs by addon, recipes etc
Observed/Actual behavior
Getting a red message "An unexpected error ocurred trying to execute that command" with the tooltip "Missing property 'icon'"
Steps to reproduce
1.-Start server
2.- use command /nova items
Server log
Errors
[01:31:05 INFO]: Freakno issued server command: /nova items
[01:31:05 ERROR]: Command exception: /nova items
java.util.NoSuchElementException: Missing property 'icon'
at Nova-0.18.jar/xyz.xenondevs.nova.serialization.configurate.ItemCategorySerializer.deserialize(ItemCategorySerializer.kt:17) ~[Nova-0.18.jar:?]
at Nova-0.18.jar/xyz.xenondevs.nova.serialization.configurate.ItemCategorySerializer.deserialize(ItemCategorySerializer.kt:14) ~[Nova-0.18.jar:?]
at org.spongepowered.configurate.serialize.TypeSerializer.deserialize(TypeSerializer.java:96) ~[configurate-core-4.2.0-20250225.064233-204.jar:?]
at org.spongepowered.configurate.serialize.AbstractListChildSerializer.deserialize(AbstractListChildSerializer.java:72) ~[configurate-core-4.2.0-20250225.064233-204.jar:?]
at org.spongepowered.configurate.serialize.TypeSerializer$Annotated.deserialize(TypeSerializer.java:182) ~[configurate-core-4.2.0-20250225.064233-204.jar:?]
at org.spongepowered.configurate.AbstractConfigurationNode.get0(AbstractConfigurationNode.java:204) ~[configurate-core-4.2.0-20250225.064233-204.jar:?]
at org.spongepowered.configurate.AbstractConfigurationNode.get(AbstractConfigurationNode.java:162) ~[configurate-core-4.2.0-20250225.064233-204.jar:?]
at Nova-0.18.jar/xyz.xenondevs.nova.world.item.ItemCategories.categories$lambda$0(ItemCategories.kt:113) ~[Nova-0.18.jar:?]
at xyz.xenondevs.commons.provider.MappingProvider.pull(MappingProviders.kt:150) ~[?:?]
at xyz.xenondevs.commons.provider.AbstractProvider.get(AbstractProvider.kt:109) ~[?:?]
at xyz.xenondevs.commons.provider.MappingProvider.pull(MappingProviders.kt:150) ~[?:?]
at xyz.xenondevs.commons.provider.AbstractProvider.get(AbstractProvider.kt:109) ~[?:?]
at xyz.xenondevs.invui.gui.TabGuiImpl.bake(TabGuiImpl.java:37) ~[?:?]
at xyz.xenondevs.invui.gui.TabGuiImpl.setTabsSupplier(TabGuiImpl.java:80) ~[?:?]
at xyz.xenondevs.invui.gui.TabGuiImpl.<init>(TabGuiImpl.java:31) ~[?:?]
at xyz.xenondevs.invui.gui.TabGuiImpl$Builder.build(TabGuiImpl.java:213) ~[?:?]
at xyz.xenondevs.invui.gui.TabGuiImpl$Builder.build(TabGuiImpl.java:159) ~[?:?]
at xyz.xenondevs.invui.window.NormalSingleWindowImpl$BuilderImpl.build(NormalSingleWindowImpl.java:34) ~[?:?]
at Nova-0.18.jar/xyz.xenondevs.nova.ui.menu.explorer.creative.ItemsMenu.<init>(ItemsMenu.kt:156) ~[Nova-0.18.jar:?]
at Nova-0.18.jar/xyz.xenondevs.nova.command.impl.NovaCommand.openItemInventory(NovaCommand.kt:947) ~[Nova-0.18.jar:?]
at Nova-0.18.jar/xyz.xenondevs.nova.command.impl.NovaCommand.access$openItemInventory(NovaCommand.kt:101) ~[Nova-0.18.jar:?]
at Nova-0.18.jar/xyz.xenondevs.nova.command.impl.NovaCommand$node$22.invoke(NovaCommand.kt:180) ~[Nova-0.18.jar:?]
at Nova-0.18.jar/xyz.xenondevs.nova.command.impl.NovaCommand$node$22.invoke(NovaCommand.kt:180) ~[Nova-0.18.jar:?]
at Nova-0.18.jar/xyz.xenondevs.nova.command.CommandKt.executes0$lambda$0(Command.kt:20) ~[Nova-0.18.jar:?]
at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.10.jar:?]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:13) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:105) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:450) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.commands.Commands.performCommand(Commands.java:357) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.commands.Commands.performCommand(Commands.java:347) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.commands.Commands.performCommand(Commands.java:341) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImpl.java:2214) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$11(ServerGamePacketListenerImpl.java:2187) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:155) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1448) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:176) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:129) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1428) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1422) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:139) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1379) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1387) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1264) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:310) ~[paper-1.21.4.jar:1.21.4-221-c467df9]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Additional context
tried with paper1.21.4-68 originally with the same error