教程 01创建第一件 CraftEngine 背饰
先使用 VIRTUAL 模式跑通模型、位置、拥有权和菜单,再决定是否需要实际模式。
- 复制 cosmetics/default.yml 的 example_back,并改成唯一 ID。
- 设置 enabled: true、target: slot:back、category: back。
- 把 icon 与 visual-item 的 source 设为 CRAFTENGINE,并填写 CraftEngine 中真实存在的命名空间 ID。
- 保持 display-rules.yml 的 back: VIRTUAL,并确保客户端已加载资源包。
- 执行 /fc reload,发放该 ID 后让玩家从 /fc 选择。
/fc grant Steve slot back blue_wings 永久
教程 02配置可投掷的实际三叉戟皮肤
ACTUAL 模式把皮肤身份写进物品,适合掉落、交易、投掷和其他玩家拾取。
- 创建 target: weapon:trident 的时装节点。
- compatible-materials 填写 TRIDENT,并配置 visual-item 与 actual-item。
- 在 display-rules.yml 把 weapons.trident 设置为 ACTUAL。
- 重载后给予并选择皮肤。
- 依次验证手持、蓄力、投出、落地、拾取和忠诚回收。
/fc equip Steve weapon trident poseidon_trident
教程 03选择 item-model 或 custom-model-data
FotiaCosmetic 的菜单图标、虚拟外观和实际物品都能使用资源包模型;配置键必须写在对应的 icon、visual-item 或 actual-item 节点内。
- 新式 1.21.4+ 资源包优先填写 item-model,例如 fotia:blue_wings;它必须是有效的命名空间键。
- 使用旧式整数模型映射时填写 custom-model-data: 10001;配置键不是 modeldata,也不是 custom_model_data。
- 同一物品通常只选择一种模型方式,并保证资源包中存在完全对应的模型映射。
- icon 控制菜单图标,visual-item 控制虚拟显示,actual-item 控制 ACTUAL 模式下写入玩家物品的外观。
- 执行 /fc reload 后重新打开菜单;资源包有变化时还要让客户端重新下载。
教程 04让不同子服使用不同显示模式
共享数据库保存拥有权,server-id 和 display-rules.yml 决定每台服怎样显示。
- 为每台后端服设置唯一 config.yml server-id。
- 所有子服连接同一个 MySQL 或 MariaDB。
- 在 display-rules.yml 的 servers 下建立同名节点。
- 为竞技世界设置 HIDDEN,为大厅设置 VIRTUAL,为生存武器设置 ACTUAL。
- 逐台执行 /fc reload,并用同一玩家跨服检查选择状态。