Brikster / Chatty

Bukkit-compatible chat management system
MIT License
88 stars 50 forks source link

[v3] различные ошибки в chatty #278

Open imtorich opened 6 months ago

imtorich commented 6 months ago
sudo Kamilla1967 c:wd
[14:06:08 ERROR]: [ru.brikster.chatty.chat.executor.LegacyEventExecutor] Cannot handle chat event
java.lang.IllegalStateException: ChattyMessageEvent may only be triggered asynchronously.
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:40) ~[purpur-1.20.4.jar:git-Purpur-2149]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[purpur-1.20.4.jar:git-Purpur-2149]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at ru.brikster.chatty.chat.executor.LegacyEventExecutor.handleFinishedEarlyContextEvent(LegacyEventExecutor.java:204) ~[Chatty-3.0.0-SNAPSHOT.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1070.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:git-Purpur-2149]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.20.4.jar:git-Purpur-2149]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[purpur-1.20.4.jar:git-Purpur-2149]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.adventure.ChatProcessor.post(ChatProcessor.java:416) ~[purpur-1.20.4.jar:git-Purpur-2149]
at io.papermc.paper.adventure.ChatProcessor.process(ChatProcessor.java:102) ~[purpur-1.20.4.jar:git-Purpur-2149]
at net.minecraft.server.network.ServerGamePacketListenerImpl.chat(ServerGamePacketListenerImpl.java:2389) ~[?:?]
at org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer.chat(CraftPlayer.java:676) ~[purpur-1.20.4.jar:git-Purpur-2149]
at com.Zrips.CMI.commands.list.sudo.perform(sudo.java:57) ~[CMI-9.6.10.5.jar:?]
at com.Zrips.CMI.commands.CommandsHandler.onCommand(CommandsHandler.java:401) ~[CMI-9.6.10.5.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.dispatchCommand(CraftServer.java:1013) ~[purpur-1.20.4.jar:git-Purpur-2149]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.dispatchServerCommand(CraftServer.java:998) ~[purpur-1.20.4.jar:git-Purpur-2149]
at net.minecraft.server.dedicated.DedicatedServer.handleConsoleInputs(DedicatedServer.java:541) ~[purpur-1.20.4.jar:git-Purpur-2149]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:488) ~[purpur-1.20.4.jar:git-Purpur-2149]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1548) ~[purpur-1.20.4.jar:git-Purpur-2149]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1236) ~[purpur-1.20.4.jar:git-Purpur-2149]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[purpur-1.20.4.jar:git-Purpur-2149]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]

ответ разработчика CMI: Мы просто запускаем базовый метод Player@chat(message), после чего все принимает и делает сам сервер, а затем ваш плагин чата перехватывает это событие и не может его обработать.

imtorich commented 6 months ago

Также ошибка идёт, если игрок в муте от плагина LiteBans, через плагин Chatty.

[20:56:40 WARN]: [ru.brikster.chatty.chat.executor.LegacyEventExecutor] Cannot handle chat event from Ttmyjk2 with format <%1$s> %2$s and message [event cancelled by LiteBans] реал due to hashcode idempotency error
[20:56:40 INFO]: Ttmyjk2 пытается говорить будучи в муте
imtorich commented 6 months ago

Также если используется CMI, и игрок в ванише - то сообщения всё равно доходят до игрока невидимки, хоть и в настройках указано hide-vanished-recipients: true