Skip to content

占位符参考

PlaceholderAPI 占位符

扩展标识符:emakiitem

安装 PlaceholderAPI 后,EmakiItem 会自动注册以下占位符。

占位符说明示例
%emakiitem_held_id%主手物品的 EmakiItem 定义 ID。shadow_blade
%emakiitem_held_name%主手物品的显示名(纯文本)。影刃
%emakiitem_held_components%主手物品的组件 ID 列表。minecraft:custom_name, minecraft:lore
%emakiitem_held_components_raw%主手物品的原始组件字符串。
%emakiitem_held_component_has_<id>%主手物品是否含有该组件,返回 10%emakiitem_held_component_has_custom_model_data%
%emakiitem_held_component_value_<id>%该组件的值字符串。%emakiitem_held_component_value_rarity%
%emakiitem_held_component_json_<id>%该组件的 JSON 输出。%emakiitem_held_component_json_enchantments%
%emakiitem_loaded_count%当前已加载的物品定义总数。156

组件 ID 可省略 minecraft: 命名空间。

使用示例

yaml
item:
  components:
    lore:
      - "<gray>物品 ID: <white>%emakiitem_held_id%</white></gray>"
      - "<gray>已加载定义: <white>%emakiitem_loaded_count%</white></gray>"

动作上下文变量

物品动作(EmakiItemActionService)触发时,以下变量会注入到 Action 上下文中:

变量说明示例
%player%玩家名称。Steve
%item_id%EmakiItem 定义 ID。shadow_blade
%item_trigger%触发器名称。right_click
%item_name%物品显示名(纯文本)。影刃

部分触发器还会注入自己的变量,例如 attack%target%%damage%,完整列表见触发器

动作示例

yaml
actions:
  right_click:
    - 'sendmessage text="<green>%player% 使用了 %item_name%!</green>"'

说明

  • 玩家主手没有 EmakiItem 物品时,held_id 返回空字符串;主手为空时 held_name 也返回空字符串。
  • 占位符请求没有玩家上下文时统一返回空字符串。
  • loaded_count 只统计 items/ 加载的定义,不含 JavaScript 运行时注册的定义。
  • 外部插件物品如果没有写入 EmakiItem PDC 标记,无法被识别为 EmakiItem。
  • CoreLib 的内置上下文变量(%player_name%%player_uuid% 等)在物品动作中同样可用。