LogoArcartX Doc

展示方案

配置可复用的名称、Lore、 NBT 与条件展示模板

展示方案位于 displays/ 目录,用于把物品变量渲染为名称、Lore 和客户端可读取的 NBT。

普通展示

weapon_display:
  name: "<item_name> <item_level>"
  lore:
    - "<item_type>"
    - ""
    - "<item_desc...>"
    - ""
    - "&7攻击力: &f<damage_display>"
  nbt:
    tooltip_title: "<item_name> <item_level>"
    tooltip_lines:
      - "<item_desc...>"
      - "&7攻击力: &f<damage_display>"
语法行为
<var>读取单个值;列表只取第一项
<var...>在 Lore 或 nbt 列表中按返回顺序展开多行

展开变量为空列表时,模板所在行会被移除,不会留下空白占位。

展示 NBT

nbt 下的每个直接子键都会写入物品根 NBT 的 render.<key>:

  • 字符串配置写为 NBT String。
  • YAML 字符串列表写为 NBT List<String>。
  • 字符串使用单值变量;列表使用与 Lore 相同的 <var> 和 <var...> 规则。
  • & 与 &#RRGGBB 颜色代码会和名称、Lore 一样转换后再写入。

上例可由 ArcartX Tooltip 分别通过 item.getNBT("render.tooltip_title") 和 item.getNBTList("render.tooltip_lines") 读取。键名由展示方案自行约定;切换到新的展示方案时,render 会按新方案完整重建,不再配置的旧键将被移除。

变量来源

  1. 物品的 name 和 lore 节点
  2. data-mapper 结果
  3. 耐久系统注入的 durability、durability_current、durability_max
  4. ItemReleaseEvent.Display 监听器注入的变量
  5. 第三方注册的 <namespace:key> RenderEntry

条件展示

weapon_display_smart:
  conditions:
    - condition: "val.item.durability() <= 10"
      display: weapon_display_broken
  default: weapon_display

条件按顺序判断,第一个返回 true 的展示方案生效;都不满足时使用 default。

第三方展示条目

name: "<example:item_desc>"
lore:
  - "<example:item_desc...>"
nbt:
  tooltip_title: "<example:item_desc>"
  tooltip_lines:
    - "<example:item_desc...>"

名称和 nbt 字符串取回调结果的第一行,Lore 与 nbt 列表可展开全部行。同一个标签在一次渲染中只执行一次回调;第三方 RenderEntry 只在主线程执行。注册方式见扩展注册。

On this page