ChatHandler

基本信息

属性 值
类名 pl.asie.lib.chat.ChatHandler
类型 class,5 个 public 方法
源码规模 204 行
总开关 base/enableChatTweaks,默认 false
启用版本 1.7.10

功能

聊天改造总控:改写聊天格式、按维度半径限制可见范围、喊话(!)、 绿字(>)、/me 动作、以及服务端聊天日志。 整个特性默认关闭。

实现要点

  • ⚠️ 只有 enableChatTweaks = true 时才注册事件总线并且才注册 4 个命令(ChatHandler.java:77-84)。默认配置下一条命令都不存在。
  • chatRadius 语义:< 0 = 完全禁用聊天(event.setCanceled(true));= 0(默认)= 不限距离;> 0 = 限定维度内方块距离。
  • ⚠️ 缺陷:格式化用 messageFormat.replaceAll("%m", message)(ChatHandler.java:133)。replaceAll 的替换串里 $ 与 \ 是特殊字符,玩家若在消息中输入这些会抛 IllegalArgumentException——被外层 catch (Exception) 吞掉并 printStackTrace(),然后退化成无格式的裸消息。
  • loggedInEvent 对权限等级 ≥ 2 且 spyOnByDefault 的玩家自动加入 CommandSpy.SPYING_USERS;loggedOutEvent 负责移除。
  • /spy 命令额外要求 chatRadius > 0(第 81 行)。
  • 12 个配置项全部在此类声明(见 Config 条目)。

相关条目