Minecraft:Recipe (Java Edition)
More actions
|
For the {{{Description}}} of the same name, see [[{{{Destination}}}]]. |
Template:Split Recipes provide a structured way for players to perform item and block transformations in-game. Every Minecraft:crafting, Minecraft:smelting, blasting, campfire cooking, smoking, stonecutting and Minecraft:smithing recipe uses this system. Recipes are data driven and can be configured by Minecraft:data packs.
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. Minecraft:Advancements can be configured to award recipes when triggered; in vanilla, there are many advancements that grant recipes which trigger when, for example, the player obtains an item required in the recipe.
Once a recipe has been discovered, it is added to the player's Minecraft:recipe book. Discovered recipes are stored in the player's Template:Nbt NBT.
Usage
Discovered recipes can be found in the player's Minecraft: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.
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 Minecraft:crafting table. The recipe book can also be used in the Minecraft:furnace, showing exclusively Minecraft:smelting recipes.
The Minecraft:anvil, Minecraft:cartography table, Minecraft:loom, Minecraft:brewing stand, 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 folder in the Template:Code file. This folder can be found by changing the extension of the Template:Code file to Template:Code and navigating within it.
Custom recipe files are stored in the Template:Code folder of a Minecraft:data pack. A recipe with ID Template:Code would have its JSON file located at Template:Code within a Minecraft:data pack. Data packs that load later with a recipe file in same resource location replace the existing recipe.
Recipe JSON files have different structures dependent on their type, but they all have a Template:Nbt tag in its root tag. These types are listed below.
blasting
Represents a recipe in a Minecraft:blast furnace.
- Template:Nbt The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code and Template:Code. Defaults to Template:Code.
- Template:Nbt: Optional. A string identifier. Used to group multiple recipes together in the recipe book. Recipes with same group identifier but different categories splits into two different groups.
- Template:NbtTemplate:Nbt: The ingredient for the recipe. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: Optional. The cook time of the recipe in ticks. Defaults to Template:Code.
- Template:Nbt: The output item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. Additional information about the item. See item components.
- Template:Nbt: Optional. The output Minecraft:experience of the recipe.
Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:blasting",
"category": "misc",
"cookingtime": 100,
"experience": 0.1,
"group": "coal",
"ingredient": "minecraft:coal_ore",
"result": {
"id": "minecraft:coal"
}
} </syntaxhighlight> Template:Smelting
campfire_cooking
Represents a recipe in a Minecraft:campfire.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:NbtTemplate:Nbt: The ingredient for the recipe. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: Optional. The cook time of the recipe in ticks. Defaults to Template:Code.
- Template:Nbt: The output item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. Additional information about the item. See item components.
Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:campfire_cooking",
"category": "food",
"cookingtime": 600,
"experience": 0.35,
"ingredient": "minecraft:potato",
"result": {
"id": "minecraft:baked_potato"
}
} </syntaxhighlight>
Even though all vanilla campfire cooking recipes have a cook time of Template:Code ticks, the default is Template:Code ticks.
Campfire recipes do not trigger the Template:Code criteria.
crafting_dye
Represents an armor dyeing recipe in a Minecraft:crafting table, the survival Minecraft:inventory and the Minecraft:crafter.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code, Template:Code, Template:Code, and Template:Code. Defaults to Template:Code.
- Template:NbtTemplate:Nbt: An item that corresponds to the dyes usable on this object. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- The Template:Code component is required on matching items for the whole recipe to match
- Template:Nbt: Optional. A string identifier. Used to group multiple recipes together in the recipe book. Recipes with same group identifier but different categories splits into two different groups.
- Template:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to Template:Code.
- Template:Nbt: The output item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. The amount of the item. Falls back to 1 if the field is absent.
- Template:Nbt: Optional. Additional information about the item. See item components.
- Template:NbtTemplate:Nbt: The item this recipe applies to. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
Usage example json:<syntaxhighlight lang="c++"> {
"type": "minecraft:crafting_dye",
"category": "misc",
"dye": "#minecraft:dyes",
"group": "dyed_armor",
"result": {
"id": "minecraft:leather_horse_armor"
},
"target": "minecraft:leather_horse_armor"
} </syntaxhighlight>
crafting_shaped
Represents a shaped crafting recipe in a Minecraft:crafting table, the survival Minecraft:inventory and the Minecraft:crafter.
The key used in the pattern may be any single character except , the space character, which is reserved for empty slots in a recipe.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code, Template:Code, Template:Code, and Template:Code. Defaults to Template:Code.
- Template:Nbt: Optional. A string identifier. Used to group multiple recipes together in the recipe book. Recipes with same group identifier but different categories splits into two different groups.
- Template:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to Template:Code.
- Template:Nbt: A list of single-character keys used to describe a pattern for shaped crafting. Each row in the crafting grid is one string in this list containing 3 or less keys. All strings in this list need to have the same amount of keys. A space can be used to indicate an empty spot.
- Template:Nbt: All keys used for this shaped crafting recipe.
- Template:NbtTemplate:Nbt: An item that corresponds to this key. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: The output item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. The amount of the item. Falls back to 1 if the field is absent.
- Template:Nbt: Optional. Additional information about the item. See item components.
Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"A": "minecraft:milk_bucket",
"B": "minecraft:sugar",
"C": "minecraft:wheat",
"E": "#minecraft:eggs"
},
"pattern": [
"AAA",
"BEB",
"CCC"
],
"result": {
"count": 1,
"id": "minecraft:cake"
}
} </syntaxhighlight>
crafting_shapeless
Represents a shapeless crafting recipe in a Minecraft:crafting table, the survival Minecraft:inventory and the Minecraft:crafter.
The ingredients list must have at least one and at most nine entries.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code, Template:Code, Template:Code, and Template:Code. Defaults to Template:Code.
- Template:Nbt: Optional. A string identifier. Used to group multiple recipes together in the recipe book. Recipes with same group identifier but different categories splits into two different groups.
- Template:Nbt: A list of entries for this shapeless crafting recipe. Must have 1 to 9 entries.
- Template:NbtTemplate:Nbt: An entry made of a single ingredient or a list of acceptable ingredients. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: The output item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. The amount of the item. Defaults to Template:Code.
- Template:Nbt: Optional. Additional information about the item. See item components.
Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:crafting_shapeless",
"category": "equipment",
"ingredients": [
"minecraft:iron_ingot",
"minecraft:flint"
],
"result": {
"count": 1,
"id": "minecraft:flint_and_steel"
}
} </syntaxhighlight>
Template:Crafting If the recipe contains the same 9 ingredients, it turns into Template:Code recipe.
crafting_transmute
Template:Anchor Represents a crafting recipe in a Minecraft:crafting table, a Minecraft:crafter and the survival Minecraft:inventory.
When matched, output copies the input item stack, changing the item type but preserving all stack components.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code, Template:Code, Template:Code, and Template:Code. Defaults to Template:Code.
- Template:Nbt: Optional. A string identifier. Used to group multiple recipes together in the recipe book. Recipes with same group identifier but different categories splits into two different groups.
- Template:NbtTemplate:Nbt: Ingredient for item to copy. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:NbtTemplate:Nbt: Additional ingredient to use. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: The output item of the recipe. It keeps item components from the input.
Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:crafting_transmute",
"category": "misc",
"group": "shulker_box_dye",
"input": "#minecraft:shulker_boxes",
"material": "minecraft:blue_dye",
"result": {
"id": "minecraft:blue_shulker_box"
}
} </syntaxhighlight>
crafting_special_*
Represents a crafting recipe in a Minecraft:crafting table, a Minecraft:crafter and the survival Minecraft:inventory that is handled with built-in logic instead of being data-driven.
When the Template:Code Minecraft:data pack is disabled, they can be used to re-enable desired built-in crafting recipes.
- Template:Nbt: The root tag.
- Template:Nbt: A resource location indicating the type of serializer of the recipe.
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code, Template:Code, Template:Code, and Template:Code. Defaults to Template:Code.
Unlike most other recipe types, they do not have a Template:Code field and cannot be displayed in recipe books.
- The armor dyeing recipe.
- Regular recipes cannot handle multiple dyes.
- The banner copying recipe.
- Regular recipes cannot copy Minecraft:NBT data associated to the Minecraft:banner item.
- The written book copying recipe.
- Regular recipes cannot copy NBT data associated to the Minecraft:written book item and cannot control the generation of copies.
- The firework rocket recipe using Minecraft:firework stars.
- Regular recipes cannot handle inputs flexibly or add NBT data from a firework star to the firework rocket.
- The firework star crafting recipes and their fade additions.
- Regular recipes cannot handle inputs flexibly or add NBT data to the firework star.
- The map copying recipe.
- Regular recipes cannot copy NBT data associated to the map item.
- The map zooming recipe.
- Regular recipes cannot update NBT data associated to the map item.
- The Minecraft:item repair recipe.
- Regular recipes cannot update damage data associated to the tool item.
- The shield pattern application recipe.
- Regular recipes cannot add Minecraft:NBT data from a Minecraft:banner item to a Minecraft:shield item.
- The tipped arrow recipe.
- Regular recipes cannot copy NBT data from a Minecraft:lingering potion item to a Minecraft:tipped arrow item.
crafting_decorated_pot
The decorated pot recipe in a Minecraft:crafting table and a Minecraft:crafter.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code, Template:Code, Template:Code, and Template:Code. Defaults to Template:Code.
smelting
Represents a recipe in a Minecraft:furnace.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code, Template:Code, and Template:Code. Defaults to Template:Code.
- Template:Nbt: Optional. A string identifier. Used to group multiple recipes together in the recipe book. Recipes with same group identifier but different categories splits into two different groups.
- Template:NbtTemplate:Nbt: The ingredient for the recipe. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: Optional. The cook time of the recipe in ticks. Defaults to Template:Code.
- Template:Nbt: The output item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. Additional information about the item. See item components.
- Template:Nbt: Optional. The output Minecraft:experience of the recipe.
Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": "minecraft:stone_bricks",
"result": {
"id": "minecraft:cracked_stone_bricks"
}
} </syntaxhighlight> Template:Smelting
smithing_transform
Represents a upgrading recipe in a Minecraft:smithing table.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:NbtTemplate:Nbt: Optional. Ingredient specifying an item to act as the template. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:NbtTemplate:Nbt: Ingredient specifying an item to be upgraded. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:NbtTemplate:Nbt: Optional. Ingredient specifying an item to be added. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: Item specifying the resulting upgraded item.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. The amount of the item. Defaults to Template:Code.
- Template:Nbt: Optional. Additional information about the item. See item components.
The resulting item copies the components of the base item. Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:smithing_transform",
"addition": "#minecraft:netherite_tool_materials",
"base": "minecraft:diamond_axe",
"result": {
"id": "minecraft:netherite_axe"
},
"template": "minecraft:netherite_upgrade_smithing_template"
} </syntaxhighlight>
smithing_trim
Represents a trimming recipe in a Minecraft:smithing table.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:NbtTemplate:Nbt: Optional. Ingredient specifying an item to act as the template. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:NbtTemplate:Nbt: Ingredient specifying an item to be trimmed. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:NbtTemplate:Nbt: Optional. Ingredient specifying an item to be added. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
Adds NBT Tags for the trim to the base item. Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:smithing_trim", "addition": "#minecraft:trim_materials", "base": "#minecraft:trimmable_armor", "pattern": "minecraft:silence", "template": "minecraft:silence_armor_trim_smithing_template"
} </syntaxhighlight> Template:Smithing
smoking
Represents a recipe in a Minecraft:smoker.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Controls to which Minecraft:recipe book category the recipe belongs to. Available values are: Template:Code. Defaults to Template:Code.
- Template:Nbt: Optional. A string identifier. Used to group multiple recipes together in the recipe book. Recipes with same group identifier but different categories splits into two different groups.
- Template:NbtTemplate:Nbt: The ingredient for the recipe. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: Optional. The cook time of the recipe in ticks. Defaults to Template:Code.
- Template:Nbt: The output item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. Additional information about the item. See item components.
- Template:Nbt: Optional. The output Minecraft:experience of the recipe.
Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:smoking",
"category": "food",
"cookingtime": 100,
"experience": 0.35,
"ingredient": "minecraft:beef",
"result": {
"id": "minecraft:cooked_beef"
}
} </syntaxhighlight> Template:Smelting
stonecutting
Represents a recipe in a Minecraft:stonecutter.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:NbtTemplate:Nbt: The ingredient for the recipe. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: The output item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. The amount of the item. Defaults to Template:Code.
- Template:Nbt: Optional. Additional information about the item. See item components.
Usage example json: <syntaxhighlight lang="c++"> {
"type": "minecraft:stonecutting",
"ingredient": "minecraft:cobbled_deepslate",
"result": {
"count": 1,
"id": "minecraft:cobbled_deepslate_stairs"
}
} </syntaxhighlight> Template:Stonecutting
History
Issues
External links
Template:Navbox Java Edition technical
Minecraft:de:Rezeptdefinition Minecraft:es:Receta Minecraft:fr:Recette Minecraft:ja:レシピ Minecraft:lzh:方 Minecraft:pl:Receptura Minecraft:pt:Receita Minecraft:ru:Рецепт Minecraft:zh:配方