Index 2 out of bounds for length 2
0PandaDEV opened this issue · comments
AnvilGUI Version: 1.9.5-SNAPSHOT
SpigotAPI Version: 1.21-R0.1-SNAPSHOT
Minecraft Server: 1.21 Paper
new AnvilGUI.Builder()
.onClick((state, text) -> {
RankAPI.setPrefix((Player) sender, args[1].toLowerCase(), ChatColor.translateAlternateColorCodes('&', " " + text.getText()));
return Collections.singletonList(AnvilGUI.ResponseAction.close());
})
.text(Main.getInstance().getConfig().getString("Ranks." + args[1].toLowerCase() + ".prefix").replace("§", "&"))
.itemLeft(new ItemStack(Material.NAME_TAG))
.title("Enter the new prefix")
.plugin(Main.getInstance())
.open(player);
[15:32:11 ERROR]: Command exception: /rank prefix owner
org.bukkit.command.CommandException: Unhandled exception executing command 'rank' in plugin Nextron v1.5.7
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:91) ~[paper-1.21.jar:1.21-9-4ea696f]
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.21.jar:1.21-9-4ea696f]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:19) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:103) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:446) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.commands.Commands.performCommand(Commands.java:353) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.commands.Commands.performCommand(Commands.java:340) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.commands.Commands.performCommand(Commands.java:335) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImpl.java:2147) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$11(ServerGamePacketListenerImpl.java:2121) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1478) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1456) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1449) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1408) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1529) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1246) ~[paper-1.21.jar:1.21-9-4ea696f]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:329) ~[paper-1.21.jar:1.21-9-4ea696f]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.ExceptionInInitializerError
at Nextron-1.5.7.jar/net.pandadev.anvilgui.AnvilGUI$Builder.<init>(AnvilGUI.java:400) ~[Nextron-1.5.7.jar:?]
at Nextron-1.5.7.jar/net.pandadev.nextron.commands.RankCommand.execute(RankCommand.java:122) ~[Nextron-1.5.7.jar:?]
at Nextron-1.5.7.jar/net.pandadev.nextron.commands.CommandBase.onCommand(CommandBase.java:50) ~[Nextron-1.5.7.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
... 27 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
at Nextron-1.5.7.jar/net.pandadev.anvilgui.version.VersionMatcher.match(VersionMatcher.java:29) ~[Nextron-1.5.7.jar:?]
at Nextron-1.5.7.jar/net.pandadev.anvilgui.AnvilGUI.<clinit>(AnvilGUI.java:42) ~[Nextron-1.5.7.jar:?]
at Nextron-1.5.7.jar/net.pandadev.anvilgui.AnvilGUI$Builder.<init>(AnvilGUI.java:400) ~[Nextron-1.5.7.jar:?]
at Nextron-1.5.7.jar/net.pandadev.nextron.commands.RankCommand.execute(RankCommand.java:122) ~[Nextron-1.5.7.jar:?]
at Nextron-1.5.7.jar/net.pandadev.nextron.commands.CommandBase.onCommand(CommandBase.java:50) ~[Nextron-1.5.7.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
... 27 more
Ah, amazing. Another good reason why we should've just gone with my implementation in #331. The version string is 1.21-R0.1-SNAPSHOT
, and there is no minor version, which breaks the version parsing code.
Well it would be a pretty simple fix, but yeah I still like the solution in #331 better because it's less complex and so there's less room for bugs like these to hide.
So how do i fix this now?
So how do i fix this now?
If you need an urgent fix, the easiest solution is to use Spigot instead of Paper for now (this issue only affects Paper servers). Or you could build #331 from the source code. But I would probably just wait until a fix such as #331 is merged and a new AnvilGUI build is published to the Maven repository.
I think this issue can be closed now that #331 was merged. The problem is gone for me when using AnvilGUI version 1.9.6-SNAPSHOT
.