LogoArcartX Doc

ArcartX 兼容

由 ArcartX 向 Overture 注册客户端特殊 Tag Meta 与统一物品提供器

本页“可用 Meta”和“统一物品提供器”由 ArcartX 注册。Overture 本身不声明 ArcartX 依赖。Display 的 nbt 是 Overture 自身功能;需要支持读取NBT继续渲染的组件进行读取后渲染。

可用 Meta

所有条目都写入物品 NBT 根节点,键名与 ArcartX ItemStackUtils 读取的 Tag 完全一致。

Overture Meta根 Tag用途消费方
arcartx:iconicon客户端物品图标贴图路径ArcartX 客户端
arcartx:dropdrop物品掉落时的附加模型 IDArcartX 客户端
arcartx:modelmodel物品 3D 模型 IDArcartX 客户端
arcartx:armor_texturearmor_texture盔甲穿戴贴图 IDArcartX 客户端
arcartx:costume_modelcostume_model时装模型 IDArcartX 客户端
arcartx:costume_hidecostume_hide是否隐藏物品本体;接受布尔值、yes/no、on/off 或 1/0,最终写为 1/0ArcartX 客户端
arcartx:fp_modelfp_model第一人称模型 IDArcartX 客户端
arcartx:extra_modelextra_model定位器名称到额外模型 ID 的映射ArcartX 客户端
arcartx:urlurlUI 中使用的物品贴图路径ArcartX 客户端
arcartx:cooldowncooldown共享冷却分组标识ArcartX 服务端

完整配置示例

下面的条目用于集中展示全部字段。实际物品通常只配置与其资源和用途相关的子集。

arcartx_showcase:
  icon: IRON_CHESTPLATE
  display: equipment_display
  meta!!:
    arcartx:icon: "astral_chestplate.png"
    arcartx:drop: "astral_chestplate_drop"
    arcartx:model: "astral_chestplate"
    arcartx:armor_texture: "astral_armor.png"
    arcartx:costume_model: "astral_body"
    arcartx:costume_hide: true
    arcartx:fp_model: "astral_chestplate_fp"
    arcartx:extra_model:
      chest_locator_extra: "astral_core"
      back_locator_extra: "astral_wings_glow"
    arcartx:url: "ui/items/astral_chestplate.png"
    arcartx:cooldown: "astral_equipment"

这里使用 meta!!,表示物品版本更新时先清理旧的同名根 Tag,再写入新值。若使用普通 meta,新生成物品仍会写入这些 Tag,但已有物品在版本更新检查中会遵循 Overture 的未锁定 Meta 保留规则。

移除某个 arcartx:* 配置后,Overture 会根据 Meta 历史调用 ArcartX 注册的清理实例并删除对应根 Tag;arcartx:extra_model 会整体替换或移除 extra_model compound,不会保留已经从配置删除的定位器。

为 ArcartX Tooltip 提供数据

ArcartX Tooltip 可当前物品读取 NBT 进行渲染展示。Overture 的展示方案可把同一套变量额外写入 render 根节点:

equipment_display:
  name: "<item_name>"
  lore:
    - "<item_desc...>"
  nbt:
    tooltip_title: "<item_name>"
    tooltip_lines:
      - "<item_desc...>"
      - "&7护甲: &f<armor_display>"

ArcartX Tooltip 中读取字符串时使用 item.getNBT("render.tooltip_title"),读取列表时使用 item.getNBTList("render.tooltip_lines")。tooltip_title 和 tooltip_lines 只是示例键名,可按 Tooltip 配置自行命名。

nbt 字符串写入 NBT String,列表写入NBT List<String>。它们与名称和 Lore 共用变量来源,也支持第三方 RenderEntry;具体展开规则见展示方案。物品重建或条件展示切换时,render 按当前方案完整替换,避免旧 Tooltip 字段残留。

ArcartX 统一物品提供器

ArcartX 启用后会注册标识为 Overture 的 ItemProvider,供使用 ArcartX 统一物品接口的模块生成 Overture 物品:

val provider = ArcartXLinkManager.getItemProvider("Overture")
val itemStack = provider?.generateItemStack("arcartx_showcase")
ItemProvider provider = ArcartXLinkManager.INSTANCE.getItemProvider("Overture");
ItemStack itemStack = provider == null ? null : provider.generateItemStack("arcartx_showcase");

提供器名称区分大小写。该统一接口没有玩家参数,因此内部调用等价于 OvertureAPI.generateItem(id, null);需要玩家条件展示或 RenderEntry 上下文时,应直接调用 OvertureAPI.generateItem(id, player)。

On this page