Minecraft:Recipe (Java Edition): Difference between revisions
More actions
Sync: updated from Minecraft |
Sync: updated from Minecraft |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
== Obtaining == | == Obtaining == | ||
Recipes can be obtained in various ways. | Recipes can be obtained in various ways. Using the recipe causes the player to automatically discover it. Recipes can also be granted using the {{cmd|recipe}} command. [[Minecraft:Advancement]]s 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 {{nbt|compound|recipeBook}} [[Minecraft:Player.dat format#NBT structure|NBT]]. | Once a recipe has been discovered, it is added to the player's [[Minecraft:recipe book]]. Discovered recipes are stored in the player's {{nbt|compound|recipeBook}} [[Minecraft:Player.dat format#NBT structure|NBT]]. | ||
| Line 18: | Line 18: | ||
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. | 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 | The [[Minecraft:anvil]], [[Minecraft:cartography table]], [[Minecraft:loom]], and [[Minecraft:grindstone]] don't use the recipe system; they use different, hardcoded systems for their mechanics. | ||
== JSON format == | == JSON format == | ||
| Line 36: | Line 36: | ||
** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}. | ** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}. | ||
** {{nbt|string}}{{nbt|list|ingredient}}: The ingredient for the recipe. Can be one of an {{nbt|string}} [[Minecraft:Java Edition data values#Items|ID]], a {{nbt|string}} [[Minecraft:Tag#Item Tags|tag]] with {{code|#}}, or an {{nbt|list}} array containing IDs. | ** {{nbt|string}}{{nbt|list|ingredient}}: The ingredient for the recipe. Can be one of an {{nbt|string}} [[Minecraft:Java Edition data values#Items|ID]], a {{nbt|string}} [[Minecraft:Tag#Item Tags|tag]] with {{code|#}}, or an {{nbt|list}} array containing IDs. | ||
** {{nbt|int|cookingtime}}: | ** {{nbt|int|cookingtime}}: The cook time of the recipe in ticks. Defaults to {{code|100}}. | ||
** {{nbt|compound|result}}: The output item of the recipe. | ** {{nbt|compound|result}}: The output item of the recipe. | ||
*** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | *** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | ||
| Line 66: | Line 66: | ||
=== brewing === | === brewing === | ||
Represents a recipe in a [[Minecraft:brewing stand]]. | Represents a recipe in a [[Minecraft:brewing stand]]. | ||
<div class="treeview"> | <div class="treeview"> | ||
| Line 74: | Line 72: | ||
** {{nbt|compound|input}}: The input bottle item of the recipe. | ** {{nbt|compound|input}}: The input bottle item of the recipe. | ||
*** {{nbt|string|item}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | *** {{nbt|string|item}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | ||
*** {{nbt|compound|potion_contents}}: Optional. | *** {{nbt|compound|potion_contents}}: Optional. A {{code|minecraft:potion_contents}} data component predicate. See {{Slink|Data component predicate|potion contents}}. | ||
** {{nbt|compound|reagent}}: The input potion ingredient item of the recipe. | ** {{nbt|compound|reagent}}: The input potion ingredient item of the recipe. | ||
*** {{nbt|string|item}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | *** {{nbt|string|item}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | ||
*** {{nbt|compound|potion_contents}}: Optional. | *** {{nbt|compound|potion_contents}}: Optional. A {{code|minecraft:potion_contents}} data component predicate. See {{Slink|Data component predicate|potion contents}}. | ||
** {{nbt|compound|output}}: The output item of the recipe. | ** {{nbt|compound|output}}: The output item of the recipe. | ||
*** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | *** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | ||
| Line 125: | Line 121: | ||
** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}. | ** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}. | ||
** {{nbt|string}}{{nbt|list|ingredient}}: The ingredient for the recipe. Can be one of an {{nbt|string}} [[Minecraft:Java Edition data values#Items|ID]], a {{nbt|string}} [[Minecraft:Tag#Item Tags|tag]] with {{code|#}}, or an {{nbt|list}} array containing IDs. | ** {{nbt|string}}{{nbt|list|ingredient}}: The ingredient for the recipe. Can be one of an {{nbt|string}} [[Minecraft:Java Edition data values#Items|ID]], a {{nbt|string}} [[Minecraft:Tag#Item Tags|tag]] with {{code|#}}, or an {{nbt|list}} array containing IDs. | ||
** {{nbt|int|cookingtime}}: | ** {{nbt|int|cookingtime}}: The cook time of the recipe in ticks. Defaults to {{code|100}}. | ||
** {{nbt|compound|result}}: The output item of the recipe. | ** {{nbt|compound|result}}: The output item of the recipe. | ||
*** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | *** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | ||
| Line 461: | Line 457: | ||
** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}. | ** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}. | ||
** {{nbt|string}}{{nbt|list|ingredient}}: The ingredient for the recipe. Can be one of an {{nbt|string}} [[Minecraft:Java Edition data values#Items|ID]], a {{nbt|string}} [[Minecraft:Tag#Item Tags|tag]] with {{code|#}}, or an {{nbt|list}} array containing IDs. | ** {{nbt|string}}{{nbt|list|ingredient}}: The ingredient for the recipe. Can be one of an {{nbt|string}} [[Minecraft:Java Edition data values#Items|ID]], a {{nbt|string}} [[Minecraft:Tag#Item Tags|tag]] with {{code|#}}, or an {{nbt|list}} array containing IDs. | ||
** {{nbt|int|cookingtime}}: | ** {{nbt|int|cookingtime}}: The cook time of the recipe in ticks. Defaults to {{code|200}}. | ||
** {{nbt|compound|result}}: The output item of the recipe. | ** {{nbt|compound|result}}: The output item of the recipe. | ||
*** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | *** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | ||
| Line 490: | Line 486: | ||
=== smithing_transform === | === smithing_transform === | ||
Represents | Represents an [[Minecraft:smithing#Upgrading|upgrading]] recipe in a [[Minecraft:smithing table]]. | ||
<div class="treeview"> | <div class="treeview"> | ||
* {{nbt|compound}}: The root tag. | * {{nbt|compound}}: The root tag. | ||
| Line 570: | Line 566: | ||
** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}. | ** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}. | ||
** {{nbt|string}}{{nbt|list|ingredient}}: The ingredient for the recipe. Can be one of an {{nbt|string}} [[Minecraft:Java Edition data values#Items|ID]], a {{nbt|string}} [[Minecraft:Tag#Item Tags|tag]] with {{code|#}}, or an {{nbt|list}} array containing IDs. | ** {{nbt|string}}{{nbt|list|ingredient}}: The ingredient for the recipe. Can be one of an {{nbt|string}} [[Minecraft:Java Edition data values#Items|ID]], a {{nbt|string}} [[Minecraft:Tag#Item Tags|tag]] with {{code|#}}, or an {{nbt|list}} array containing IDs. | ||
** {{nbt|int|cookingtime}}: | ** {{nbt|int|cookingtime}}: The cook time of the recipe in ticks. Defaults to {{code|100}}. | ||
** {{nbt|compound|result}}: The output item of the recipe. | ** {{nbt|compound|result}}: The output item of the recipe. | ||
*** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | *** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]]. | ||
| Line 672: | Line 668: | ||
|{{HistoryLine||26.1|dev=snap3|{{cd|result}} field should now be more consistent across all recipe types that contain it.|It will now accept short form.|For recipe types {{cd|smelting}}, {{cd|blasting}}, {{cd|smoking}} and {{cd|campfire_cooking}} this field now also accepts {{cd|count}} field.}} | |{{HistoryLine||26.1|dev=snap3|{{cd|result}} field should now be more consistent across all recipe types that contain it.|It will now accept short form.|For recipe types {{cd|smelting}}, {{cd|blasting}}, {{cd|smoking}} and {{cd|campfire_cooking}} this field now also accepts {{cd|count}} field.}} | ||
|{{HistoryLine|||dev=snap5|{{cd|minecraft:crafting_special_mapcloning}} recipe type has been removed, functionality has been absorbed by {{cd|minecraft:crafting_transmute}}.|New {{cd|show_notification}} fields with the same functionality as existing one in {{cd|minecraft:crafting_shaped}} have been added to several existing recipe types.|Removed unused {{cd|group}} field from recipes without a recipe book.|Renamed several stonecutter recipes, along with the relevant advancement.|Added recipe type {{cd|minecraft:crafting_dye}}, replacing the {{cd|minecraft:crafting_special_armordye}} recipe.}} | |{{HistoryLine|||dev=snap5|{{cd|minecraft:crafting_special_mapcloning}} recipe type has been removed, functionality has been absorbed by {{cd|minecraft:crafting_transmute}}.|New {{cd|show_notification}} fields with the same functionality as existing one in {{cd|minecraft:crafting_shaped}} have been added to several existing recipe types.|Removed unused {{cd|group}} field from recipes without a recipe book.|Renamed several stonecutter recipes, along with the relevant advancement.|Added recipe type {{cd|minecraft:crafting_dye}}, replacing the {{cd|minecraft:crafting_special_armordye}} recipe.}} | ||
|{{HistoryLine||26.3|dev=snap3|Potion brewing recipes are now data-driven. New recipes can be added via [[Minecraft:data pack]]s, and vanilla recipes may be modified.|Brewing recipes use the {{cd|minecraft:brewing}} type.}} | |{{HistoryLine||26.3|dev=snap3|Potion brewing recipes are now data-driven. New recipes can be added via [[Minecraft:data pack]]s, and vanilla recipes may be modified.|Brewing recipes use the {{cd|minecraft:brewing}} type.}} | ||
|{{HistoryLine|||dev=snap4|The recipes for smokers and blast furnaces now use the same cooking time in their data definition as their furnace counterparts. The cooking time speedup is now done through the {{cd|minecraft:cooking/speed_default}} number provider used by the furnace fuel components.}} | |{{HistoryLine|||dev=snap4|The recipes for smokers and blast furnaces now use the same cooking time in their data definition as their furnace counterparts. The cooking time speedup is now done through the {{cd|minecraft:cooking/speed_default}} number provider used by the furnace fuel components.}} | ||
Latest revision as of 11:16, 15 October 2026
|
For the {{{Description}}} of the same name, see [[{{{Destination}}}]]. |
Template:Needs update 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. Using 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, 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 identifier 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:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to 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 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
brewing
Represents a recipe in a Minecraft:brewing stand.
- Template:Nbt The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: The input bottle item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. A Template:Code data component predicate. See Template:Slink.
- Template:Nbt: The input potion ingredient item of the recipe.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. A Template:Code data component predicate. See Template:Slink.
- 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:brewing",
"input": {
"item": "minecraft:potion",
"potion_contents": {
"potion": "minecraft:water"
}
},
"output": {
"components": {
"minecraft:potion_contents": {
"potion": "minecraft:awkward"
}
},
"id": "minecraft:potion"
},
"reagent": {
"item": "minecraft:nether_wart"
}
} </syntaxhighlight> Template:Brewing
campfire_cooking
Represents a recipe in a Minecraft:campfire.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Does nothing for campfire recipes, since campfires do not have a recipe book. Available values are: Template:Code. Defaults to Template:Code.
- Template:Nbt: Optional. Does nothing for campfire recipes, since campfires do not have a recipe book.
- Template:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to 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 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. Does nothing for campfire recipes, since they do not drop experience.
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_imbue
Represents a crafting recipe in a Minecraft:Crafting Table and Minecraft:Crafter. With one item in the center and eight other items around it. The result keeps the Template:Code from the Template:Code item.
Used for the Minecraft:Tipped Arrow crafting 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: The ingredient which is in the center of the crafting grid.
- Template:Nbt: The ingredient which is in the eight other slots.
- 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.
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: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to Template:Code.
- 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 or, optionally, the original 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:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to Template:Code.
- 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:NbtTemplate:Nbt: Optional. The allowed amount of slots containing the item matched by the Template:Code ingredient. Can be an Template:Nbt integer or an Template:Nbt integer range (inclusive) with the fields below. Defaults to Template:Code.
- Template:Nbt: The minimum amount of slots, must be at least Template:Code.
- Template:Nbt: The maximum amount of slots, must be at most Template:Code.
- Template:Nbt: When Template:Code, the amount of slots containing items matched by the Template:Code ingredient will be added to the final count of the result. Defaults to Template:Code
- Template:Nbt: The output item of the recipe, keeping the components of the Template:Code ingredient.
- Template:Nbt: An item ID.
- Template:Nbt: Optional. The amount of the item. Defaults to Template:Code.
- Template:Nbt: Optional. Can override or remove components of the Template:Code ingredient. See item components.
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 identifier 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.
- Additional fields:
- Template:Nbt: The item used for both the source and target. 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. Preserves all components of the source 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 written book copying recipe.
- Regular recipes cannot copy NBT data associated to the Minecraft:written book item and cannot control the generation of copies.
- Additional fields:
- Template:Nbt: Ingredient to be used as source book. Template:Code required to match recipe. Will be kept in crafting grid. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: Ingredient to target the item to be cloned. Number of items beyond the first one will be added to the result stack size. Can be one of an Template:Nbt ID, a Template:Nbt tag with Template:Code, or an Template:Nbt array containing IDs.
- Template:Nbt: Integer range describing the allowed value of Template:Code field of Template:Code. Must be a subrange of Template:Code. Defaults to Template:Code
- Template:Nbt: The minimum generation.
- Template:Nbt: The maximum generation.
- Template:Nbt: The output item of the recipe. Preserves all components of the source item, but Template:Code field in Template:Code is incremented by 1.
- 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 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.
- Template:AnchorTemplate:AnchorTemplate:AnchorTemplate:Code *[removed in Minecraft:Java Edition 26.1]
- 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:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to 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 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 an upgrading recipe in a Minecraft:smithing table.
- Template:Nbt: The root tag.
- Template:Nbt: Template:Code
- Template:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to 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:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to 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:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to 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 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:Nbt: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to 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:配方