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 条目)。
相关条目
- CommandMe -
/me - CommandNick -
/nick - CommandRealname -
/realname - CommandSpy -
/spy - NicknameRepository - 昵称查询
- AsieLibMod - 实例化并注册事件
- ChatHandlerEiraIRC - EiraIRC 桥接