Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [CHAT] Chatty - всеядный менеджер чата [1.7.10 - 1.20 и выше]

Сегодня чекну краш, спасибо!
JSON-сообщение отправляется через обычную команду tellraw.
В своем плагине когда-то использовал подобный код с использованием NMS. Мб сейчас варианты получше есть(например использовать Chat Component API), но это по крайней мере работало.

Код:
public void send(Player p, jsonString) {
    CraftPlayer cp=(CraftPlayer) p;
    cp.getHandle().playerConnection.sendPacket(new PacketPlayOutChat(ChatSerializer.a(jsonString)));
}
 
Код:
[20:51:26] [Netty IO #9/ERROR]: Could not pass event AsyncPlayerChatEvent to Chatty v2.1.1
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:338) ~[JavaPluginLoader$1.class:1.7.10-1614.58]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[RegisteredListener.class:1.7.10-1614.58]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:507) [SimplePluginManager.class:1.7.10-1614.58]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:489) [SimplePluginManager.class:1.7.10-1614.58]
    at net.minecraft.network.NetHandlerPlayServer.chat(NetHandlerPlayServer.java:1234) [nh.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:1158) [nh.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:38) [ir.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:53) [ir.class:?]
    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:137) [ej.class:?]
    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:353) [ej.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) [SimpleChannelInboundHandler.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
    at cpw.mods.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:220) [NetworkDispatcher.class:1.7.10-1614.58]
    at cpw.mods.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:47) [NetworkDispatcher.class:1.7.10-1614.58]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) [SimpleChannelInboundHandler.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [ByteToMessageDecoder.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [ByteToMessageDecoder.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
    at com.comphenix.protocol.injector.netty.ChannelInjector$4.channelRead(ChannelInjector.java:227) [ProtocolLib-3.4.0.jar:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [ByteToMessageDecoder.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
    at io.netty.handler.timeout.ReadTimeoutHandler.channelRead(ReadTimeoutHandler.java:149) [ReadTimeoutHandler.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:100) [AbstractNioByteChannel$NioByteUnsafe.class:?]
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:480) [NioEventLoop.class:?]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:447) [NioEventLoop.class:?]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:341) [NioEventLoop.class:?]
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [SingleThreadEventExecutor$2.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Caused by: java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909) ~[?:1.8.0_152]
    at java.util.ArrayList$Itr.next(ArrayList.java:859) ~[?:1.8.0_152]
    at thermos.chaud.HashedArrayList$HashedArrayIterator.next(HashedArrayList.java:215) ~[HashedArrayList$HashedArrayIterator.class:1.7.10-1614.58]
    at org.bukkit.craftbukkit.v1_7_R4.CraftWorld.getPlayers(CraftWorld.java:777) ~[CraftWorld.class:1.7.10-1614.58]
    at ru.mrbrikster.chatty.chat.Chat.getRecipients(Chat.java:43) ~[?:?]
    at ru.mrbrikster.chatty.listeners.ChatListener.onChat(ChatListener.java:165) ~[?:?]
    at ru.mrbrikster.chatty.listeners.LOW.onChat(LOW.java:27) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor221.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:334) ~[JavaPluginLoader$1.class:1.7.10-1614.58]
    ... 42 more
 
Весьма неплохой плагин, с достойным функционалом.
Куда можно подкинуть немного шекелей (желательно ЯД)
 
Можно поставить Название клана перед ником и как?
*Factions
 
Пишу в чат - ругается, без PlaceholderAPI все нормально
Код:
Could not pass event AsyncPlayerChatEvent to Chatty v2.1.2
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:482) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at net.minecraft.server.v1_12_R1.PlayerConnection.chat(PlayerConnection.java:1319) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1257) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
        at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
        at ru.mrbrikster.chatty.listeners.ChatListener.onJsonMessage(ChatListener.java:227) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
        ... 11 more
 
Пишу в чат - ругается, без PlaceholderAPI все нормально
Код:
Could not pass event AsyncPlayerChatEvent to Chatty v2.1.2
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:482) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at net.minecraft.server.v1_12_R1.PlayerConnection.chat(PlayerConnection.java:1319) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1257) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
        at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
        at ru.mrbrikster.chatty.listeners.ChatListener.onJsonMessage(ChatListener.java:227) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
        ... 11 more
Обновите плагин до 2.2, эта проблема там исправлена.
 
Скиньте новые логи
Код:
Could not pass event AsyncPlayerChatEvent to Chatty v2.2
org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:482) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
    at net.minecraft.server.v1_12_R1.PlayerConnection.chat(PlayerConnection.java:1319) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1257) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [craftbukkit.jar:git-Spigot-3d850ec-809c399]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
    at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.NoSuchMethodError: me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(Lorg/bukkit/OfflinePlayer;Ljava/lang/String;Ljava/util/regex/Pattern;)Ljava/lang/String;
    at ru.mrbrikster.chatty.dependencies.PlaceholderAPIHook.setPlaceholders(PlaceholderAPIHook.java:12) ~[?:?]
    at ru.mrbrikster.chatty.listeners.ChatListener.onChat(ChatListener.java:165) ~[?:?]
    at ru.mrbrikster.chatty.listeners.LOW.onChat(LOW.java:27) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Spigot-3d850ec-809c399]
    ... 11 more
 
Новая версия 2.2
Добавил систему личных сообщений.
Команды:
/msg (/message, /m, /pm)
/reply (/r)


Chatty на spigotmc.org.
Загрузить последнюю версию!
Здравствуйте. С новыми обновлениями не отображаются цвета самих сообщений игроков, то есть они всегда белые. Это было первое!
Второе - не работают подсказки JSON

# Команда, предлагаемая по нажатию на ник.
# *** Нельзя использовать "command" и "suggest_command" одновременно.
suggest_command: '/msg {player} '

По идее должна быть в строке чата подсказка /msg {player}, но таковой нет.
 
Здравствуйте. С новыми обновлениями не отображаются цвета самих сообщений игроков, то есть они всегда белые. Это было первое!
Второе - не работают подсказки JSON



По идее должна быть в строке чата подсказка /msg {player}, но таковой нет.

если ты хочешь, чтобы этот текст появлялся, когда наводишь мышь на ник игрока, нужно записать это в tooltip, а эта функция отвечает за клик, кликаешь и эта команда автоматически вводится в чат
 
если ты хочешь, чтобы этот текст появлялся, когда наводишь мышь на ник игрока, нужно записать это в tooltip, а эта функция отвечает за клик, кликаешь и эта команда автоматически вводится в чат

Я понял в чём тут дело (я про подсказки команд). В общем дело всё заключается в самописном моде xChat (это универсальный чат красивый со смайликами и вкладками, не суть!).

Вопрос с цветами остаётся по-прежнему открытым!
 

Поделиться этой страницей

Назад
Верх