TrChat
TrChat copied to clipboard
[问题] 在Spigot 1.8.8时玩家输入[i]展示手中物品发生错误
是否已尝试最新的版本
- [x] 我已更新 TrChat 至最新的版本, 并且同样复现该问题.
是否已查阅 Wiki
- [X] 我已查阅 Wiki 对于该问题的相关内容, 并确定该问题是存在的.
如果使用跨服功能, 是否在代理端上安装了TrChat或使用redis转发?
- [x] 我已在代理端上安装了TrChat或使用redis转发
详细描述
在Spigot 1.8.8时玩家输入[i]展示手中物品发生错误
配置文件
General:
Command-Controller:
Enabled: true
List:
- 'arasple{exact: true}{condition: perm "trchat.admin"}'
- 'ver(sion)?(s)?{condition: perm "trchat.admin"}'
- 'help(s)?{condition: perm *trchat.admin}'
- 'shout{cooldown: 3}'
Mention:
Enabled: true
Self-Mention: false
Permission: 'none'
Cooldown: '30s'
Notify: true
Action: [ ]
Mention-All:
Enabled: true
Permission: 'trchat.function.mentionall'
Cooldown: '5m'
Notify: true
Keys:
- "@all"
- "@everyone"
- "@everybody"
- "@所有人"
- "@全体成员"
Action: [ ]
Item-Show:
Enabled: true
Permission: 'none'
Cooldown: '1s'
Origin-Name: false
Compatible: true
UI: true
Keys:
- "%i%"
- "%i"
- "%item%"
- "%item"
- "[i]"
- "[item]"
Action: [ ]
Inventory-Show:
Enabled: true
Permission: 'trchat.function.inventoryshow'
Cooldown: '30s'
Keys:
- '[inv]'
- '[inventory]'
Action: [ ]
EnderChest-Show:
Enabled: true
Permission: 'trchat.function.enderchestshow'
Cooldown: '30s'
Keys:
- '[ender]'
- '[enderchest]'
Actions: [ ]
Image-Show:
Enabled: true
Permission: 'trchat.function.imageshow'
Cooldown: '1m'
Key: '!\[([^;]*)\]\(([a-zA-Z]+://[^\s]*)\)'
Action: [ ]
Custom:
# 示例 —— 网站分享
shareUrl:
pattern: '((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+'
display:
text: '&8[&f&l网站&8]'
hover:
- ''
- '&3网站: {0}'
- ''
- '&7点击进入!'
- ''
- '&8[&c!&8] &7谨防任何诈骗'
url: '{0}'
# 示例 —— QQ 分享
shareQQ:
condition: ~
priority: 100
# 匹配表达式
# 示例模块的表达式部分来自互联网
pattern: 'QQ( )?[1-9]([0-9]{5,11})'
# 变量 {0} 是按下方表达式提取后的内容, 可以不配置此项
text-filter: '[1-9]([0-9]{5,11})'
# 自定义显示 JSON 组件
display:
text: '&8[&3&lQQ&8]'
hover:
- ''
- '&3QQ: &b{0}'
- ''
- '&7这是一个 QQ 账号,'
- '&7你可以点击此项快速打开聊天'
- ''
- '&8[&c!&8] &7请勿进行任何金钱交易'
- '&8[&c!&8] &7交友需谨慎'
url: 'https://wpa.qq.com/msgrd?v=3&uin={0}&site=qq&menu=yes'
# 示例 —— B站视频 分享
shareBilibili:
pattern: 'BV( )?.{10}'
text-filter: '.{12}'
# 自定义显示 JSON 组件
display:
text: '&8[&f&lBilibili&8]'
hover:
- ''
- '&7这可能是一个 Bilibili 视频,'
- '&7点击即可访问'
- ''
- '&3BV号: &b{0}'
url: 'https://www.bilibili.com/video/{0}'
# 示例 —— 防止玩家暴露、分享真实手机号
hidePhoneNumber:
pattern: '((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\d{8}'
display:
text: '&8[&c&m-&8]'
hover:
- '&7该内容疑似为手机号码,'
- '&7已自动屏蔽隐藏.'
- ''
- '&8[&c!&8] &7请勿分享任何隐私信息'
# 示例 —— 隐藏身份证
hideIDCardNumber:
pattern: '([1-9]\d{5}[12]\d{3}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9xX])'
display:
text: '&8[&c&m-&8]'
hover:
- '&7该内容疑似为身份证号,'
- '&7已自动屏蔽隐藏.'
- ''
- '&8[&c!&8] &7请勿分享任何隐私信息'
- '&7严重者可能处于禁言/封禁'
# 示例 —— 高亮 IP
glowIP:
pattern: '(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)'
display:
text: '&e&n{0}'
hover:
- '&7这是一个 IP地址'
- '&7点击复制!'
copy: '{0}'
# 示例 —— 高亮邮箱
glowEmail:
pattern: '\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}'
display:
text: '&e&n{0}'
hover:
- '&7这是一个邮箱'
- '&7点击复制!'
copy: '{0}'
日志
[23:15:23 ERROR]: Could not pass event AsyncPlayerChatEvent to TrChat v2.1.0 java.util.concurrent.ExecutionException: java.lang.NoSuchFieldException: org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity#handle at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:135) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2346) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2318) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.cache.LocalCache.get(LocalCache.java:3934) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4736) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at me.arasple.mc.trchat.module.display.function.standard.ItemShow.parseVariable(ItemShow.kt:119) ~[?:?] at me.arasple.mc.trchat.module.display.format.MsgComponent.createComponent(MsgComponent.kt:46) ~[?:?] at me.arasple.mc.trchat.module.display.channel.Channel.execute(Channel.kt:150) ~[?:?] at me.arasple.mc.trchat.module.internal.listener.ListenerBukkitChat.onBukkitChat(ListenerBukkitChat.kt:48) ~[?:?] at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source) ~[?:1.8.0_291] at me.arasple.mc.trchat.taboolib.library.reflex.JavaClassMethod.invoke(JavaClassMethod.kt:31) ~[?:?] at me.arasple.mc.trchat.taboolib.common.platform.event.EventBus.invoke(EventBus.kt:107) ~[?:?] at me.arasple.mc.trchat.taboolib.common.platform.event.EventBus.invoke$default(EventBus.kt:105) ~[?:?] at me.arasple.mc.trchat.taboolib.common.platform.event.EventBus$registerBukkit$2.invoke(EventBus.kt:75) ~[?:?] at me.arasple.mc.trchat.taboolib.common.platform.event.EventBus$registerBukkit$2.invoke(EventBus.kt:75) ~[?:?] at me.arasple.mc.trchat.taboolib.common.platform.function.ListenerKt$registerBukkitListener$1.invoke(Listener.kt:36) ~[?:?] at me.arasple.mc.trchat.taboolib.common.platform.function.ListenerKt$registerBukkitListener$1.invoke(Listener.kt:36) ~[?:?] at me.arasple.mc.trchat.taboolib.platform.BukkitListener$registerListener$listener$1.invoke(BukkitListener.kt:34) ~[?:?] at me.arasple.mc.trchat.taboolib.platform.BukkitListener$registerListener$listener$1.invoke(BukkitListener.kt:34) ~[?:?] at me.arasple.mc.trchat.taboolib.platform.BukkitListener$BukkitListener.execute(BukkitListener.kt:55) ~[?:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at net.minecraft.server.v1_8_R3.PlayerConnection.chat(PlayerConnection.java:1084) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1022) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at net.minecraft.server.v1_8_R3.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_291] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_291] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_291] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_291] at java.lang.Thread.run(Unknown Source) [?:1.8.0_291] Caused by: java.lang.NoSuchFieldException: org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity#handle at me.arasple.mc.trchat.taboolib.library.reflex.JavaClassStructure.getField(JavaClassStructure.kt:20) ~[?:?] at me.arasple.mc.trchat.taboolib.library.reflex.ReflexClass.getField(ReflexClass.kt:26) ~[?:?] at me.arasple.mc.trchat.taboolib.library.reflex.ReflexClass.getField(ReflexClass.kt:29) ~[?:?] at me.arasple.mc.trchat.taboolib.library.reflex.ReflexClass.getField(ReflexClass.kt:29) ~[?:?] at me.arasple.mc.trchat.taboolib.library.reflex.ReflexClass.getField(ReflexClass.kt:29) ~[?:?] at me.arasple.mc.trchat.taboolib.library.reflex.Reflex$Companion.getLocalProperty(Reflex.kt:83) ~[?:?] at me.arasple.mc.trchat.taboolib.library.reflex.Reflex$Companion.getProperty(Reflex.kt:56) ~[?:?] at me.arasple.mc.trchat.taboolib.library.reflex.Reflex$Companion.getProperty$default(Reflex.kt:52) ~[?:?] at me.arasple.mc.trchat.taboolib.module.nms.LocaleI18nKt.getLocaleFile(LocaleI18n.kt:28) ~[?:?] at me.arasple.mc.trchat.taboolib.module.nms.NMSI18nKt.getI18nName(NMSI18n.kt:20) ~[?:?] at me.arasple.mc.trchat.module.display.function.standard.ItemShow.getNameComponent(ItemShow.kt:222) ~[?:?] at me.arasple.mc.trchat.module.display.function.standard.ItemShow.access$getNameComponent(ItemShow.kt:49) ~[?:?] at me.arasple.mc.trchat.module.display.function.standard.ItemShow$parseVariable$1$2.invoke(ItemShow.kt:143) ~[?:?] at me.arasple.mc.trchat.module.display.function.standard.ItemShow$parseVariable$1$2.invoke(ItemShow.kt:141) ~[?:?] at me.arasple.mc.trchat.module.display.function.Function$Companion.getComponentFromLang(Function.kt:63) ~[?:?] at me.arasple.mc.trchat.module.display.function.standard.ItemShow.parseVariable$lambda$4(ItemShow.kt:141) ~[?:?] at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4739) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-21fe707-741a1bd] ... 30 more
服务器环境
服务器版本: Spigot 1.8.8 插件列表: LuckPerms, AntiExplosion, Law, WorldEdit, GameEvents, PlaceholderAPI, PlugMan, ServerJoin, NoFallDemage, Vault, ItemEdit, Multiverse-Core, WorldGuard, Citizens, ChestCommands, DecentHolograms, Essentials, TrChat, ajLeaderboards, CommandNPC, XConomy, ScoreBoard, BingSkyPvP