跳转到正文
iPlugin

物品来源

使用材料、玩家头像、外部物品或序列化内容作为图标。

选择来源

来源配置
原版材料material
玩家头像或头颅纹理head
外部物品插件texture.source 与 texture.value
已有物品序列化来源,例如 base64

每个显示配置选择一个来源,再设置 name、lore、amount 等物品属性。

原版材料

A:
  material: PAPER
  name: '&f帮助'

玩家头像

A:
  head: '{{player name}}'
  name: '&f我的头像'

head 可以填写玩家名;上例通过内联语句取得当前玩家名。固定显示某个玩家的头像时,将 head 的值改为该玩家名,例如 Steve。head 的别名是 skull。

自定义头颅

head 也接受纹理 ID 或 Base64 纹理值。下面两种写法使用同一纹理,图标片段放在 icons 下:

图标片段:放在 icons 下
A:
  head: 'b727d0ab03f5cd022f8705d3f7f133ca4920eae8e1e47b5074433a137e691e4e'
  name: '&f自定义头颅'

纹理 ID 是纹理链接中 textures.minecraft.net/texture/ 后的一段。将这一段填入 head,而非填写整条链接。

head 已经指定头颅来源,无需另外填写 material。这里的 Base64 是头颅纹理数据;/invero item encode 导出的是整件物品,按下面的“已有物品”方式导入。

外部物品

A:
  display:
    texture:
      source: itemsadder
      value: 'my_namespace:example_item'
    name: '&a物品详情'
  action: "mmsg '&a已选择此物品'"

source 选择物品插件,value 填写对应物品 ID。物品插件需处于启用状态。

sourceID 格式
itemsadder / ia命名空间:物品 ID
craftengine / ce命名空间:物品 ID
mmoitems / mi类型:物品 ID,例如 SWORD:EXAMPLE
oraxen物品 ID
nexo物品 ID
zaphkiel / zap物品 ID
ecoitems / eco物品 ID
slimefun / sf物品 ID
headdatabase / hdb头颅 ID
neigeitems / ni物品 ID,使用完整 texture 配置
sxitem / sx / siSX-Item 中的物品 ID
azureflow / afAzureFlow 中的物品工厂 ID
magicgem / gemMagicGem 中的宝石名称
magiccosmetics / magic装饰品 ID,或 equipped:类型
itemtools / itItemTools 中的物品 ID
hmccosmetics / hmcHMCCosmetics 中的装饰品 ID

ItemsAdder 等来源也支持图标简写:

# 简写示例
A:
  itemsadder: 'my_namespace:example_item'

来源字段与依赖

以下字段写在 texture 中,适用于完整的来源对象写法:

字段类型必填默认行为说明
source文字是—物品来源名称或别名
value文字是—对应来源的物品编号或内容,支持占位符

每个外部来源需要对应插件处于启用状态。编号使用该插件配置中的标识;下面的 example_item、example_hat、example_gem 是填写位置示例,换成实际标识。

更多来源示例

A:
  texture:
    source: sxitem
    value: 'example_item'
B:
  texture:
    source: azureflow
    value: 'example_item'
C:
  texture:
    source: itemtools
    value: 'example_item'

A、B、C 分别需要 SX-Item、AzureFlow、ItemTools。SX-Item 按当前查看菜单的玩家取得物品;AzureFlow 的 value 是物品工厂 ID。

MagicCosmetics 还支持 equipped:类型,取得查看菜单的玩家已装备的对应类型装饰品。类型名称按 MagicCosmetics 的配置填写。

简写范围

上表来源中,neigeitems / ni、sx 不作为图标来源简写;使用完整 texture 对象。SX-Item 的简写可用 sxitem 或 si。其他已列出的外部来源名称与别名支持简写,例如:

A:
  sxitem: 'example_item'
B:
  azureflow: 'example_item'

需要统一配置结构时,所有来源都使用 texture.source 与 texture.value。

MMOItems

A:
  display:
    texture:
      source: mmoitems
      value: 'SWORD:EXAMPLE'
    name: '&b自定义武器'

已有物品

手持目标物品执行 /invero item encode,将导出的序列化内容填入 value:

A:
  display:
    texture:
      source: base64
      value: '在这里填写导出的 Base64 内容'

base64、json、serialized 用于对应格式的序列化内容。导出命令会上传物品内容到配置的粘贴服务,见命令。

由 Kether 取得物品

source: kether 的 value 是返回物品的 Invero 语句:

A:
  texture:
    source: kether
    value: "item 'PAPER' amount 1"
  name: '&f脚本取得的纸'

这里的 item 返回一件物品,不把它发到玩家背包。value 必须返回物品;发送消息或执行命令的动作不能作为物品结果。item 的语法见Invero 语句参考。

材料、外部物品与序列化来源可以继续覆盖 name、lore、amount 等显示属性,见物品属性。

最后更新于