简体中文
技能状态栏
配置技能状态栏 (Action Bar) 要定下这些: 显示什么内容, 有哪些模板变量, 刷新间隔怎么设, 以及强制延迟怎么用
技能状态栏就是玩家施法时显示在屏幕底部的那行提示, 用来展示技能槽, 触发器, 强制延迟和当前状态. 这样玩家不用老是打开 GUI 去看自己绑了什么
配置位置
状态栏的配置在 config.yml 的 actionbar 节点:
yaml
actionbar:
# 是否启用技能状态 ActionBar
enabled: true
# 刷新间隔, 单位 tick; 小于 1 按 1 处理
refresh_interval_ticks: 10
# 施法模式下的显示模板
template_cast_mode: "<gold>施法模式</gold> %slot_1% %slot_2% %slot_3% <gray>延迟:</gray> %forced_delay%"
# 非施法模式模板; 空值回退源码默认文本, 不关闭显示
template_idle: ""| 字段 | 类型 | 必填 | 默认值 | 取值范围 | 说明 |
|---|---|---|---|---|---|
actionbar.enabled | boolean | 否 | true | true / false | 是否启用状态栏刷新. 关掉后就不再启动刷新任务了 |
actionbar.refresh_interval_ticks | integer | 否 | 10 | ≥ 1, 小于 1 按 1 | 刷新间隔, 单位 tick (20 tick ≈ 1 秒) |
actionbar.template_cast_mode | string | 否 | &aCast Mode &7| %slot_display% | MiniMessage 文本 | 施法模式开启时用的模板. 留空或全是空白时, 回退成内置默认模板 |
actionbar.template_idle | string | 否 | &7Idle | MiniMessage 文本 | 非施法模式的模板. 留空或全是空白时, 回退成内置默认值 |
IMPORTANT
目前的实现只在玩家处于施法模式并且技能档案已加载时才推送 Action Bar: 玩家退出施法模式或档案没加载时会直接跳过刷新, template_idle 不会发给玩家. 这个键仍然会被解析, 并作为回退的默认值留着
模板变量
| 变量 | 说明 |
|---|---|
%slot_display% | 所有槽位合并后的展示文本, 槽位之间用空格分隔 |
%slot_1% ~ %slot_n% | 指定槽位的展示文本. n 取决于玩家的技能槽数量 (slots.default_count); %slot_1% 对应索引 0 的槽位 |
%forced_delay% | 全局强制施法延迟的剩余时间, 格式是 1.5s; 没有延迟时是 0s |
槽位的展示文本由几部分拼起来: 技能绑定, 触发器显示名, 冷却状态和空槽状态. 空槽用语言文件里的 gui.slot_empty_short, 触发器显示名来自 triggers.<id>.display_name, 没绑触发器时用 gui.trigger_unbound_short
强制延迟
cast_timing 控制释放成功后写进去的全局强制延迟; 剩余时间用上面的 %forced_delay% 展示给玩家看
yaml
cast_timing:
# 成功施法后的全局延迟, 单位 tick; 0 关闭
forced_global_cast_delay_ticks: 0| 字段 | 类型 | 必填 | 默认值 | 取值范围 | 说明 |
|---|---|---|---|---|---|
cast_timing.forced_global_cast_delay_ticks | integer | 否 | 0 | ≥ 0, 负数按 0 | 成功施法后写进去的全局强制延迟, 单位 tick. 延迟期间新的施法尝试会以 cast.forced_delay 失败. 0 表示关闭 |
与施法模式的关系
状态栏只在施法模式开启时才刷新. 施法模式的入口键, 启用开关和重登恢复策略写在 config.yml > cast_mode, 见 触发器 - 施法模式
- 施法模式开启后, 主动触发器才会监听左键, 右键, Q 键, 数字键这些服务端能看到的操作
- 玩家重登时若
cast_mode.restore_last_state_on_join: true, 会恢复上次的施法模式状态, 状态栏刷新也随之恢复
推荐模板
简洁模板
yaml
actionbar:
template_cast_mode: "<gold>施法</gold> %slot_display%"技能槽比较少的服务器, 用它最合适
带延迟提示
yaml
actionbar:
template_cast_mode: "<gold>施法模式</gold> %slot_1% %slot_2% %slot_3% <gray>延迟:</gray> %forced_delay%"你启用了 cast_timing.forced_global_cast_delay_ticks 的话, 用它最合适
使用建议
- 如果你服务器上已经有战斗提示, 区域提示, 任务提示等 Action Bar 输出, 最好统一规划一下谁优先显示
- 技能槽数量比较多时, 建议用
%slot_display%或拆成好几组显示, 免得一行太长
排查建议
- 状态栏不显示: 检查
actionbar.enabled是否为 true, 你是否已进入施法模式, 技能档案是否已加载 - 槽位显示为空: 检查你是否拥有技能, 是否已绑定槽位, 技能来源是否已同步
- 延迟一直不变: 检查
cast_timing.forced_global_cast_delay_ticks是否配置异常, 技能释放是否成功写入延迟 - 与其他 Action Bar 插件冲突: 调整
actionbar.refresh_interval_ticks