Chocorean / authmod

Allows you to safely accept demo versions on your server.
https://minecraft.curseforge.com/projects/authmod
Apache License 2.0
20 stars 10 forks source link

Server returns an error when sending non-existing commands #48

Closed Chocorean closed 2 years ago

Chocorean commented 3 years ago

Describe the bug

Server raises an error when typing unknown command because of the handler.

To Reproduce

Steps to reproduce the behavior:

  1. Connect to the server
  2. Type /bullshit

Expected behavior

Server should say "unknown command" instead of having an error

Versions

Authmod 1.16.5-1.0.1

Log files

java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
        at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
        at java.base/java.util.Objects.checkIndex(Objects.java:372)
        at java.base/java.util.ArrayList.get(ArrayList.java:459)
        at io.chocorean.authmod.event.Handler.onCommand(Handler.java:86)
        at net.minecraftforge.eventbus.ASMEventHandler_21_Handler_onCommand_CommandEvent.invoke(.dynamic)
        at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85)
        at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302)
        at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283)
        at net.minecraft.command.Commands.performCommand(Commands.java:211)
        at net.minecraft.network.play.ServerPlayNetHandler.handleCommand(ServerPlayNetHandler.java:1119)
        at net.minecraft.network.play.ServerPlayNetHandler.handleChat(ServerPlayNetHandler.java:1102)
        at net.minecraft.network.play.ServerPlayNetHandler.handleChat(ServerPlayNetHandler.java:1081)
        at net.minecraft.network.play.client.CChatMessagePacket.handle(CChatMessagePacket.java:31)
        at net.minecraft.network.play.client.CChatMessagePacket.handle(CChatMessagePacket.java:8)
        at net.minecraft.network.PacketThreadUtil.lambda$ensureRunningOnSameThread$0(PacketThreadUtil.java:19)
        at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:17)
        at net.minecraft.util.concurrent.ThreadTaskExecutor.doRunTask(ThreadTaskExecutor.java:136)
        at net.minecraft.util.concurrent.RecursiveEventLoop.doRunTask(RecursiveEventLoop.java:22)
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:734)
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:159)
        at net.minecraft.util.concurrent.ThreadTaskExecutor.pollTask(ThreadTaskExecutor.java:109)
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:717)
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:711)
        at net.minecraft.util.concurrent.ThreadTaskExecutor.managedBlock(ThreadTaskExecutor.java:119)
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:697)
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:646)
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232)
        at java.base/java.lang.Thread.run(Thread.java:829)