跳转到正文
iPlugin

制作物品提示

自建布局和模板,为已有物品加入图标、说明与按物品读取的数量

本教程为已有物品制作名称居中、带图标与数量的 Tooltip。所有文件都由你创建,不会生成或发放物品。

Xerr 不附带 Tooltip 模板和美术资源。可在编辑器中自行制作,或先将配件套的配置合入项目,再按套件说明使用。

游戏内使用需要 Minecraft 1.21.2 或以上版本。

准备素材与物品

  • 准备一个已有自定义名称的物品,例如在铁砧中重命名的纸。
  • 下例复用默认字体 pixel 和图片 xerr_ui / icon / gem。如果已删除默认资产,先添加自己的字体和图片,再替换示例中的引用。
  • 在 config.yml 中将 feature.tooltip.enable 设为 true。

制作局部布局

plugins/Xerr/core/layout/journal-details.yml
defaults:
  font: pixel
  image:
    namespace: xerr_ui
    basename: icon

journal_details:
  icon:
    x: 0
    y: 0
    image:
      id: gem
  category:
    x: 14
    y: -1
    value: "&7{{ get category }}"
  amount:
    x: 0
    y: -14
    value: "&7数量 &f{{ item-data get count }}"

名称保留物品本身的名称,不需要在布局里重复绘制,也不用把该布局加入 HUD。

创建模板

plugins/Xerr/core/template/tooltips/journal.yml
defaults:
  font: pixel

journal:
  mode: insert
  layout: journal_details
  name-align: center
  lore-align: left
  variables:
    category: "旅行用品"
  data:
    count: item.amount

journal 是你自定义的模板 ID。count 读取当前物品数量,不依赖物品库,不是模板里写死的演示数值。

应用到已有物品

/xerr pack

加载新资源包后,将已有自定义名称的物品拿在主手,执行:

/xerr tooltip bind journal

悬停时应看到原名称居中,原 Lore 保留,末尾加入图标、分类与当前数量。调整数量并进行一次背包操作后会重新检查数据。

需要停止显示时,手持该物品执行 /xerr tooltip unbind,原始名称与 Lore 不被改写。

决定插入位置

命令绑定没有标记位置,布局放在原 Lore 后面。若希望插入到中间,在物品插件的 Lore 列表中保留独立标记行:

物品插件的 Lore 片段
lore:
  - "&7记录旅途中的故事。"
  - "<<tooltip:journal>>"
  - ""
  - "&8不可交易"

物品插件需要原样保留该标记;若它会自行解析尖括号,可以使用自动匹配或 API。将模板改为 mode: append 时,布局始终放在其余 Lore 后面。

改为读取自己的属性

不需要把数值拼入标记。在模板中设置真实路径:

journal 的数据映射片段
data:
  count: item.amount
  attack: nbt.WeaponData.attack

然后在布局中添加元素:

journal_details 的元素片段
attack:
  condition: "item-data has attack"
  x: 0
  y: -28
  value: "&f攻击 +{{ item-data get attack }}"

WeaponData.attack 是路径示例,须替换为自己的物品实际保存的位置。手持物品执行 /xerr tooltip data 查看可用路径;不存在的属性不会显示该元素。

需要按物品 ID 自动应用、读取列表或使用 PDC 时,继续查阅物品提示参考。其它插件修改物品后,使用开发者接口请求更新。