合成配方
合成配方是处理多种物品转换的核心机制,涵盖工作台、熔炉、营火及酿造台等交互场景。

TIP
铁砧交互通过物品定义实现,而非配方文件。织布机交互当前暂未开放。
使用配方功能无需开启任何实验性选项。
注册规范
所有配方文件需存放在行为包根目录的recipes文件夹中,支持自定义子目录结构。
本文档示例采用以下目录结构:
- 📝cold_steel_sword.json
- 📝brass.json
- 📝covered_arch.json
- 📝magic_ash.json
- 📝paralysis.json
- 📝illumination_potion.json
例如,以下有序配方展示了"寒钢剑"的合成方式:
{
"format_version": "1.17.41",
"minecraft:recipe_shaped": {
"description": {
"identifier": "wiki:cold_steel_sword"
},
"tags": ["crafting_table", "altar"],
"pattern": ["X", "X", "I"],
"key": {
"X": "wiki:cold_steel",
"I": "minecraft:stick"
},
"unlock": [
{
"item": "wiki:cold_steel"
},
{
"item": "minecraft:wool",
"data": 3
},
{
"context": "PlayerInWater"
}
],
"result": "wiki:cold_steel_sword"
}
}通用属性与结构
格式版本
通过顶层"format_version"字段声明配方架构版本:
"format_version": "1.17.41"实际使用中该字段可省略或任意赋值。
WARNING
建议始终包含格式版本,并采用实际游戏版本号(如当前正式版)以保证未来兼容性。
描述信息
"description"对象为所有配方类型的必填项,包含唯一标识符:
"description": {
"identifier": "wiki:cold_steel_sword"
}"identifier"需确保在全局范围内唯一。虽无强制命名空间要求,但建议采用命名空间:名称格式以避免多行为包冲突。
WARNING
强烈建议使用命名空间。这是附加内容开发的通用规范,可有效限定配方归属范围。
功能标签
通过必填的"tags"数组将配方与合成界面关联,需置于所有配方类型中:
"tags": ["crafting_table", "altar"]当配方不包含crafting_table等原版标签,而使用自定义标签时,该配方将仅适用于对应自定义方块。至少需指定一个标签。
原版界面标签
合成类:
crafting_tablestonecuttersmithing_table
WARNING
注意:1.18.30版本后,锻造台配方必须使用<命名空间>:netherite_ingot作为第二槽位材料。
熔炼类:
furnaceblast_furnacesmokercampfiresoul_campfire
酿造类:
brewing_stand
教育版:
material_reducer
TIP
自定义工作台可声明专属标签。目前不支持自定义熔炉/酿造台。
TIP
设置标签为[""]可禁用配方(常用于覆盖原有配方)。
配方解锁
自1.20.30版本起,需在manifest.json中设置min_engine_version为1.20.11(推荐1.20.30),并通过unlock数组配置解锁条件:
"unlock": [
{
"item": "wiki:cold_steel" //解锁所需物品
},
{
"item": "minecraft:wool", //带数据值的解锁物品
"data": 3
},
{
"context": "PlayerInWater" //解锁触发事件
}
]当前唯一已知的事件上下文为"PlayerInWater"(玩家入水时解锁)。
物品描述符
配方中物品引用支持两种格式:
字符串格式
基础形式:
"minecraft:planks"带数据值:
"minecraft:planks:2"对象格式
{
"item": "minecraft:planks",
"data": 2,
"count": 3
}WARNING
注意:若物品不可堆叠却设置count>1将报错。无法强制单次输出多个不可堆叠物品。
特殊药水标识
仅字符串格式支持:
"minecraft:potion_type:strength"可用效果包括:healing、regeneration等,支持long_和strong_前缀。
合成系统
合成配方分为:
支持工作台与切石机:
"tags": ["crafting_table", "stonecutter"]无序配方
将材料集合绑定到单一输出:

{
"format_version": "1.17.41",
"minecraft:recipe_shapeless": {
"description": {
"identifier": "wiki:brass_door_knob"
},
"group": "handles",
"tags": ["construction_bench"],
"ingredients": [
"wiki:brass",
{
"item": "wiki:screw",
"data": 2
}
],
"result": {
"item": "wiki:door_knob",
"data": 3
}
}
}材料配置
通过"ingredients"数组指定:
"ingredients": [
"wiki:brass",
{
"item": "wiki:screw",
"data": 2
}
]若材料设置count,需分散在不同格子中。
输出配置
支持单物品描述符或单元素数组:
"result": {
"item": "wiki:door_knob",
"data": 3
}有序配方
强制材料按特定布局排列:

{
"format_version": "1.17.41",
"minecraft:recipe_shaped": {
"description": {
"identifier": "wiki:covered_arch"
},
"tags": ["crafting_table"],
"pattern": ["SSS", "I I", "I I"],
"key": {
"S": "wiki:cloth",
"I": "wiki:support"
},
"result": [
{
"item": "wiki:covered_arch",
"count": 3
},
"wiki:crafting_scrap"
]
}
}图案规则
"pattern"数组定义材料布局:
"pattern": [
"SSS",
"I I",
"I I"
]- 每行字符串代表合成格一行
- 空格表示该格必须为空
- 字符通过
"key"映射物品
图案特性
- 自动补全:短行自动补空格
- 自由定位:未限定位置的图案可在格内任意区域匹配
- 对称性:所有配方自动支持水平镜像
键位映射
"key"对象定义字符对应物品:
"key": {
"S": "wiki:cloth",
"I": "wiki:support"
}注意:"count"属性在此无效。
输出配置
支持多物品输出(首个物品显示为结果):
"result": [
{
"item": "wiki:covered_arch",
"count": 3
},
"wiki:crafting_scrap"
]多余物品将按序填充合成区或掉落。
配方优先级
当多个配方冲突时,按以下顺序裁决:
- 行为包加载顺序(优先采用靠前包)
- 更低
"priority"值(默认为0) - 有序配方优先于无序配方
- 标识符字符串比较(字母序优先)
分组系统
"group"属性目前无实际功能:
"group": "slingshots"熔炼系统
加热配方通过热源转换物品:

{
"format_version": "1.17.41",
"minecraft:recipe_furnace": {
"description": {
"identifier": "wiki:magic_ash"
},
"tags": ["soul_campfire"],
"input": "wiki:bone_fragments",
"output": {
"item": "wiki:magic_ash",
"count": 4
}
}
}支持所有热源设备:
"tags": ["furnace", "blast_furnace", "smoker", "campfire", "soul_campfire"]熔炼规则
单输入对应单输出:
"input": "wiki:bone_fragments",
"output": {
"item": "wiki:magic_ash",
"count": 4
}注意:无法修改经验奖励与熔炼时间。
酿造系统
通过催化剂转换物品,分为:
仅支持酿造台:
"tags": ["brewing_stand"]酿造规则
需指定输入、催化剂和输出:
"input": "wiki:flask",
"reagent": "wiki:jade",
"output": "wiki:insanity_resistance"注意:堆叠物品会全部消耗,且输出物品存在堆叠兼容性问题。
混合配方

{
"format_version": "1.17.41",
"minecraft:recipe_brewing_mix": {
"description": {
"identifier": "wiki:paralysis_brew"
},
"tags": ["brewing_stand"],
"input": "wiki:amberglass_flask",
"reagent": "wiki:viporfly_poison",
"output": "wiki:paralysis_brew"
}
}WARNING
当前数据值处理存在异常,仅特定药水类型可正常使用数据值。
容器配方

{
"format_version": "1.17.41",
"minecraft:recipe_brewing_container": {
"description": {
"identifier": "wiki:illumination_potion"
},
"tags": ["brewing_stand"],
"input": "minecraft:potion",
"reagent": "wiki:radiant_berries",
"output": "wiki:illumination_potion"
}
}仅接受原版药水类物品作为输入。
配方覆盖
行为包加载顺序决定覆盖优先级(靠前包优先)。需完全重写目标配方,且类型必须严格匹配。
WARNING
若需转换配方类型(如有序转无序),需先禁用原配方(设tags:[""]),再新建不同ID的配方。
冲突解决
当多个配方适用时,按序采用:
- 更高优先级行为包
- 更低
priority值 - 有序配方优先
- 字母序更小的标识符





