Skip to content

占位符参考 ​

EmakiSkills 提供的占位符如下, 包括 PlaceholderAPI 的占位符和升级动作里能用的上下文变量, 可直接复制到 lore, GUI 模板或动作配置中使用

PlaceholderAPI 占位符 ​

扩展标识符: emakiskills

前置条件: 已安装 PlaceholderAPI. 满足后 EmakiSkills 会自动注册下面这些占位符, 无需额外配置. 所有占位符都按小写匹配; 玩家档案没加载, 或参数解析不出来时返回空字符串. 验证: 在 lore 或聊天中写入占位符, 能解析出示例列的取值即生效

全局占位符 ​

占位符说明示例
%emakiskills_cast_mode%是不是处于施法模式true
%emakiskills_global_cooldown%全局冷却的剩余秒数, 保留 1 位小数1.5
%emakiskills_unlocked_count%已解锁技能的数量: 槽位绑定的技能和档案里出现过的技能 id 的并集8
%emakiskills_slot_count%玩家的技能槽数量 (绑定列表长度, 由 slots.default_count 决定)6
%emakiskills_level_total%档案里所有技能等级加起来的总和24

技能占位符 ​

占位符说明示例
%emakiskills_level_<skill_id>%指定技能的等级; 档案里没有这个技能时返回 03
%emakiskills_cooldown_<skill_id>%指定技能的剩余冷却秒数, 保留 1 位小数; 没冷却时是 012.5

技能槽占位符 ​

占位符说明示例
%emakiskills_slot_<n>_skill%第 n 个槽位绑定的技能 ID; 空槽返回空字符串fireball
%emakiskills_slot_<n>_name%第 n 个槽位技能的显示名火球术
%emakiskills_slot_<n>_trigger%第 n 个槽位的触发器 ID; 没绑定返回空字符串right_click
%emakiskills_slot_<n>_empty%第 n 个槽位是不是空的false

槽位索引越界 (负数, 或超出槽位数量) 时返回空字符串. 异常处理: 出现空值时先确认 <n> 是否在 0 到槽位数量减 1 之间

资源占位符 ​

资源 ID 逐字取自 resources/*.yml 的 id, 占位符里必须写成同一个值

占位符说明示例
%emakiskills_resource_<id>_current%指定资源的当前值, 最多 2 位小数85
%emakiskills_resource_<id>_max%指定资源定义的最大值, 最多 2 位小数; 定义不存在时是 0120
%emakiskills_resource_<id>_percent%当前值占最大值的百分比, 最多 2 位小数; 定义或状态缺失, 或 max <= 0 时是 070

使用示例 ​

yaml
lore:
  - '<gray>施法模式: <white>%emakiskills_cast_mode%'
  - '<gray>火球术等级: <white>%emakiskills_level_fireball%'
  - '<gray>冷却: <white>%emakiskills_cooldown_fireball%s'
  - '<gray>法力: <aqua>%emakiskills_resource_mana_current%/%emakiskills_resource_mana_max%'
  - '<gray>槽位1: <white>%emakiskills_slot_0_name% (%emakiskills_slot_0_trigger%)'

升级动作上下文变量 ​

技能升级动作 (upgrade.levels.<n>.actions.success / .failure) 通过 CoreLib 动作管道执行时, 下面这些上下文变量会自动注入, 直接按表中的写法引用即可:

变量说明示例
%skills_skill_id%技能定义 IDfireball
%skills_phase%升级动作阶段: skill_upgrade_success 或 skill_upgrade_failureskill_upgrade_success
%skill% / %skill_id%技能显示名 / 技能 ID火球术 / fireball
%level% / %current_level% / %target_level% / %max_level%当前等级 / 当前等级 / 目标等级 / 最大等级2
%success_rate% / %success_rate_raw%成功率 (格式化文本 / 原始数值)90
%roman_level%目标等级的罗马数字 (1~10, 超出范围就用阿拉伯数字)III
%player%玩家名Steve

动作示例 ​

yaml
upgrade:
  levels:
    3:
      actions:
        success:
          - 'send_message text="<green>技能 %skills_skill_id% 升级成功,当前等级 %target_level%。"'
        failure:
          - 'send_message text="<red>技能升级失败,成功率 %success_rate%%。"'

说明 ​

  • 冷却类占位符会频繁变化, 计分板刷新间隔不宜过短
  • 技能槽的 <n> 为槽位索引, 从 0 开始
  • 资源占位符中的 <id> 为资源定义 ID (如 mana, stamina), 需与 resources/*.yml 中的 id 一致
  • CoreLib 的内置上下文变量 (%player_name% 等) 在技能动作中同样可用