TrChat icon indicating copy to clipboard operation
TrChat copied to clipboard

[问题] 在Spigot 1.8.8时玩家输入[i]展示手中物品发生错误

Open VonKun1 opened this issue 1 year ago • 0 comments
trafficstars

是否已尝试最新的版本

  • [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

VonKun1 avatar Aug 09 '24 16:08 VonKun1