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 16:02, 9 April 2026 by SyncBot (talk | contribs) (Remove broken links to missing pages)


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 Template:Cmd command.

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

Usage

Template:Main

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 Template:Code or Template:Code within the game files.

Vanilla recipes can be easily accessed in the Template:Code folder on the official sample github for addons.

Custom recipe files are stored in the Template:Code 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.

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.

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.

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.

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.

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 Template:Code can be added Template:Cd or Template:Cd for other types like Template:Cd also accepted is Template:Cd, Template:Cd and Template:Cd.

  • Template:Nbt: The root tag.
    • Template:Nbt: Used to set the version your recipe should work on e.g. Template:Cd.
    • Template:Nbt: Used to set the fermentation recipe type.
      • Template:Nbt: Required in any type of recipe, it contains the identifier of a recipe.
        • Template:Nbt: Required to detect the recipe in-game. The namespace can be omitted, but it is highly recommended to avoid conflicts.
      • Template:NbtTemplate:Nbt: Defines where the recipe can be used. Template:Code does not support custom tags.
      • Template:Nbt: Item used for this brew recipe, supports custom items and vanilla items in the format mentioned above.
      • Template:Nbt: Used to define an item or block that is used as an ingredient also supports custom items.
      • Template:Nbt: 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 Template:Code can be added Template:Cd or Template:Cd for other types like Template:Cd also accepted is Template:Cd, Template:Cd and Template:Cd.

  • Template:Nbt: The root tag.
    • Template:Nbt: Used to set the version your recipe should work on e.g. Template:Cd.
    • Template:Nbt: Used to set the fermentation recipe type.
      • Template:Nbt: Required in any type of recipe, it contains the identifier of a recipe.
        • Template:Nbt: Required to detect the recipe in-game. The namespace can be omitted, but it is highly recommended to avoid conflicts.
      • Template:NbtTemplate:Nbt: Defines where the recipe can be used. Template:Code does not support custom tags.
      • Template:Nbt: Item used for this brewing recipe, unlike the mix only supports vanilla potions items in the format mentioned above.
      • Template:Nbt: Used to define an item or block that is used as an ingredient also supports custom items.
      • Template:Nbt: 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:Education feature Represents a Minecraft:Minecraft Education recipe in a material reducer.

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

Template:Issue list

External links

Navigation

Template:Navbox Bedrock Edition