Recipe
Recipes guide players through crafting, smelting, and other block/item conversions. Crafting, smelting, blasting, campfire, smoking, smithing, stonecutting, and brewing (Java 26.3+) all use the recipe system; cartography too on Bedrock. Most recipes are data-driven.
Acquisition
Using a recipe auto-discovers it; /recipe grants it directly; conditions (e.g. obtaining items) unlock it — in Java via advancement rewards, in Bedrock via the recipe itself. Discovered recipes are stored in the player's recipeBook (or recipe_unlocking) NBT.
Usage
Recipes appear in the recipe book, but discovery is only required with the limited_crafting game rule. Recipes show only in matching interfaces (smelting in furnaces, etc.); the inventory recipe book shows only 2×2-compatible recipes.
Java Edition
Registry RECIPE, data pack path recipe (files in data/<namespace>/recipe/). There are no recipe tags — data/<namespace>/tags/recipe/ is never loaded. Files are JSON:
{ "type": "<namespace id>", ... }
Common fields (crafting recipes): group (default "", groups merge in the book), category (default misc; building, redstone, equipment, misc), show_notification (default true).
Crafting Recipes
crafting_shaped — shaped recipe. key (map char → item ID / item list / item tag; chars are single non-space characters), pattern (1–3 rows, equal lengths, spaces = empty), result (item template). Mirror-symmetric arrangements are automatically valid.
crafting_shapeless — ingredients (1–9 entries: item ID/list/tag), result. 9 identical ingredients are treated internally as a shaped recipe.
crafting_transmute — changes the item type while keeping the input's component revision: input, material (consumed), material_count (default [1,1], subrange of [1,8]), result, add_material_to_result_count (default false — adds the count of material slots to the output stack size). No effect when input == output.
crafting_dye — dyeing: target, dye (must have the dye component), result. Requires ≥2 items and exactly one target; the target goes through the transmute processing, then a new dyed_color component is set from existing + input dye colors.
crafting_imbue — potion effect copying (Java 26.3+): the grid center must be source, the 8 surrounding slots material; the source's potion_contents component is copied to result.
Custom (Special) Recipes
Handled by internal code; the JSON only restricts ingredients. Not shown in the recipe book, cannot be unlocked, unaffected by limited_crafting.
crafting_decorated_pot — back (row 1 col 2), left (row 2 col 1), right (row 2 col 3), front (row 3 col 2), result; output gets a pot_decorations component from the ingredients.
crafting_special_bannerduplicate — banner, result. Exactly 2 stacks; both must be banners of the same base color; pattern source's banner_patterns must be ≤ 6 layers. The pattern source is NOT consumed (unless it has a remainder item).
crafting_special_bookcloning — source (must have written_book_content), material, allowed_generations (default [0,1], subrange of [0,2]; 0 = original, 1 = copy of original, 2 = copy of copy, 3 = tattered), result. Copies the content with generation +1; consumed material count adds to the output count; the source is not consumed.
crafting_special_firework_rocket — shell (exactly one), fuel (≤3, +1 flight_duration each), star (provides firework_explosion components in grid order), result; output gets a fireworks component.
crafting_special_firework_star — trail, twinkle, fuel, dye (must have dye component; each modifier at most once), shapes (small_ball, large_ball, burst, star, creeper; default small ball), result; output gets a firework_explosion component.
crafting_special_firework_star_fade — target, fuel (dyes), result; sets fade_colors in the firework_explosion component (≥2 items, exactly one target).
crafting_special_mapextending — map (center; must have map_id, the map data must exist, not be an explorer map, scale ≠ 4), material (8 around), result; sets map_post_processing to 1.
crafting_special_repairitem — no other fields. Two items of the same type with damage/max_damage components; output takes the max max-durability, sums remaining durability + 5%; keeps both curse enchantments; other enchantments take the highest level.
crafting_special_shielddecoration — banner (must be a banner), target (no or empty banner_patterns), result; sets base_color and banner_patterns from the banner.
Smelting Recipes
Common fields: group, category (food, blocks, misc), show_notification, experience (default 0), cookingtime (default 200 for smelting; 100 for blasting, smoking, campfire_cooking), ingredient, result.
smelting — furnace.
blasting — blast furnace.
smoking — smoker.
campfire_cooking — campfire and soul campfire. All vanilla campfire recipes use 600 ticks (30 s). Does not trigger the recipe_unlocked advancement trigger.
Stonecutting
stonecutting — ingredient, result (no group/category).
Brewing (Java 26.3 dev)
brewing — input (item + optional potion_contents), output (item template), reagent (item).
Smithing
smithing_transform — template, base (required), addition, result; the base item is transmuted into the result (components preserved).
smithing_trim — template, base (required), addition (required; its provides_trim_material component determines the trim material), pattern (trim pattern).
Bedrock Edition
Files are JSON in the behavior pack's recipes/ directory. Ingredient format: {item, data (int or Molang), tag}; output format: {item, data, count}. Types (each under format_version + the type key, with description.identifier, tags (valid vanilla tags listed per type), group, priority (lower = higher priority), unlock (list of required items or {context: AlwaysUnlocked | PlayerInWater | PlayerHasManyItems})):
minecraft:recipe_shaped — key + pattern + result (single item or list), assume_symmetry (default true). Tags: crafting_table.
minecraft:recipe_shapeless — ingredients + result (exactly one). Tags: crafting_table, stonecutter, cartography_table. The stonecutter uses this system.
minecraft:recipe_furnace — input + output. Tags: furnace, blast_furnace, smoker, campfire, soul_campfire.
minecraft:recipe_brewing_container — input, output, reagent. Tag: brewing_stand.
minecraft:recipe_brewing_mix — input (potion effect), output (potion effect), reagent. Tag: brewing_stand.
minecraft:recipe_smithing_transform — template, base, addition, result. Tag: smithing_table; items need minecraft:trim_templates/trimmable_armors/trim_materials tags to be placeable (only netherite ingots are valid additions in vanilla).
minecraft:recipe_smithing_trim — template, base, addition. Tag: smithing_table.
minecraft:recipe_material_reduction (Education) — input + output (≤9). Tag: material_reducer.
1---2name: minecraft-recipe3description: Minecraft Recipe 配方系统:Acquisition 获取(使用配方自动发现、/recipe 直接授予、条件解锁 Java通过进度奖励 Bedrock通过配方本身、发现配方存储在玩家 recipeBook/recipe_unlocking NBT)、Usage 使用(配方书显示 limited_crafting 游戏规则才需发现、仅在匹配界面显示)、Java Edition Java版(RECIPE 注册表、data/<namespace>/recipe/ JSON文件、无配方标签;Common fields 通用字段 group/category show_notification)、Crafting Recipes 合成配方(crafting_shaped 有形配方 key+pattern+result 镜像对称自动有效、crafting_shapeless 无配方 ingredients+result 9相同输入视为有形、crafting_transmute 保留组件修订变更物品类型 input+material+result、crafting_dye 染料染色 target+dye+result、crafting_imbue 药水效果复制 Java26.3+ 中心source 周围material)、Custom (Special) Recipes 自定义特殊配方(crafting_decorated_pot 装饰罐、crafting_special_bannerduplicate 旗帜复制、crafting_special_bookcloning 书籍克隆、crafting_special_firework_rocket 星箭火箭、crafting_special_firework_star 烟花星星、crafting_special_firework_star_fade 烟花星星渐变、crafting_special_mapextending 地图扩展、crafting_special_repairitem 修理物品、crafting_special_shielddecoration 盾牌装饰)、Smelting Recipes 熔炼配方(smelting 熔炉、blasting 高炉、smoking 烟熏炉、campfire_cooking 营火)、Stonecutting 石切 st4---56# Recipe78Recipes guide players through crafting, smelting, and other block/item conversions. Crafting, smelting, blasting, campfire, smoking, smithing, stonecutting, and brewing (Java 26.3+) all use the recipe system; cartography too on Bedrock. Most recipes are data-driven.910## Acquisition1112Using a recipe auto-discovers it; `/recipe` grants it directly; conditions (e.g. obtaining items) unlock it — in Java via advancement rewards, in Bedrock via the recipe itself. Discovered recipes are stored in the player's `recipeBook` (or `recipe_unlocking`) NBT.1314## Usage1516Recipes appear in the recipe book, but discovery is only required with the `limited_crafting` game rule. Recipes show only in matching interfaces (smelting in furnaces, etc.); the inventory recipe book shows only 2×2-compatible recipes.1718## Java Edition1920Registry `RECIPE`, data pack path `recipe` (files in `data/<namespace>/recipe/`). There are no recipe tags — `data/<namespace>/tags/recipe/` is never loaded. Files are JSON:2122```json23{ "type": "<namespace id>", ... }24```2526Common fields (crafting recipes): `group` (default "", groups merge in the book), `category` (default `misc`; `building`, `redstone`, `equipment`, `misc`), `show_notification` (default true).2728### Crafting Recipes2930- `crafting_shaped` — shaped recipe. `key` (map char → item ID / item list / item tag; chars are single non-space characters), `pattern` (1–3 rows, equal lengths, spaces = empty), `result` (item template). Mirror-symmetric arrangements are automatically valid.31- `crafting_shapeless` — `ingredients` (1–9 entries: item ID/list/tag), `result`. 9 identical ingredients are treated internally as a shaped recipe.32- `crafting_transmute` — changes the item type while keeping the input's component revision: `input`, `material` (consumed), `material_count` (default [1,1], subrange of [1,8]), `result`, `add_material_to_result_count` (default false — adds the count of material slots to the output stack size). No effect when input == output.33- `crafting_dye` — dyeing: `target`, `dye` (must have the `dye` component), `result`. Requires ≥2 items and exactly one `target`; the target goes through the transmute processing, then a new `dyed_color` component is set from existing + input dye colors.34- `crafting_imbue` — potion effect copying (Java 26.3+): the grid center must be `source`, the 8 surrounding slots `material`; the source's `potion_contents` component is copied to `result`.3536### Custom (Special) Recipes3738Handled by internal code; the JSON only restricts ingredients. Not shown in the recipe book, cannot be unlocked, unaffected by `limited_crafting`.3940- `crafting_decorated_pot` — `back` (row 1 col 2), `left` (row 2 col 1), `right` (row 2 col 3), `front` (row 3 col 2), `result`; output gets a `pot_decorations` component from the ingredients.41- `crafting_special_bannerduplicate` — `banner`, `result`. Exactly 2 stacks; both must be banners of the same base color; pattern source's `banner_patterns` must be ≤ 6 layers. The pattern source is NOT consumed (unless it has a remainder item).42- `crafting_special_bookcloning` — `source` (must have `written_book_content`), `material`, `allowed_generations` (default [0,1], subrange of [0,2]; 0 = original, 1 = copy of original, 2 = copy of copy, 3 = tattered), `result`. Copies the content with `generation` +1; consumed material count adds to the output count; the source is not consumed.43- `crafting_special_firework_rocket` — `shell` (exactly one), `fuel` (≤3, +1 `flight_duration` each), `star` (provides `firework_explosion` components in grid order), `result`; output gets a `fireworks` component.44- `crafting_special_firework_star` — `trail`, `twinkle`, `fuel`, `dye` (must have `dye` component; each modifier at most once), `shapes` (`small_ball`, `large_ball`, `burst`, `star`, `creeper`; default small ball), `result`; output gets a `firework_explosion` component.45- `crafting_special_firework_star_fade` — `target`, `fuel` (dyes), `result`; sets `fade_colors` in the `firework_explosion` component (≥2 items, exactly one target).46- `crafting_special_mapextending` — `map` (center; must have `map_id`, the map data must exist, not be an explorer map, scale ≠ 4), `material` (8 around), `result`; sets `map_post_processing` to 1.47- `crafting_special_repairitem` — no other fields. Two items of the same type with `damage`/`max_damage` components; output takes the max max-durability, sums remaining durability + 5%; keeps both curse enchantments; other enchantments take the highest level.48- `crafting_special_shielddecoration` — `banner` (must be a banner), `target` (no or empty `banner_patterns`), `result`; sets `base_color` and `banner_patterns` from the banner.4950### Smelting Recipes5152Common fields: `group`, `category` (`food`, `blocks`, `misc`), `show_notification`, `experience` (default 0), `cookingtime` (default 200 for `smelting`; 100 for `blasting`, `smoking`, `campfire_cooking`), `ingredient`, `result`.5354- `smelting` — furnace.55- `blasting` — blast furnace.56- `smoking` — smoker.57- `campfire_cooking` — campfire and soul campfire. All vanilla campfire recipes use 600 ticks (30 s). Does not trigger the `recipe_unlocked` advancement trigger.5859### Stonecutting6061`stonecutting` — `ingredient`, `result` (no group/category).6263### Brewing (Java 26.3 dev)6465`brewing` — `input` (`item` + optional `potion_contents`), `output` (item template), `reagent` (item).6667### Smithing6869- `smithing_transform` — `template`, `base` (required), `addition`, `result`; the base item is transmuted into the result (components preserved).70- `smithing_trim` — `template`, `base` (required), `addition` (required; its `provides_trim_material` component determines the trim material), `pattern` (trim pattern).7172## Bedrock Edition7374Files are JSON in the behavior pack's `recipes/` directory. Ingredient format: `{item, data (int or Molang), tag}`; output format: `{item, data, count}`. Types (each under `format_version` + the type key, with `description.identifier`, `tags` (valid vanilla tags listed per type), `group`, `priority` (lower = higher priority), `unlock` (list of required items or `{context: AlwaysUnlocked | PlayerInWater | PlayerHasManyItems}`)):7576- `minecraft:recipe_shaped` — `key` + `pattern` + `result` (single item or list), `assume_symmetry` (default true). Tags: `crafting_table`.77- `minecraft:recipe_shapeless` — `ingredients` + `result` (exactly one). Tags: `crafting_table`, `stonecutter`, `cartography_table`. The stonecutter uses this system.78- `minecraft:recipe_furnace` — `input` + `output`. Tags: `furnace`, `blast_furnace`, `smoker`, `campfire`, `soul_campfire`.79- `minecraft:recipe_brewing_container` — `input`, `output`, `reagent`. Tag: `brewing_stand`.80- `minecraft:recipe_brewing_mix` — `input` (potion effect), `output` (potion effect), `reagent`. Tag: `brewing_stand`.81- `minecraft:recipe_smithing_transform` — `template`, `base`, `addition`, `result`. Tag: `smithing_table`; items need `minecraft:trim_templates`/`trimmable_armors`/`trim_materials` tags to be placeable (only netherite ingots are valid additions in vanilla).82- `minecraft:recipe_smithing_trim` — `template`, `base`, `addition`. Tag: `smithing_table`.83- `minecraft:recipe_material_reduction` (Education) — `input` + `output` (≤9). Tag: `material_reducer`.