Closed jlxnb closed 1 year ago
启用插件后,游戏内容可以转发到QQ QQ内容无法转发至游戏 MiraiMC可以显示QQ消息 [CatSero] [Catch] 捕获到一个错误 [CatSero] [Catch] 错误类型: java.lang.NullPointerException [CatSero] [Catch] 捕获消息: Cannot invoke "java.lang.CharSequence.toString()" because "replacement" is null
Paper-1.19.4-522
2.4-beta
plugman reload catsero [21:32:18 INFO]: [CatSero] Disabling CatSero v2.4-beta [21:32:18 INFO]: [CatSero] [Loader] Disabling CatSero. [21:32:18 INFO]: [CatSero] If you love CatSero, don't forget to give it a Star on GitHub! [21:32:19 INFO]: [CatSero] Loading server plugin CatSero v2.4-beta [21:32:19 INFO]: [CatSero] [Loader] Start loading CatSero... [21:32:19 INFO]: [CatSero] [Loader] Checking server information... [21:32:19 INFO]: [CatSero] 检测到您已安装Geyser-Spigot,但未安装floodgate,互通服优化将自动禁用 [21:32:19 INFO]: [CatSero] [Loader] Saving files... [21:32:19 INFO]: [CatSero] [Loader] Saving plugin configuration files... [21:32:19 INFO]: [CatSero] [Loader] Saved. [21:32:19 INFO]: [CatSero] [Loader] Saving default i18n locale file... [21:32:19 INFO]: [CatSero] [Loader] Saved. [21:32:19 INFO]: [CatSero] [Loader] Saved all files. [21:32:19 INFO]: [CatSero] [Loader] Loading configurations... [21:32:19 INFO]: [CatSero] [Loader] Loaded. [21:32:19 INFO]: [CatSero] [Loader] ===== CatSero Runtime Checker ===== [21:32:19 INFO]: [CatSero] [Loader] Server Version: git-Paper-522 (MC: 1.19.4) [21:32:19 INFO]: [CatSero] [Loader] Bukkit Version: 1.19.4-R0.1-SNAPSHOT [21:32:19 INFO]: [CatSero] [Loader] Plugin Version: 2.4-beta [21:32:19 INFO]: [CatSero] [Loader] Depends: [21:32:19 INFO]: [CatSero] [Loader] - MiraiMC => true [21:32:19 INFO]: [CatSero] [Loader] Soft-depends: [21:32:19 INFO]: [CatSero] [Loader] - PlaceholderAPI => true [21:32:19 INFO]: [CatSero] [Loader] - TrChat => true [21:32:19 INFO]: [CatSero] [Loader] - floodgate => false [21:32:19 INFO]: [CatSero] [Loader] =================================== [21:32:19 INFO]: [CatSero] Enabling CatSero v2.4-beta [21:32:19 INFO]: [CatSero] [Loader] Registering Executors... [21:32:19 INFO]: [CatSero] [Loader] Registered. [21:32:19 INFO]: [CatSero] [Loader] Registering Listeners... [21:32:19 INFO]: [CatSero] [Loader] Registered. [21:32:19 INFO]: [CatSero] [Loader] Registering QQCommands... [21:32:19 INFO]: [CatSero] [Loader] Registered. [21:32:19 INFO]: [CatSero] Start bStats. [21:32:19 INFO]: [CatSero] [Loader] Start TPSCalculator. [21:32:19 INFO]: [CatSero] [Loader] Start check Notepad++. [21:32:19 INFO]: [CatSero] [Loader] CatSero loaded. [21:32:19 INFO]: [CatSero] [Loader] Start checking update. [21:32:19 INFO]: [CatSero] [Loader] Start filter auto-update. [21:32:19 INFO]: [PlugMan] CatSero has been reloaded. [21:32:21 INFO]: [CatSero] [Task] 成功更新了 304 个屏蔽词,当前屏蔽词数量: 304 [21:36:19 INFO]: [MiraiMC] [GroupMessage/2764848922] [PepperCraft1.19.4 第一舰队(522291896)] 屑腐竹(2747789919) -> 1 [21:36:19 WARN]: [CatSero] [Catch] 捕获到一个错误 [21:36:19 WARN]: [CatSero] [Catch] 错误类型: java.lang.NullPointerException [21:36:19 WARN]: [CatSero] [Catch] 捕获消息: Cannot invoke "java.lang.CharSequence.toString()" because "replacement" is null [21:36:19 WARN]: [CatSero] [Catch] 详细信息: - java.base/java.lang.String.replace(String.java:2956) - CatSero-2.4-beta.jar//moe.xmcn.catsero.uses.listeners.chatForward.OnGroupMessageToMC.run(OnGroupMessageToMC.java:150) - CatSero-2.4-beta.jar//moe.xmcn.catsero.uses.listeners.chatForward.OnGroupMessageToMC.onGroupMessage(OnGroupMessageToMC.java:91) - com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor316.execute(Unknown Source) - org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) - co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) - org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) - io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) - io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) - org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) - MiraiMC-Bukkit.jar//me.dreamvoid.miraimc.bukkit.MiraiEvent.lambda$startListenEvent$8(MiraiEvent.java:121) - MiraiMC-Bukkit.jar//net.mamoe.mirai.event.EventChannel$subscribeAlways$2$1.invoke(EventChannel.kt:600) - MiraiMC-Bukkit.jar//net.mamoe.mirai.event.EventChannel$subscribeAlways$2$1.invoke(EventChannel.kt:600) - MiraiMC-Bukkit.jar//kotlinx.coroutines.InterruptibleKt.runInterruptibleInExpectedContext(Interruptible.kt:51) - MiraiMC-Bukkit.jar//kotlinx.coroutines.InterruptibleKt.access$runInterruptibleInExpectedContext(Interruptible.kt:1) - MiraiMC-Bukkit.jar//kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:43) - MiraiMC-Bukkit.jar//kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) - MiraiMC-Bukkit.jar//kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) - MiraiMC-Bukkit.jar//kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42) - MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) - MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) - MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) - MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) - MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) [21:36:19 WARN]: [CatSero] [Catch] 如您认为这不是配置错误、网络原因导致的问题,请前往此处报告: [21:36:19 WARN]: [CatSero] [Catch] https://github.com/XiaMoHuaHuo-CN/CatSero/issues
配置文件:
# CatSero UsesConfig # Generate by CatSero v2.4-beta # 所有的发送至QQ群的消息都支持mirai码 # 参见: # https://docs.mirai.mamoe.net/Messages.html#mirai-%E7%A0%81 # https://docs.mirai.mamoe.net/Messages.html#%E6%B6%88%E6%81%AF%E5%85%83%E7%B4%A0 # https://docs.mirai.mamoe.net/Messages.html#%E6%B6%88%E6%81%AF%E9%93%BE%E7%9A%84-mirai-%E7%A0%81 # 聊天转发 chat-forward: # 功能开关 # true | false enable: true # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 自动清理样式代码 clean-stylecode: to-mc: false to-qq: true # 消息头检测 # 只有消息以这个字符串开头才会被转发 header: # 功能开关 # true | false enable: false # 消息头设置 prefix: to-mc: '#' to-qq: '#' # 允许游戏内玩家使用mirai码 allow-miraicode: false # 过滤器 # 检测到消息内含有列表中的文本 filter: # 功能开关 # true | false enable: false # 自动更新列表 auto-update: # 功能开关 # true | false enable: true # 更新间隔 # 单位: 秒 interval: 300 # 列表 list: # 原生的列表 via: to-mc: [] to-qq: [] # 从外部导入 import: # 本地 local: [] # 远程 # 此处使用的是TrChat的默认远程源 # 感谢南城提供的词库 # CDN JsDelivr remote: - https://cdn.jsdelivr.net/gh/Yurinann/Filter-Thesaurus-Cloud@main/database.json # 替换成的字符 replace: '**' # 使用MiraiMC内置绑定数据库查询QQ发言者名称 use-bind: true # 格式 format: # 内置占位符: # - %sender_permission% 发言者群权限(member,admin,owner) # - %name% 发言者名称 # - %message% 消息 to-mc: '&e[&aQQ&e]&b%name%&r: %message%' # 内置占位符: # - %sender_permission% 发言者权限(player,admin) # - %name% 发言者名称 # - %display_name% 发言者游戏中显示名称 # - %message% 消息 to-qq: '[MC]%name%: %message%' # 发送玩家加入/退出消息 send-player-join-quit: # 功能开关 # true | false enable: true # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 格式 # 内置占位符: # - %player% 加入玩家名称 format: # 加入 join: '%player%加入了游戏' # 退出 quit: '%player%退出了游戏' # 需要拥有权限才会发送 need-permission: false # 发送玩家死亡消息 send-player-death: # 功能开关 # true | false enable: true # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 格式 # 内置占位符: # - %player% 玩家名 # - %message% 死亡消息 format: |- %player%死了,因为 %message% # 需要拥有权限才会发送 need-permission: false # 新人加入群欢迎 new-group-member-notification: # 功能开关 # true | false enable: true # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 格式 # 内置占位符: # - %at% @新成员 # - %code% 新成员QQ号 format: 欢迎%at%(%code%)加入本群! # 玩家解锁进度转发 send-advancement: # 功能开关 # true | false enable: true # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 格式 # 内置占位符: # = %player% 玩家名 # - %name% 进度名 # - %description% 进度描述 format: |- %player%达成了进度: %name% 描述: %description% # 需要拥有权限才会发送 need-permission: false # TPS获取 get-tps: # 功能开关 # true | false enable: true # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 在线玩家获取 get-online-list: # 功能开关 # true | false enable: true # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 格式 format: # 无论是否有玩家在线都会发送 # 内置占位符: # - %count% 当前在线玩家数 # - %max% 最大在线玩家数 '0': |- 当前在线: %count% 最大在线: %max% # 当有玩家在线才发送 # 内置占位符: # - %count% 当前在线玩家数 # - %max% 最大在线玩家数 # - %list% 当前在线玩家列表 '1': '玩家列表: %list%' # QQ白名单 qwhitelist: # 功能开关 # true | false enable: false # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 检查是否在群内 # 若存在白名单但不在群内则视为无 check-if-on-group: true # 自助申请白名单 self-application: # 功能开关 # true | false enable: false # 申请格式 # 内置占位符: # - %name% 玩家名(只能设置一个) format: '!申请白名单 %name%' # 限制每个QQ只能拥有一个白名单 a-qq-only-an-account: true # 账户名称正则表达式 regex: ^[A-Za-z0-9_]+$ # 离群提示 group-member-leave-notification: # 功能开关 # true | false enable: false # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 格式 # 内置占位符: # - %name% 名称 # - %code% QQ号 format: '%name%(%code%)离开了本群' # QQ命令执行 qcmd: # 功能开关 # true | false enable: true # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # QQ群占位符 info-placeholder: # 功能开关 # true | false enable: false # Bot & Group设置 var: # BotID bot: hello-bot # GroupID groups: - hello-group # 插件应该自动更新哪个内容的名称 # (group|bot) should-updates: - group - bot # 更新间隔 # 单位: 秒 interval: # 群名称 title: 30 # Bot群名称 bot-name: 60 # 群名称格式 format: titles: hello-group: '%origin% - 在线: %player_limit%/%player_max%' bot-name: '%origin% - TPS: %server_tps%'
~~您好,请检查您的i18n文件是否包含有 minecraft.call.owner 这个节点~~
minecraft.call.owner
2.4已更新,修复该问题
问题描述
启用插件后,游戏内容可以转发到QQ QQ内容无法转发至游戏 MiraiMC可以显示QQ消息 [CatSero] [Catch] 捕获到一个错误 [CatSero] [Catch] 错误类型: java.lang.NullPointerException [CatSero] [Catch] 捕获消息: Cannot invoke "java.lang.CharSequence.toString()" because "replacement" is null
复现方法
服务端版本
Paper-1.19.4-522
CatSero 版本
2.4-beta
服务端日志
额外说明
配置文件: