Photon-GitHub / AntiCheatAddition

An anticheat with nieche checks to cover cheats usually not covered by anticheats.
GNU General Public License v3.0
152 stars 45 forks source link

[Bug] Could not parse ChatColor #558

Closed untuned closed 1 year ago

untuned commented 1 year ago

Plugin Version: 8.6.1 Server Version:

Current: git-Purpur-1985 (MC: 1.19.4)*
Previous: git-Purpur-1984 (MC: 1.19.4)
* You are running the latest version
[20:22:15] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to AntiCheatAddition v8.6.1
java.lang.IllegalArgumentException: Could not parse ChatColor FF0078
    at net.md_5.bungee.api.ChatColor.of(ChatColor.java:273) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at net.md_5.bungee.chat.BaseComponentSerializer.deserialize(BaseComponentSerializer.java:47) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at net.md_5.bungee.chat.TextComponentSerializer.deserialize(TextComponentSerializer.java:26) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at net.md_5.bungee.chat.TextComponentSerializer.deserialize(TextComponentSerializer.java:13) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1319) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1290) ~[gson-2.10.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:179) ~[gson-2.10.jar:?]
    at net.md_5.bungee.chat.ComponentSerializer.deserialize(ComponentSerializer.java:107) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at net.md_5.bungee.chat.ComponentSerializer.deserialize(ComponentSerializer.java:27) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1319) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1290) ~[gson-2.10.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:179) ~[gson-2.10.jar:?]
    at net.md_5.bungee.chat.BaseComponentSerializer.deserialize(BaseComponentSerializer.java:88) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at net.md_5.bungee.chat.TextComponentSerializer.deserialize(TextComponentSerializer.java:26) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at net.md_5.bungee.chat.TextComponentSerializer.deserialize(TextComponentSerializer.java:13) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1319) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1290) ~[gson-2.10.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:179) ~[gson-2.10.jar:?]
    at net.md_5.bungee.chat.ComponentSerializer.deserialize(ComponentSerializer.java:107) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at net.md_5.bungee.chat.ComponentSerializer.deserialize(ComponentSerializer.java:27) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.jar:?]
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[gson-2.10.jar:?]
    at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1319) ~[gson-2.10.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1261) ~[gson-2.10.jar:?]
    at net.md_5.bungee.chat.ComponentSerializer.parse(ComponentSerializer.java:52) ~[bungeecord-chat-1.16-R0.4-deprecated+build.9.jar:?]
    at org.bukkit.craftbukkit.v1_19_R3.inventory.CraftMetaBook$SpigotMeta$1.get(CraftMetaBook.java:640) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at org.bukkit.craftbukkit.v1_19_R3.inventory.CraftMetaBook$SpigotMeta$1.get(CraftMetaBook.java:636) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at java.util.AbstractList$Itr.next(AbstractList.java:371) ~[?:?]
    at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845) ~[?:?]
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?]
    at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?]
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?]
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?]
    at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?]
    at de.photon.anticheataddition.modules.sentinel.exploits.BookPageSentinel.isIllegalBookMeta(BookPageSentinel.java:58) ~[AntiCheatAddition-8.6.1.jar:?]
    at de.photon.anticheataddition.modules.sentinel.exploits.BookPageSentinel.isIllegalStack(BookPageSentinel.java:44) ~[AntiCheatAddition-8.6.1.jar:?]
    at de.photon.anticheataddition.modules.sentinel.exploits.IllegalItemSentinel.handlePlayerEvent(IllegalItemSentinel.java:38) ~[AntiCheatAddition-8.6.1.jar:?]
    at de.photon.anticheataddition.modules.sentinel.exploits.IllegalItemSentinel.onPlayerInteract(IllegalItemSentinel.java:79) ~[AntiCheatAddition-8.6.1.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor766.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:git-Purpur-1985]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_19_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:564) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:538) ~[?:?]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:2041) ~[?:?]
    at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:37) ~[?:?]
    at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.a(ServerboundUseItemOnPacket.java:9) ~[?:?]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1369) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1346) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1339) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1317) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1205) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:325) ~[purpur-1.19.4.jar:git-Purpur-1985]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
Photon-GitHub commented 1 year ago

This just means that somehow, one of your players got a book with a hex color text instead of using the normal chat colors. I will probably add a function to remove books like these as well.