配方:修订间差异

来自Minecraft基岩版开发Wiki
添加的内容 删除的内容
标签移动版编辑 移动版网页编辑 高级移动版编辑
 
(未显示5个用户的13个中间版本)
第1行: 第1行:
{{about|配方开发信息|自定义配方教程|Manual:配方|在 Minecraft 中获得多种方块、工具和其他资源的方法|mcwikizh:合成{{!}}Minecraft Wiki:合成}}
{{about|配方开发信息|自定义配方教程|Manual:配方|在 Minecraft 中获得多种方块、工具和其他资源的方法|mcwikizh:合成{{!}}Minecraft Wiki:合成}}
{{for|更多信息|mcwikizh:配方{{!}}Minecraft Wiki:配方}}
{{for|更多信息|mcwikizh:配方{{!}}Minecraft Wiki:配方}}

'''配方(Recipes)'''是一种引导新玩家游玩 Minecraft 的方式,通过帮助玩家了解合成、烧炼以及其他的方块和物品转化方式来使玩家熟悉游戏。
'''配方(Recipes)'''是一种引导新玩家游玩 Minecraft 的方式,通过帮助玩家了解合成、烧炼以及其他的方块和物品转化方式来使玩家熟悉游戏。
==相关文件==

==数据结构==

==类型==
==类型==
配方的类型由[[赋命名空间标识符#作用域|基础赋命名空间标识符]]定义。
配方的类型由[[配方/模式|模式]]定义,其类型共有5种
{| class="wikitable"
!赋命名空间标识符
!<div style="white-space:nowrap;">配方类型</div>
|-
|{{cd|minecraft:recipe_shaped}}
|有序配方
|-
|{{cd|minecraft:recipe_shapeless}}
|无序配方
|-
|{{cd|minecraft:furnace}}
|烧炼配方
|-
|{{cd|minecraft:recipe_brewing_container}}
|酿造配方(首次加工)
|-
|{{cd|minecraft:recipe_brewing_mix}}
|酿造配方(多次加工)
|}
===有序配方===
===有序配方===
有序配方需要玩家按照一定顺序摆放物品来合成新的物品,玩家不能随意调换或镜像摆放物品。
有序配方需要玩家按照一定顺序摆放物品来合成新的物品,玩家不能随意调换或镜像摆放物品。

下表列出了有序配方的组件:
{| class="wikitable collapsible"
!类型!!名称!!描述
|-
|数组
|{{cd|tags}}
|定义配方的[[配方#标签|标签]],用于定义其作用范围。
|-
|数组
|<code>pattern</code>
|定义配方的样式。数组中每个字符串表示合成栏中的一行,每个字符串中的字符从左到右依次对应从左到右的合成格。最多允许定义3×3的合成栏(即三个字符串,每个字符串含三个字符)。空的合成格用空格表示。
|-
|对象
|<code>key</code>
|定义<code>pattern</code>中使用的字符所对应的物品。
|-
|对象
|<code>result</code>
|定义输出的物品。
|}
示例
<syntaxhighlight lang="json" line="1">
{
"format_version": "1.17",
"minecraft:recipe_shaped": {
"description": {
"identifier": "minecraft:acacia_boat"
},
"tags": [ "crafting_table" ],
"pattern": [
"#P#",
"###"
],
"key": {
"P": {
"item": "minecraft:wooden_shovel"
},
"#": {
"item": "minecraft:planks",
"data": 4
}
},
"result": {
"item": "minecraft:boat",
"data": 4
}
}
}
</syntaxhighlight>

===无序配方===
===无序配方===
无序配方允许玩家以任意顺序摆放物品来合成新物品,只要合成栏内包含了无序配方所定义的所有物品,就可以完成合成。
无序配方允许玩家以任意顺序摆放物品来合成新物品,只要合成栏内包含了无序配方所定义的所有物品,就可以完成合成。
===熔炉配方===
熔炉配方用于定义[[熔炉]]、[[高炉]]、[[烟熏炉]]、[[营火]]和[[灵魂营火]]的输入物品及输出物品。只要给予合适的材料,就会输出对应的成品。
===酿造配方===
酿造配方用于定义[[酿造台]]中的输入物品、酿造材料以及输出物品。
====药水容器类型配方====
药水容器类型配方用于定义药水容器的类型转换配方(如一般药水转换成喷溅型药水)。
====药水效果配方====
药水效果配方决定了药水效果的转换(如粗制药水转换成力量药水)。
===锻造配方===
锻造配方用于定义[[锻造台]]中的输入物品、转换材料、锻造模板、纹饰材料以及输出物品。
====锻造转换配方====
锻造转换配方用于定义[[锻造台]]中的输入物品、转换材料、锻造模板以及输出物品。只要物品具有特定的物品标签且类型为装备或者工具时,就会转换出对应的成品,并保留物品原先的属性。由于配方的限制,目前转换材料只能使用下界合金锭,相应的物品ID为<code>"minecraft:netherite_ingot"</code>。
====锻造纹饰配方====
锻造纹饰配方用于定义[[锻造台]]中的输入物品、纹饰材料、锻造模板。只要给予合适的材料,就会输出对应纹路的装备,并保留物品原先的属性。由于配方的限制,目前锻造纹饰配方无法为自定义装备添加上原版或自定义的纹路。


==标签==
下表列出了无序配方的组件:
配方中的标签用于定义配方的适用范围,由配置文件中的<code>"各配方模式组件"/"tag"</code>组件定义。下表列出了原版中所有配方标签及对应的适用范围。
{| class="wikitable collapsible"
{| class="wikitable sortable collapsible"
!类型!!名称!!描述
!标签
!适用范围
!配方类型
|-
|-
|<code>"crafting_table"</code>
|数组
|有序配方/无序配方
|<code>tags</code>
|能被工作台合成的配方
|定义配方的标签,用于定义其作用范围。
|-
|-
|<code>"furnace"</code>
|数组
|熔炉配方
|<code>ingredients</code>
|能被熔炉烹饪的配方
|定义合成所需的物品。
|-
|-
|<code>"smoker"</code>
|对象
|熔炉配方
|<code>result</code>
|能被烟熏炉烹饪的配方
|输出的物品。
|}
|-
|<code>"campfire"</code>
示例
|熔炉配方
<syntaxhighlight lang="json" line="1">
|能被篝火烹饪的配方
{
"format_version": "1.17",
"minecraft:recipe_shapeless": {
"description": {
"identifier": "minecraft:firecharge_coal_sulphur"
},
"priority": 0,
"ingredients": {
"item": "minecraft:fireball",
"data": 0,
"count": 4
},
"result": {
"item": "minecraft:blaze_powder",
"data": 4
}
}
}
</syntaxhighlight>

===烧炼配方===
{| class="wikitable collapsible"
!类型!!名称!!描述
|-
|-
|<code>"soul_campfire"</code>
|数组
|熔炉配方
|<code>tags</code>
|能被灵魂篝火烹饪的配方
|定义配方的标签,用于定义其作用范围。
|-
|-
|<code>"brewing_stand"</code>
|字符串
|酿造配方
|<code>input</code>
|能被酿造台酿造的配方
|定义输入的物品。
|-
|-
|<code>"smithing_table"</code>
|字符串
|锻造配方
|<code>output</code>
|能被锻造台转换/纹饰的配方
|定义输出的物品。
|}
|}
示例
<syntaxhighlight lang="json" line="1">
{
"format_version": "1.17",
"minecraft:recipe_furnace": {
"description": {
"identifier": "minecraft:furnace_beef"
},
"tags": ["furnace", "smoker", "campfire", "soul_campfire"],
"input": {
"item": "minecraft:beef",
"data": 0,
"count": 4
},
"output ": "minecraft:cooked_beef"
}
}
</syntaxhighlight>


锻造转换配方和锻造纹饰配方对材料的物品标签做了进一步的约束。下表列出了配方物品用到的标签及对应的适用范围。
===酿造配方===
{| class="wikitable collapsible"
{| class="wikitable sortable collapsible"
!物品标签
!类型!!名称!!描述
!适用范围
!配方类型
|-
|-
|<code>"tag:minecraft:transformable_items"</code>
|数组
|输入物品
|{{cd|tags}}
| rowspan="2" |能被锻造台转换的配方
|定义配方的[[配方#标签|标签]],用于定义其作用范围。
|-
|-
|<code>"tag:minecraft:transform_materials"</code>
|数组
|转换材料
|<code>input</code>
|定义输入的药水
|-
|-
|<code>"tag:minecraft:trimmable_armors"</code>
|对象
|输入物品
|<code>output</code>
| rowspan="2" |能被锻造台纹饰的配方
|定义输出的药水
|-
|-
|<code>"tag:minecraft:trim_materials"</code>
|对象
|纹饰材料
|<code>reagent</code>
|定义所需的酿造材料
|}
|}


非原版方块的合成配方只须添加方块配置文件相对应的<code>"minecraft:crafting_table"/"tag"</code>组件字符串即可。
==标签==
配方中的标签用于定义配方的适用范围。下表列出了原版中所有配方标签及对应的适用范围。
{| class="wikitable collapsible"
!标签
!适用范围
!配方类型
|}

2023年10月31日 (二) 15:41的最新版本

配方(Recipes)是一种引导新玩家游玩 Minecraft 的方式,通过帮助玩家了解合成、烧炼以及其他的方块和物品转化方式来使玩家熟悉游戏。

类型[编辑]

配方的类型由模式定义,其类型共有5种。

有序配方[编辑]

有序配方需要玩家按照一定顺序摆放物品来合成新的物品,玩家不能随意调换或镜像摆放物品。

无序配方[编辑]

无序配方允许玩家以任意顺序摆放物品来合成新物品,只要合成栏内包含了无序配方所定义的所有物品,就可以完成合成。

熔炉配方[编辑]

熔炉配方用于定义熔炉高炉烟熏炉营火灵魂营火的输入物品及输出物品。只要给予合适的材料,就会输出对应的成品。

酿造配方[编辑]

酿造配方用于定义酿造台中的输入物品、酿造材料以及输出物品。

药水容器类型配方[编辑]

药水容器类型配方用于定义药水容器的类型转换配方(如一般药水转换成喷溅型药水)。

药水效果配方[编辑]

药水效果配方决定了药水效果的转换(如粗制药水转换成力量药水)。

锻造配方[编辑]

锻造配方用于定义锻造台中的输入物品、转换材料、锻造模板、纹饰材料以及输出物品。

锻造转换配方[编辑]

锻造转换配方用于定义锻造台中的输入物品、转换材料、锻造模板以及输出物品。只要物品具有特定的物品标签且类型为装备或者工具时,就会转换出对应的成品,并保留物品原先的属性。由于配方的限制,目前转换材料只能使用下界合金锭,相应的物品ID为"minecraft:netherite_ingot"

锻造纹饰配方[编辑]

锻造纹饰配方用于定义锻造台中的输入物品、纹饰材料、锻造模板。只要给予合适的材料,就会输出对应纹路的装备,并保留物品原先的属性。由于配方的限制,目前锻造纹饰配方无法为自定义装备添加上原版或自定义的纹路。

标签[编辑]

配方中的标签用于定义配方的适用范围,由配置文件中的"各配方模式组件"/"tag"组件定义。下表列出了原版中所有配方标签及对应的适用范围。

标签 适用范围 配方类型
"crafting_table" 有序配方/无序配方 能被工作台合成的配方
"furnace" 熔炉配方 能被熔炉烹饪的配方
"smoker" 熔炉配方 能被烟熏炉烹饪的配方
"campfire" 熔炉配方 能被篝火烹饪的配方
"soul_campfire" 熔炉配方 能被灵魂篝火烹饪的配方
"brewing_stand" 酿造配方 能被酿造台酿造的配方
"smithing_table" 锻造配方 能被锻造台转换/纹饰的配方

锻造转换配方和锻造纹饰配方对材料的物品标签做了进一步的约束。下表列出了配方物品用到的标签及对应的适用范围。

物品标签 适用范围 配方类型
"tag:minecraft:transformable_items" 输入物品 能被锻造台转换的配方
"tag:minecraft:transform_materials" 转换材料
"tag:minecraft:trimmable_armors" 输入物品 能被锻造台纹饰的配方
"tag:minecraft:trim_materials" 纹饰材料

非原版方块的合成配方只须添加方块配置文件相对应的"minecraft:crafting_table"/"tag"组件字符串即可。