Skip to content

Latest commit

 

History

History
68 lines (56 loc) · 3.15 KB

Crafting-Recipes.md

File metadata and controls

68 lines (56 loc) · 3.15 KB

原版工作台的合成配方

在Minecraft 1.12及以上版本的原版合成中, 我们使用json文件来定义每一个合成配方. 目前禁用了合成配方的删除. 要在合成配方内使用一个带有耐久值的物品, 你可以使用 customstuff4:damageable_shapedcustomstuff4:damageable_shapeless 类的合成, 这里有一个示例.

注意: 这仅适用于为原版合成台使用的合成配方. 其他任何地方, 包括冶炼配方, 都不要使用这种格式.

有序合成

类名: shapedRecipe

{
  "shape": [
      "SS",
      "D "
    ],
  "items": {
    "S": "minecraft:sword_diamond@all",
    "D": "ore:blockDiamond"
  },
  "damage": {
    "S": 5
  },
  "result": {
    "item": "minecraft:obsidian",
    "amount": 3
  },
  "mirrored": false,
  "remove": false,
  "recipeList": "mymod:myrecipes"
}
  • shape: 这是一个由字符串组成的列表. 第一条字符串就相当于合成配方中的第一行, 第二条就是第二行, 以此类推; 字符串中的每个字母都是一个物品. 每个字符串互相之间必须是相同的长度, 并且长度必须在1到3个字母之间, 但相对的, 这个列表中不能有超过3条字符串.

  • items: 与同级参数 shape 一起构成了合成配方的输入. 这会将 shape 中使用的字母映射到配方输入中. 如果你希望配方中有空白点, 则不要为该字母定义物品. 你可以使用 all 来匹配该物品的所有子类型(metadata). 在这里为物品指定NBT是无效的.

  • damage: 该参数为每个物品指定是否应该具有耐久值. 默认值为 0, 表示物品没有耐久值(满耐久).

  • result: 用于定义配方的输出, 输出的应该是一个ItemStack(物品)

  • mirrored: 用于定义配方镜像翻转后是否仍生效. 接受布尔值. 默认值为 true.

  • remove: 如果该参数被设为 true, 则会删除与条目相同的合成, 且可以省略 resultitemsshape. 这将删除与输入或结果匹配的所有配方. 默认值为 false.

  • recipeList: 要添加或删除配方的列表.

无序合成

类名: shapelessRecipe

{
  "items": [
    "minecraft:sword_diamond@all",
    "oreclass:stickWood"
  ],
  "damage": [5, 0],
  "result": {
    "item": "minecraft:obsidian",
    "amount": 3
  },
  "remove": false,
  "recipeList": "mymod:myrecipes"
}
  • items: 这是配方输入的列表, 并定义了配方所需的物品. 你可以使用 all 来匹配该物品的所有子类型(metadata). 在这里为物品指定NBT是无效的.
  • damage: 该参数为每个物品指定是否应该具有耐久值. 默认值为 0, 表示物品没有耐久值(满耐久). 你可以根本不为每个输入项定义此项.
  • result: 用于定义配方的输出, 输出的应该是一个ItemStack(物品)
  • remove: 如果该参数被设为 true, 则会删除与条目相同的合成, 且可以省略 resultitemsshape. 这将删除与输入或结果匹配的所有配方. 默认值为 false.
  • recipeList: 要添加或删除配方的列表.