占位符参考
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>% | 主手物品是否含有该组件,返回 1 或 0。 | %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%等)在物品动作中同样可用。