本帖最后由 ItsFlicker 于 2023-1-21 13:48 编辑 
 
 
复制代码




下载地址:

更新日志
一些截图
 
TrChat 其它特色
监听私聊,管理员支持切换监听模式,开始时将被推送玩家的私聊内容
聊天预览,率先支持1.19的预览功能,让玩家知道发出去的内容是什么样的
语言系统,TrChat的所有文字都可以在语言文件更改,且自动判断客户端语言
控制台说话,支持配置在控制台中的说话格式
聊天预览,率先支持1.19的预览功能,让玩家知道发出去的内容是什么样的
语言系统,TrChat的所有文字都可以在语言文件更改,且自动判断客户端语言
控制台说话,支持配置在控制台中的说话格式
跨服禁言,支持离线禁言,支持指定时间和原因
屏蔽功能,支持屏蔽特定玩家发言
长期维护, 免费下载,代码开源, 提供规范 API, 自动检测更新
长期维护, 免费下载,代码开源, 提供规范 API, 自动检测更新
示例
需要权限 trchat.global 以及50金币才可说话的喊话频道, 并且根据权限改变玩家名称颜色
- Options:
 
-   Speak-Condition: 'perm "trchat.global"' # 说话权限
 
-   Proxy: true # 开启跨服
 
-   Force-Proxy: true # 必须有跨服端时才可使用
 
 
- Bindings:
 
-   Prefix: ['!all'] # 聊天使用!all前缀自动触发喊话
 
-   Command: ['global', 'all', 'shout'] # 使用命令喊话
 
 
- Events:
 
-   Process: |- # 发送前触发
 
-     if check papi "%xconomy_balance_value%" > 50 then {
 
-       command inline "bal take {{ sender }} 50" as console
 
-     } else {
 
-       tell "金币不足,无法喊话."
 
-       exit
 
-     }
 
 
- Formats:
 
-   - msg:
 
-       default-color: 'f' # 默认白色聊天消息
 
-       hover: '&7Date: %server_time_HH:mm:ss%'
 
-     prefix:
 
-       server:
 
-         text: '&8[&3%server_name%&8] '
 
-         hover: |-
 
-           &7当前位置:&3生存一区
 
-           &7在线玩家:&a%server_online%&7/&2%server_max_players%
 
-       player:
 
-         text:
 
-           - '&e%player_name%&8: {condition: $ player.hasPermission("group.vip")}'
 
- - '&7%player_name%&8: '
下载地址:
TrChat Artifacts.zip
(6.5 MB, 下载次数: 4126)

bStats TrChat *Bukkit
bStats TrChat *BungeeCord
bStats TrChat *Velocity
更新日志
一些截图
很好用,支持作者,加油
s2 giegie后继有人了!!
支持作者,希望能修复 TrHologram(
支持作者,希望能修复 TrHologram(
好耶 感谢大佬 TRCHAT YYDS
终于升级了!支持!话说什么时候有可能让trchat兼容dynmap的聊天啊qwq
感谢大佬分享,蛮不错的,
之前某人提到的聊天事件不能与玩家很好兼容的BUG 是否已修复?
另外那个Functions下是否可增加文本通过正则表达式后替换的优先级?
最后是否修复了at的BUG?
不论如何,终于看到 TrChat 有人能够出面维护
非常的好!
另外那个Functions下是否可增加文本通过正则表达式后替换的优先级?
最后是否修复了at的BUG?
不论如何,终于看到 TrChat 有人能够出面维护
非常的好!
很好用,支持作者,加油
终于有人接手了爽!
金立天天有azzzz
大佬牛逼
 本帖最后由 wlys 于 2021-12-4 18:59 编辑 
从1.72版本及以下升级到1.8版本的注意事项
语言文件(plugins/Trchat/lang)
由于TabooLib 6对语言文件更改较多,现不再支持多级化语言文件
若您之前更改了语言文件且更改内容比较多的话, 建议您备份 lang 文件夹,
然后删掉生成一份默认的语言文件对照更改.
如果没更改您也可以直接删除 lang 文件夹, 重新生成新的默认语言文件.
数据库文件(datasource.yml)(仅1.8用户)
因 1.8 服务端 JDBC 驱动过旧, 因此需要对该配置文件做一些修改. 但该配置文件并没有出现在先前的 TrChat(1.72 及以前) 版本中, 因此在完成前面两项配置文件的迁移后需要先启动一次服务端.
不出意外, 您会看到以下错误信息:
复制代码此时, 配置文件 plugins/TrChat/datasource.yml 将会出现.
然后找到该配置文件节点 DefaultSettings.ConnectionTestQuery, 默认值为 ~, 只需要将它更改为 SELECT 1 即可完成迁移.
从1.72版本及以下升级到1.8版本的注意事项
语言文件(plugins/Trchat/lang)
由于TabooLib 6对语言文件更改较多,现不再支持多级化语言文件
若您之前更改了语言文件且更改内容比较多的话, 建议您备份 lang 文件夹,
然后删掉生成一份默认的语言文件对照更改.
如果没更改您也可以直接删除 lang 文件夹, 重新生成新的默认语言文件.
数据库文件(datasource.yml)(仅1.8用户)
因 1.8 服务端 JDBC 驱动过旧, 因此需要对该配置文件做一些修改. 但该配置文件并没有出现在先前的 TrChat(1.72 及以前) 版本中, 因此在完成前面两项配置文件的迁移后需要先启动一次服务端.
不出意外, 您会看到以下错误信息:
- [xx:xx:xx] [Server thread/INFO]: [TrChat] Enabling TrChat v1.80
 
- [xx:xx:xx] [Server thread/WARN]: SLF4J: No SLF4J providers were found.
 
- [xx:xx:xx] [Server thread/WARN]: SLF4J: Defaulting to no-operation (NOP) logger implementation
 
- [xx:xx:xx] [Server thread/WARN]: SLF4J: See [url]http://www.slf4j.org/codes.html#noProviders[/url] for further details.
 
- [xx:xx:xx] [Server thread/ERROR]: Error occurred while enabling TrChat v1.80 (Is it up to date?)
 
- java.lang.AbstractMethodError: org.sqlite.Conn.isValid(I)Z
 
-     at com.zaxxer.hikari_4_0_3.pool.PoolBase.checkValidationSupport(PoolBase.java:464) ~[?:?]
 
-     at com.zaxxer.hikari_4_0_3.pool.PoolBase.checkDriverSupport(PoolBase.java:447) ~[?:?]
 
-     at com.zaxxer.hikari_4_0_3.pool.PoolBase.setupConnection(PoolBase.java:416) ~[?:?]
 
-     at com.zaxxer.hikari_4_0_3.pool.PoolBase.newConnection(PoolBase.java:369) ~[?:?]
 
-     at com.zaxxer.hikari_4_0_3.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[?:?]
 
-     at com.zaxxer.hikari_4_0_3.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[?:?]
 
-     at com.zaxxer.hikari_4_0_3.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[?:?]
 
- ...
然后找到该配置文件节点 DefaultSettings.ConnectionTestQuery, 默认值为 ~, 只需要将它更改为 SELECT 1 即可完成迁移.
感谢大佬的分享
66666666666666
请问这个为什么无法tab任何命令补全,是需要给什么权限吗?(OP可以)
如何在聊天前缀中添加hexcolor?
        MCBBS有你更精彩~
不能下载了吗???
val motd = arrayOf(
"",
"§3 _______ §b _____ _ _ ",
"§3 |__ __| §b / ____|| | | | ",
"§3 | | _ __ §b| | | |__ __ _ | |_",
"§3 | || '__|§b| | | '_ \ / _` || __|",
"§3 | || | §b| |____ | | | || (_| || |_ ",
"§3 |_||_| §b \_____||_| |_| \__,_| \__|",
)
"",
"§3 _______ §b _____ _ _ ",
"§3 |__ __| §b / ____|| | | | ",
"§3 | | _ __ §b| | | |__ __ _ | |_",
"§3 | || '__|§b| | | '_ \ / _` || __|",
"§3 | || | §b| |____ | | | || (_| || |_ ",
"§3 |_||_| §b \_____||_| |_| \__,_| \__|",
)
太棒了!终于等到它更新了!
终于有大佬修复了,实在找不到别的好用的免费聊天插件了,感谢大佬修复!
支持作者 插件非常好用
终于支持了!好耶!更新更新!
luyang0123 发表于 2021-8-19 02:23
如何在聊天前缀中添加hexcolor?
使用最新构建,然后写&{#十六进制颜色}
Tontto 发表于 2021-8-18 17:33
请问这个为什么无法tab任何命令补全,是需要给什么权限吗?(OP可以)
请问这个TAB补全怎么解决,我也是遇到无法补全,给了那个什么权限也没用,删除了trchat就正常了...
楼主,我给了trchat.bypass.tabcomplete这个权限给玩家还是照样不能补全指令 1.16.5 spoit 用 的稳定版1.80
怎么安装,有点看不懂
谢谢楼主,楼主真好
为啥不支持1.7.10
建议作者弄个自己的群,A哥的群全员禁言了,布莱克的群太杂了
看看这个插件,或许能让服务器变得更完美!
终于修复了,等得好苦
优先级应该怎么弄呢我设置好优先级了但是比如说给vip弄不一样的  不应该要给个权限什么的吗
大佬能不能出个说明书很多命令喊话啥的展示啥的不知道怎么用
真不错白领票了
 本帖最后由 Miu🤔 于 2021-8-21 03:55 编辑 
啊!好像也不支持16进制颜色,称号不支持显示的颜色
似乎他使用的16进制是这样的&7[<r:0.7>EternalTags&7]'
-----用了最新的开发板
啊!好像也不支持16进制颜色,称号不支持显示的颜色
似乎他使用的16进制是这样的&7[<r:0.7>EternalTags&7]'
-----用了最新的开发板
纯净时代 发表于 2021-8-19 23:26
楼主,我给了trchat.bypass.tabcomplete这个权限给玩家还是照样不能补全指令 1.16.5 spoit 用 的稳定版1.80 ...
尝试使用最新开发板
玖狙梦 发表于 2021-8-20 22:49
优先级应该怎么弄呢我设置好优先级了但是比如说给vip弄不一样的 不应该要给个权限什么的吗 ...
给vip一个特殊的权限(如group.vip)
在vip聊天格式里requirement改为'perm *group.vip'
priority改为比其他格式小的数
xiaojin吖 发表于 2021-8-20 22:52
大佬能不能出个说明书很多命令喊话啥的展示啥的不知道怎么用
有这个计划,但最近应该不会
Miu🤔 发表于 2021-8-21 03:42
啊!好像也不支持16进制颜色,称号不支持显示的颜色
似乎他使用的16进制是这样的&7[EternalTags&7]'
----- ...
配置文件咋写的
[13:32:11 WARN]: Error loading plugin PlaceholderAPI
java.lang.NoClassDefFoundError: org/bukkit/plugin/java/JavaPlugin
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1010) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
at net.md_5.bungee.api.plugin.PluginClassloader.findClass(PluginClassloader.java:146) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at java.lang.ClassLoader.loadClass(ClassLoader.java:586) ~[?:?]
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass0(PluginClassloader.java:66) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass(PluginClassloader.java:59) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
at net.md_5.bungee.api.plugin.PluginManager.enablePlugin(PluginManager.java:394) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.api.plugin.PluginManager.enablePlugin(PluginManager.java:367) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.api.plugin.PluginManager.loadPlugins(PluginManager.java:300) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.BungeeCord.start(BungeeCord.java:278) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
Caused by: java.lang.ClassNotFoundException: org.bukkit.plugin.java.JavaPlugin
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass0(PluginClassloader.java:97) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass(PluginClassloader.java:59) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
... 14 more
java.lang.NoClassDefFoundError: org/bukkit/plugin/java/JavaPlugin
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1010) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
at net.md_5.bungee.api.plugin.PluginClassloader.findClass(PluginClassloader.java:146) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at java.lang.ClassLoader.loadClass(ClassLoader.java:586) ~[?:?]
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass0(PluginClassloader.java:66) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass(PluginClassloader.java:59) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
at net.md_5.bungee.api.plugin.PluginManager.enablePlugin(PluginManager.java:394) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.api.plugin.PluginManager.enablePlugin(PluginManager.java:367) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.api.plugin.PluginManager.loadPlugins(PluginManager.java:300) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.BungeeCord.start(BungeeCord.java:278) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
Caused by: java.lang.ClassNotFoundException: org.bukkit.plugin.java.JavaPlugin
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass0(PluginClassloader.java:97) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass(PluginClassloader.java:59) ~[waterfall-1.17-448.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:93773f9:448]
at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
... 14 more
Naive4901 发表于 2021-8-21 13:32
[13:32:11 WARN]: Error loading plugin PlaceholderAPI
java.lang.NoClassDefFoundError: org/bukkit/plug ...
你是不是把PlaceholderAPI放Waterfall里了
我用的是1.8升1.81的 玩家发聊天就报错
[14:04:43] [Async Chat Thread - #0/INFO]: [me.arasple.mc.trchat.taboolib.library.kether.LocalizedException.batch(LocalizedException.java:48), me.arasple.mc.trchat.taboolib.library.kether.LocalizedException.then(LocalizedException.java:36), me.arasple.mc.trchat.taboolib.library.kether.BlockReader.readActions(BlockReader.java:69), me.arasple.mc.trchat.taboolib.library.kether.BlockReader.readBlock(BlockReader.java:42), me.arasple.mc.trchat.taboolib.library.kether.BlockReader.parse(BlockReader.java:32), me.arasple.mc.trchat.taboolib.library.kether.SimpleQuestLoader.load(SimpleQuestLoader.java:18), me.arasple.mc.trchat.taboolib.module.kether.KetherUtilKt.parseKetherScript(KetherUtil.kt:19), me.arasple.mc.trchat.taboolib.module.kether.KetherShell.eval$lambda-0(KetherShell.kt:34), java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source), me.arasple.mc.trchat.taboolib.module.kether.KetherShell.eval(KetherShell.kt:33), me.arasple.mc.trchat.taboolib.module.kether.KetherShell.eval$default(KetherShell.kt:24), me.arasple.mc.trchat.util.ConditionsKt.checkKether(Conditions.kt:56), me.arasple.mc.trchat.util.ConditionsKt.checkCondition(Conditions.kt:33), me.arasple.mc.trchat.module.chat.format.objects.MsgComponent.toMsgTellraw(MsgComponent.kt:52), me.arasple.mc.trchat.module.chat.format.Format.apply(Format.kt:33), me.arasple.mc.trchat.module.chat.listeners.ListenerChatEvent.onChat(ListenerChatEvent.kt:67), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source), sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source), java.lang.reflect.Method.invoke(Unknown Source), me.arasple.mc.trchat.taboolib.common.platform.event.EventBus$inject$2.invoke(EventBus.kt:35), me.arasple.mc.trchat.taboolib.common.platform.event.EventBus$inject$2.invoke(EventBus.kt:35), me.arasple.mc.trchat.taboolib.platform.BukkitListener$registerListener$listener$1.invoke(BukkitListener.kt:34), me.arasple.mc.trchat.taboolib.platform.BukkitListener$registerListener$listener$1.invoke(BukkitListener.kt:34), me.arasple.mc.trchat.taboolib.platform.BukkitListener$BukkitListener.execute(BukkitListener.kt:57), org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70), org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589), org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576), net.minecraft.server.v1_16_R3.PlayerConnection.chat(PlayerConnection.java:1855), net.minecraft.server.v1_16_R3.PlayerConnection.c(PlayerConnection.java:1793), net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1731), net.minecraft.server.v1_16_R3.PacketPlayInChat$1.run(PacketPlayInChat.java:43), java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source), java.util.concurrent.FutureTask.run(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)]
[14:04:43] [Async Chat Thread - #0/INFO]: [me.arasple.mc.trchat.taboolib.library.kether.LocalizedException.batch(LocalizedException.java:48), me.arasple.mc.trchat.taboolib.library.kether.LocalizedException.then(LocalizedException.java:36), me.arasple.mc.trchat.taboolib.library.kether.BlockReader.readActions(BlockReader.java:69), me.arasple.mc.trchat.taboolib.library.kether.BlockReader.readBlock(BlockReader.java:42), me.arasple.mc.trchat.taboolib.library.kether.BlockReader.parse(BlockReader.java:32), me.arasple.mc.trchat.taboolib.library.kether.SimpleQuestLoader.load(SimpleQuestLoader.java:18), me.arasple.mc.trchat.taboolib.module.kether.KetherUtilKt.parseKetherScript(KetherUtil.kt:19), me.arasple.mc.trchat.taboolib.module.kether.KetherShell.eval$lambda-0(KetherShell.kt:34), java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source), me.arasple.mc.trchat.taboolib.module.kether.KetherShell.eval(KetherShell.kt:33), me.arasple.mc.trchat.taboolib.module.kether.KetherShell.eval$default(KetherShell.kt:24), me.arasple.mc.trchat.util.ConditionsKt.checkKether(Conditions.kt:56), me.arasple.mc.trchat.util.ConditionsKt.checkCondition(Conditions.kt:33), me.arasple.mc.trchat.module.chat.format.objects.MsgComponent.toMsgTellraw(MsgComponent.kt:52), me.arasple.mc.trchat.module.chat.format.Format.apply(Format.kt:33), me.arasple.mc.trchat.module.chat.listeners.ListenerChatEvent.onChat(ListenerChatEvent.kt:67), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source), sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source), java.lang.reflect.Method.invoke(Unknown Source), me.arasple.mc.trchat.taboolib.common.platform.event.EventBus$inject$2.invoke(EventBus.kt:35), me.arasple.mc.trchat.taboolib.common.platform.event.EventBus$inject$2.invoke(EventBus.kt:35), me.arasple.mc.trchat.taboolib.platform.BukkitListener$registerListener$listener$1.invoke(BukkitListener.kt:34), me.arasple.mc.trchat.taboolib.platform.BukkitListener$registerListener$listener$1.invoke(BukkitListener.kt:34), me.arasple.mc.trchat.taboolib.platform.BukkitListener$BukkitListener.execute(BukkitListener.kt:57), org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70), org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589), org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576), net.minecraft.server.v1_16_R3.PlayerConnection.chat(PlayerConnection.java:1855), net.minecraft.server.v1_16_R3.PlayerConnection.c(PlayerConnection.java:1793), net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1731), net.minecraft.server.v1_16_R3.PacketPlayInChat$1.run(PacketPlayInChat.java:43), java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source), java.util.concurrent.FutureTask.run(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)]



 
 
