Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Recipe (Bedrock Edition)

From SAS Gaming Wiki
Revision as of 20:53, 9 April 2026 by SyncBot (talk | contribs) (Fix template calls: add MC/ prefix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Recipes provide a structured way for players to perform item and block transformations in-game. Every Minecraft:crafting, smelting, Minecraft:brewing, blasting, campfire cooking, smoking, stonecutting and smithing recipe uses this system. Recipes are data driven and can be configured by Minecraft:add-ons.

Obtaining

Recipes can be obtained in various ways. Acquiring an item from the recipe causes the player to automatically discover it. Recipes can also be granted using the

  1. REDIRECT Template:Command

Template:Redr command.

Once a recipe has been discovered, it is added to the player's recipe book.

Usage

{{#vardefine:params|0 }}Template:Hatnote

Discovered recipes can be found in the player's recipe book. However, recipes do not need to be discovered for the player to be able to use them, unless the Template:Gmr game rule is enabled. The game rule Template:Gmr can be used to disable the unlocking of recipes, making them all accessible and visible.

Recipes appear in the inventory's recipe book if they are 2×2 in size, otherwise they will only appear if the player is using a crafting table.

The Minecraft:anvil, cartography table, Minecraft:loom, and Minecraft:grindstone don't use the recipe system; they use different, hardcoded systems for their mechanics.

JSON format

Vanilla recipes are stored as separate Minecraft:JSON files in the behavior_packs/vanilla/recipes or behavior_packs/<version> /recipes within the game files.

Vanilla recipes can be easily accessed in the behavior_pack/recipes folder on the official sample github for addons.

Custom recipe files are stored in the behavior_packs/<add-on name>/recipes in a Minecraft:add-on, but it is allowed to add the recipe to a subfolder, allowing the creation of new recipes and the editing of vanilla recipes.

Recipe JSON files have different structures depending on their type. These types are listed below.

recipe_shaped

Represents a crafting recipe with shape in a crafting table, the Minecraft:inventory, and the Minecraft:crafter.

The key used in the pattern can be any single character except the space character , which is reserved for empty slots in a recipe, can also be omitted to accept the recipe format in any location that has enough space. This format is the only format that accepts multiple results.

  1. REDIRECT Template:Code

Template:Redr.

  1. REDIRECT Template:Code

Template:Redr and

  1. REDIRECT Template:Code

Template:Redr.

Usage example json: <syntaxhighlight lang="c++"> {

 "format_version": "1.20.10",
 "minecraft:recipe_shaped": {
   "description": {
   "identifier": "minecraft:cake"
   },


   "tags": [ "crafting_table" ],
   "pattern": [
     "AAA",
     "BEB",
     "CCC"
   ],
   "key": {
     "A": {
       "item": "minecraft:bucket",
       "data": 1
     },
     "B": {
       "item": "minecraft:sugar"
     },
     "C": {
       "item": "minecraft:wheat"
     },
     "E": {
       "tag": "minecraft:egg"
     }
   },

"unlock": [

     {
       "tag": "minecraft:egg"
     }
   ],
  "result": {
     "item": "minecraft:cake",
     "count": 1
   } // for single result
   "result": [
     { "item": "minecraft:cake" },
     { "item": "minecraft:bucket", "count": 3, "data": 0 } // to have multiple results
   ]
 }

} </syntaxhighlight>

Template:Crafting

recipe_shapeless

Represents a shapeless crafting recipe in a crafting table, Minecraft:inventory and the Minecraft:crafter, and is also used for the Minecraft:stonecutter.

The ingredient list must have at least one and a maximum of nine entries. Unlike a recipe shaped, multiple results are not possible.

  1. REDIRECT Template:Code

Template:Redr.

  1. REDIRECT Template:Code

Template:Redr and

  1. REDIRECT Template:Code

Template:Redr.

Crafting table example json: <syntaxhighlight lang="c++"> {

 "format_version": "1.20.10",
 "minecraft:recipe_shapeless": {
   "description": {
   "identifier": "minecraft:flint_and_steel"
   },


   "tags": [ "crafting_table" ],
   "ingredients": [
     {
       "item": "minecraft:iron_ingot"
     },
     {
       "item": "minecraft:flint"
     }
   ],

"unlock": [

     {
       "item": "minecraft:flint"

}, { "item": "minecraft:obsidian"

     }
   ],
   "result": {
     "item": "minecraft:flint_and_steel"
   }
 }

} </syntaxhighlight>

Template:Crafting

Stonecutter Example Json: <syntaxhighlight lang="c++"> {

   "format_version": "1.20.10",
   "minecraft:recipe_shapeless": {
       "description": {
           "identifier": "minecraft:polished_deepslate_stairs_from_cobbled_deepslate_stonecutting"
       },
     "tags": ["stonecutter"],
       "ingredients": [
           {
               "data": 0,
               "item": "minecraft:cobbled_deepslate"
           }
       ],
       "unlock": [
         {
           "item": "minecraft:cobbled_deepslate"
         }
       ],
       "result": {
           "count": 1,
           "data": 0,
           "item": "minecraft:polished_deepslate_stairs"
       },
     "priority": 0
   }

} </syntaxhighlight>

Template:Stonecutting

recipe_furnace

Represents a smelting recipe in a Minecraft:furnace, blast furnace, Minecraft:smoker, Minecraft:campfire and the soul campfire.

It is not possible to set the amount of experience you will receive when smelting the item.

  1. REDIRECT Template:Code

Template:Redr.

  1. REDIRECT Template:Code

Template:Redr and

  1. REDIRECT Template:Code

Template:Redr.

Usage example json: <syntaxhighlight lang="c++"> {

 "format_version": "1.20.10",
 "minecraft:recipe_furnace": {
   "description": {
   "identifier": "minecraft:furnace_log"
   },
   "unlock": [
     {
       "tag": "minecraft:logs_that_burn"
     }
   ],
   "tags": ["furnace"],
   "input": {
     "tag": "minecraft:logs_that_burn"
   },
   "output": {
     "item": "minecraft:charcoal",
     "count": 1
    },
   "priority": -1
 }

} </syntaxhighlight>

Template:Smelting

recipe_smithing_trim

Represents a smithing recipe at a smithing table for adding trims.

It is not possible to create a custom one this is for documentation purposes only.

  1. REDIRECT Template:Code

Template:Redr.

    • Template:Nbt/sprite minecraft:recipe_smithing_trim: Used to set the type of smithing recipe.
      • Template:Nbt/sprite description: Required in any type of recipe, it contains the identifier of a recipe.
        • Template:Nbt/sprite identifier: Required to detect the recipe in-game. The namespace can be omitted, but it is highly recommended to avoid conflicts.
      • Template:Nbt/spriteTemplate:Nbt/sprite tags: Defines where the recipe can be used. It can be smithing_table it does not support custom tags.
      • Template:Nbt/sprite template: Used to define a template.
      • Template:Nbt/sprite base: Defines the base items that will be used.
        • Template:Nbt/sprite tag: Used to set an item tag for the recipe being used minecraft:trimmable_armors Using this tag on a custom item allows the custom armor to be trimmed.
      • Template:Nbt/sprite addition: Used to define a material.
        • Template:Nbt/sprite tag: Used to set an item tag for the recipe being used minecraft:trim_materials using this tag on a custom item has no effect.

Usage example json: <syntaxhighlight lang="c++"> {

 "format_version": "1.20.10",
 "minecraft:recipe_smithing_trim": {
   "description": {
     "identifier": "minecraft:smithing_armor_trim"
   },
   "tags": [ "smithing_table" ],
   "template": {
     "tag": "minecraft:trim_templates"
   },
   "base": {
     "tag": "minecraft:trimmable_armors"
   },
   "addition": {
     "tag": "minecraft:trim_materials"
   }
 }

} </syntaxhighlight>

Template:Smithing

recipe_smithing_transform

Represents a smithing recipe at a smithing table to perform a upgrading.

  1. REDIRECT Template:Code

Template:Redr.

    • Template:Nbt/sprite minecraft:recipe_smithing_transform: Used to set the type of smithing recipe.
      • Template:Nbt/sprite description: Required in any type of recipe, it contains the identifier of a recipe.
        • Template:Nbt/sprite identifier: Required to detect the recipe in-game. The namespace can be omitted, but it is highly recommended to avoid conflicts.
      • Template:Nbt/spriteTemplate:Nbt/sprite tags: Defines where the recipe can be used. It can be smithing_table it does not support custom tags.
      • Template:Nbt/sprite template: Used to define a netherite upgrade accepting custom items if they have the item tag minecraft:transform_templates.
      • Template:Nbt/sprite base: Defines the base items that will be used, the custom item needs to have the item tag minecraft:transformable_items.
      • Template:Nbt/sprite addition: Used to define a base material, custom items with the minecraft:transform_materials tag can be placed, however it does not work. The only truly valid item is the netherite ingot with the id minecraft:netherite_ingot.
      • Template:Nbt/sprite result: Used to set an item as a recipe result.

Usage example json: <syntaxhighlight lang="c++"> {

 "format_version": "1.20.10",
 "minecraft:recipe_smithing_transform": {
   "description": {
     "identifier": "minecraft:smithing_netherite_chestplate"
   },
   "tags": [ "smithing_table" ],
   "template": "minecraft:netherite_upgrade_smithing_template",
   "base": "minecraft:diamond_chestplate",
   "addition": "minecraft:netherite_ingot",
   "result": "minecraft:netherite_chestplate"
 }

} </syntaxhighlight>

Template:Smithing

recipe_brewing_mix

Represents a Minecraft:brewing recipe on a brewing stand.

Vanilla potions use this system minecraft:potion_type:<potion_effect> can be added

  1. REDIRECT Template:Code

Template:Redr or

  1. REDIRECT Template:Code

Template:Redr for other types like

  1. REDIRECT Template:Code

Template:Redr also accepted is

  1. REDIRECT Template:Code

Template:Redr,

  1. REDIRECT Template:Code

Template:Redr and

  1. REDIRECT Template:Code

Template:Redr.

  1. REDIRECT Template:Code

Template:Redr.

    • Template:Nbt/sprite minecraft:recipe_brewing_mix: Used to set the fermentation recipe type.
      • Template:Nbt/sprite description: Required in any type of recipe, it contains the identifier of a recipe.
        • Template:Nbt/sprite identifier: Required to detect the recipe in-game. The namespace can be omitted, but it is highly recommended to avoid conflicts.
      • Template:Nbt/spriteTemplate:Nbt/sprite tags: Defines where the recipe can be used. brewing_stand does not support custom tags.
      • Template:Nbt/sprite input: Item used for this brew recipe, supports custom items and vanilla items in the format mentioned above.
      • Template:Nbt/sprite reagent: Used to define an item or block that is used as an ingredient also supports custom items.
      • Template:Nbt/sprite output: Recipe result item, supports custom items and vanilla items in the format mentioned above.

Usage example json: <syntaxhighlight lang="c++"> {

 "format_version": "1.20.10",
 "minecraft:recipe_brewing_mix": {
   "description": {
     "identifier": "minecraft:brew_awkward_poison"
   },
   "tags": [ "brewing_stand" ],
   "input": "minecraft:potion_type:awkward",
   "reagent": "minecraft:spider_eye",
   "output": "minecraft:potion_type:poison"
 }

} </syntaxhighlight> Template:Brewing

recipe_brewing_container

Represents a Minecraft:brewing recipe focused on changing one type into another in a brewing stand.

Vanilla potions use this system minecraft:potion_type:<potion_effect> can be added

  1. REDIRECT Template:Code

Template:Redr or

  1. REDIRECT Template:Code

Template:Redr for other types like

  1. REDIRECT Template:Code

Template:Redr also accepted is

  1. REDIRECT Template:Code

Template:Redr,

  1. REDIRECT Template:Code

Template:Redr and

  1. REDIRECT Template:Code

Template:Redr.

  1. REDIRECT Template:Code

Template:Redr.

    • Template:Nbt/sprite minecraft:recipe_brewing_container: Used to set the fermentation recipe type.
      • Template:Nbt/sprite description: Required in any type of recipe, it contains the identifier of a recipe.
        • Template:Nbt/sprite identifier: Required to detect the recipe in-game. The namespace can be omitted, but it is highly recommended to avoid conflicts.
      • Template:Nbt/spriteTemplate:Nbt/sprite tags: Defines where the recipe can be used. brewing_stand does not support custom tags.
      • Template:Nbt/sprite input: Item used for this brewing recipe, unlike the mix only supports vanilla potions items in the format mentioned above.
      • Template:Nbt/sprite reagent: Used to define an item or block that is used as an ingredient also supports custom items.
      • Template:Nbt/sprite output: Recipe result item, supports custom items and vanilla items in the format mentioned above.

Usage example json: <syntaxhighlight lang="c++"> {

 "format_version": "1.20.10",

"minecraft:recipe_brewing_container": {

   "description": {
     "identifier": "minecraft:brew_potion_sulphur"
   },
   "tags": [ "brewing_stand" ],
   "input": "minecraft:potion",
   "reagent": "minecraft:gunpowder",
   "output": "minecraft:splash_potion"
 }

} </syntaxhighlight> Template:Brewing

recipe_material_reduction

Template:Message boxTemplate:Article other Represents a Minecraft:Minecraft Education recipe in a material reducer.

  1. REDIRECT Template:Code

Template:Redr.

Usage example json: <syntaxhighlight lang="c++"> {

  "format_version" : "1.14",
  "minecraft:recipe_material_reduction" : {
     "description" : {
        "identifier" : "minecraft:cobblestone_wall:4"
     },
     "input" : "minecraft:andesite_wall",
     "output" : [
        {
           "count" : 33,
           "item" : "minecraft:element_14"
        },
        {
           "count" : 64,
           "item" : "minecraft:element_8"
        },
        {
           "count" : 3,
           "item" : "minecraft:element_8"
        }
     ],
     "tags" : "material_reducer"
  }

} </syntaxhighlight>

History

Template:HistoryTable

Issues

Script error: No such module "Issue list".

External links

Navigation

Editions
Merged
Ports to consoles
Discontinued
Development
Version history
Technical
Creator
Add-ons
Multiplayer
Exclusive features
Blocks
Mobs
Effects
Unused
Removed