stargate-rewritten / Stargate-Interfaces

An interaction addon for features that break StarGate's user-immersion principle (commands and GUIs that exist outside of gameplay)
https://sgrewritten.org/infosgi
GNU Lesser General Public License v3.0
0 stars 0 forks source link

All style operations fail. #22

Closed Pheotis closed 4 months ago

Pheotis commented 4 months ago

Attempting to use style set, style quickset, or any other operations all fail. Latest paper, latest jars of all modules, latest core.

[ERROR]: Command exception: /sgi style set portal all blue
org.bukkit.command.CommandException: Unhandled exception executing command 'sgi' in plugin StargateInterfaces v0.2.0-ALPHA
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:86) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.2.9.jar:?]
        at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:31) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:19) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:103) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:448) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.commands.Commands.performCommand(Commands.java:355) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.commands.Commands.performCommand(Commands.java:342) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.commands.Commands.performCommand(Commands.java:337) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImpl.java:2202) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$14(ServerGamePacketListenerImpl.java:2176) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1511) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1488) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1411) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1377) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1238) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[paper-1.20.6.jar:1.20.6-128-3181470]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "net.kyori.adventure.text.format.TextColor.red()" because "color" is null
        at StargateInterfaces-0.2.0-ALPHA.jar/net.knarcraft.stargateinterfaces.util.ColorHelper.getColorProximity(ColorHelper.java:37) ~[StargateInterfaces-0.2.0-ALPHA.jar:?]
        at StargateInterfaces-0.2.0-ALPHA.jar/net.knarcraft.stargateinterfaces.util.ColorHelper.getClosestDyeColor(ColorHelper.java:19) ~[StargateInterfaces-0.2.0-ALPHA.jar:?]
        at StargateInterfaces-0.2.0-ALPHA.jar/net.knarcraft.stargateinterfaces.color.ColorModification.createModifiedInstance(ColorModification.java:26) ~[StargateInterfaces-0.2.0-ALPHA.jar:?]
        at StargateInterfaces-0.2.0-ALPHA.jar/net.knarcraft.stargateinterfaces.command.style.CommandStyle.lambda$applyColorModification$0(CommandStyle.java:116) ~[StargateInterfaces-0.2.0-ALPHA.jar:?]
        at StargateInterfaces-0.2.0-ALPHA.jar/net.knarcraft.stargateinterfaces.command.style.CommandStyle.applyColorModification(CommandStyle.java:122) ~[StargateInterfaces-0.2.0-ALPHA.jar:?]
        at StargateInterfaces-0.2.0-ALPHA.jar/net.knarcraft.stargateinterfaces.command.style.CommandStyle.onCommand(CommandStyle.java:55) ~[StargateInterfaces-0.2.0-ALPHA.jar:?]
        at StargateInterfaces-0.2.0-ALPHA.jar/net.knarcraft.stargateinterfaces.command.CommandStargate.onCommand(CommandStargate.java:55) ~[StargateInterfaces-0.2.0-ALPHA.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        ... 26 more
Thorinwasher commented 4 months ago

When testing this, what actually fails is that the current command only accepts hex strings as colors. This specific exception happens when the background color is specified to be changed whenever the color string is "invalid". (i.e. all or background)

I think we of course need to implement normal color names, should not be too hard, and of course send a localized error message to the user

Thorinwasher commented 4 months ago

Ah, I just realised that I had a local commit that I forgot to push, so that¨'s probably why I could not reproduce the issue