Skip to content

物品包 (Item Packs) ​

物品包允许将多个物品定义为一个集合,在配方中作为材料接受包内的任意物品。

其功能类似于物品标签,但是是可以自定义的

定义文件 ​

plugins/Craftorithm/item_packs.yml:

yaml
all_wood:
  - 'minecraft:oak_planks'
  - 'minecraft:spruce_planks'
  - 'minecraft:birch_planks'
  - 'minecraft:jungle_planks'
  - 'minecraft:acacia_planks'
  - 'minecraft:dark_oak_planks'
  - 'minecraft:mangrove_planks'
  - 'minecraft:cherry_planks'
  - 'minecraft:bamboo_planks'

ores:
  - 'minecraft:diamond'
  - 'minecraft:emerald'
  - 'minecraft:iron_ingot'
  - 'minecraft:gold_ingot'

物品包中可以包含tag或定义在它上面的物品包, 例如:

yaml
pack1:
  - 'minecraft:stone'
pack2:
  - 'item_pack:pack1'
  - 'tag:minecraft:leaves'

在配方中使用 ​

使用 item_pack:<name> 前缀引用物品包:

yaml
type: 'vanilla_shaped'
result: 'minecraft:crafting_table'
shape:
  - 'AA'
  - 'AA'
ingredients:
  A: 'item_pack:all_wood'  # 接受任何木材

用途 ​

  • 多材料兼容:一个配方接受多种同类材料(如所有颜色的羊毛、所有木材类型)
  • 简化配置:避免为每种材料变体创建单独配方
  • 易于维护:新增材料只需在物品包中添加一行

注意事项 ​

  • 物品包只在 ingredient、base、addition 等输入字段中有效
  • result(产出)字段不支持物品包
  • 物品包中的物品 ID 必须是有效的原版 ID 或已注册的外部插件物品
  • 物品包内的物品id上写的数量会被忽略,数量需要在配方引用处指定,如 item_pack:all_wood 4(目前仅铁砧配方支持数量)

基于 GPL-3.0 许可证发布