跳转到正文
iPlugin

物品属性

设置材质、名称、Lore、数量、模型与提示信息。

外观字段写在图标下,或集中写入 display:

A:
  display:
    material: DIAMOND_SWORD
    name: '&b物品详情'
    lore:
      - '&7钻石剑'
      - '&7点击查看详情'
    amount: 1
    damage: 0
    unbreakable: true
    flags:
      - HIDE_ATTRIBUTES
      - HIDE_UNBREAKABLE
  action: "mmsg '&b钻石剑 &7· &f数量 1'"

字段

下表的默认行为以没有继承值为前提。子图标未填写的属性可继承父图标,动画帧未填写的常规外观属性沿用默认外观;新的显示图标应指定物品来源,或继承父图标的来源。

字段类型必填默认行为说明
material(mat)文字否不指定新来源原版材料名称,例如 PAPER
head(skull)文字否不指定新来源玩家名、纹理 ID 或 Base64 纹理值,见物品来源
texture来源对象否不指定新来源外部或序列化物品,见物品来源
name文字否不修改已有名称显示名称,支持颜色与占位符
lore(lores)文字或文字列表否不修改已有 Lore物品说明,列表每项一行;也可使用多行文字
enhancedLore布尔值否不转换文字形式的 \n开启后将 Lore 中的文字换行标记拆成多行,详见下文
amount(count、amt)整数或表达式文本否不修改已有数量显示数量
damage(durability、dur)整数或表达式文本否不修改已有损伤值0 表示无损伤
customModelData(model)整数或表达式文本否不修改已有模型编号整数模型编号
itemModel(item_model、item-model)文字否不修改已有物品模型命名空间:路径 格式,支持占位符;需要 1.21.2+
glow(shiny)布尔值或表达式文本否不修改已有闪光设置闪光与附魔文字显示,见附魔与发光
enchantments(enchantment、enchant)键值映射否不添加附魔左侧是附魔名称,右侧是整数等级
flags(flag)文字或文字列表否不添加标志隐藏指定提示信息,不清除已有标志
hideTooltip(hide_tooltip、hide-tooltip)布尔值或表达式文本否不修改已有提示框设置隐藏整个物品提示框,需要 1.20.5+
unbreakable布尔值或表达式文本否不修改已有不可破坏设置true 设置为不可破坏
nbt键值映射否不添加或覆盖标签值为文字、数字或布尔值,支持占位符
slot(slots、pos、position、positions)整数、文字或位置列表否使用布局中对应字符的位置面板内的局部位置,见布局与槽位

名称与 Lore 支持颜色和占位符。

Lore 与换行

A:
  material: PAPER
  lore:
    - '&7第一行'
    - '&7第二行'

每项本身就是一行,不需要 enhancedLore。

节点或占位符返回的文字也按同样规则处理:如果返回真正的换行,直接分行;如果返回文字形式的 \n,在对应显示配置中开启 enhancedLore。它只处理 Lore,不控制名称、聊天消息、颜色或附魔。

enhancedLore 与 lore 放在同一份显示配置中:使用 display 时都写在 display 下;使用图标简写时都直接写在图标下。动画帧需要处理文字形式的 \n 时,也在相应帧中填写 enhancedLore: true。

完整换行示例

plugins/Invero/workspace/lore-demo.yml
menu:
  title: '&8物品说明与换行'
  rows: 1
bindings:
  command: lore-demo
panels:
  - layout:
      - 'ABC      '
    icons:
      A:
        material: PAPER
        name: '&f普通列表'
        lore:
          - '&7第一行'
          - '&7第二行'
      B:
        material: PAPER
        name: '&f文字换行标记'
        enhancedLore: true
        lore:
          - '&7第一行\n&7第二行'
      C:
        material: PAPER
        name: '&f多行文字'
        lore: |-
          &7第一行
          &7第二行

下载 lore-demo.yml。使用 /lore-demo 打开,三个图标均显示两行说明。

数量与动态值

# 写在 icons 中
a:
  material: PAPER
  name: '&f计数'
  amount: '{{ctx get count}}'

在菜单顶层可设置初始数量:

events:
  pre_open: 'ctx set count to 1 true'

count 也可由打开参数或菜单动作设置。数值改变后使用 icon update 更新当前图标,或使用 icons update 更新现有图标。两者都保留生成器的当前页;需要同时切换子状态时见图标刷新。

模型

A:
  material: PAPER
  name: '&f模型按钮'
  customModelData: 1001

customModelData(别名 model)填写整数模型编号。

隐藏提示信息

A:
  material: DIAMOND_SWORD
  name: '&b展示物品'
  unbreakable: true
  flags:
    - HIDE_ATTRIBUTES
    - HIDE_UNBREAKABLE
设置隐藏内容
HIDE_ENCHANTS附魔文字
HIDE_ATTRIBUTES属性提示
HIDE_UNBREAKABLE不可破坏提示
hideTooltip: true整个物品提示框,需要 1.20.5+

hideTooltip 的别名是 hide_tooltip、hide-tooltip。

其他字段

nbt 使用键与文字、数字或布尔值的映射,例如:

nbt:
  example_tag: 'menu_button'

导入物品已有的不可破坏、隐藏提示等属性会保留;unbreakable: false 与 hideTooltip: false 不负责清除这些已有属性。

物品染色

物品的 color 字段不生效,不会改变皮革装备等物品的染色。需要展示已染色的皮革装备等物品时,使用物品来源导入已有物品的颜色。名称与 Lore 的文字颜色直接使用颜色代码。

最后更新于