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 (Java Edition): Difference between revisions

From SAS Gaming Wiki
SyncBot (talk | contribs)
Sync: updated from Minecraft
SyncBot (talk | contribs)
Sync: updated from Minecraft
 
(3 intermediate revisions by the same user not shown)
Line 33: Line 33:
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|blocks}} and {{code|misc}}. Defaults to {{code|misc}}.
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|blocks}} and {{code|misc}}. Defaults to {{code|misc}}.
** {{nbt|string|group}}: 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.
** {{nbt|string|group}}: 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.
** {{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}}: Optional. The cook time of the recipe in ticks. Defaults to {{code|100}}.
** {{nbt|int|cookingtime}}: Optional. The cook time of the recipe in ticks. Defaults to {{code|100}}.
Line 121: Line 122:
** {{nbt|string|category}}: Optional. Does nothing for campfire recipes, since campfires do not have a recipe book. Available values are: {{code|food}}. Defaults to {{code|food}}.
** {{nbt|string|category}}: Optional. Does nothing for campfire recipes, since campfires do not have a recipe book. Available values are: {{code|food}}. Defaults to {{code|food}}.
** {{nbt|string|group}}: Optional. Does nothing for campfire recipes, since campfires do not have a recipe book.
** {{nbt|string|group}}: Optional. Does nothing for campfire recipes, since campfires do not have a recipe book.
** {{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}}: Optional. The cook time of the recipe in ticks. Defaults to {{code|100}}.
** {{nbt|int|cookingtime}}: Optional. The cook time of the recipe in ticks. Defaults to {{code|100}}.
Line 176: Line 178:
}
}
</syntaxhighlight>
</syntaxhighlight>
=== crafting_imbue ===
Represents a crafing 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 {{code|potion_contents}} from the {{code|source}} item.
Used for the [[Minecraft:Tipped Arrow]] crafting recipe.
{{nbt|compound}}: The root tag.
* {{nbt|string|type}}: {{code|minecraft:crafting_imbue}}
* {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|equipment}}, {{code|building}}, {{code|misc}}, and {{code|redstone}}. Defaults to {{code|misc}}.
* {{nbt|string|group}}: 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.
* {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}
* {{nbt|string|source}}: The ingredient which is in the center of the crafting grid.
* {{nbt|string|material
}}: The ingredient which is in the eight other slots.
* {{nbt|compound|result}}: The output item of the recipe.
** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]].
** {{nbt|int|count}}: Optional. The amount of the item. Defaults to {{code|1}}.
** {{nbt|compound|components}}: Optional. Additional information about the item. See [[Minecraft:Data component format|item components]].


=== crafting_shaped ===
=== crafting_shaped ===
Line 247: Line 267:
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|equipment}}, {{code|building}}, {{code|misc}}, and {{code|redstone}}. Defaults to {{code|misc}}.
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|equipment}}, {{code|building}}, {{code|misc}}, and {{code|redstone}}. Defaults to {{code|misc}}.
** {{nbt|string|group}}: 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.
** {{nbt|string|group}}: 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.
** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}.
** {{nbt|list|ingredients}}: A list of entries for this shapeless crafting recipe. Must have 1 to 9 entries.
** {{nbt|list|ingredients}}: A list of entries for this shapeless crafting recipe. Must have 1 to 9 entries.
*** {{nbt|string}}{{nbt|list}}: An entry made of a single ingredient or a list of acceptable ingredients. 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}}: An entry made of a single ingredient or a list of acceptable ingredients. 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.
Line 286: Line 307:
Represents a crafting recipe in a [[Minecraft:crafting table]], a [[Minecraft:crafter]] and the survival [[Minecraft:inventory]].
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.
When matched, output copies the input item stack, changing the item type or, optionally, the original stack components.
<div class="treeview">
<div class="treeview">
* {{nbt|compound}}: The root tag.
* {{nbt|compound}}: The root tag.
Line 292: Line 313:
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|equipment}}, {{code|building}}, {{code|misc}}, and {{code|redstone}}. Defaults to {{code|misc}}.
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|equipment}}, {{code|building}}, {{code|misc}}, and {{code|redstone}}. Defaults to {{code|misc}}.
** {{nbt|string|group}}: 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.
** {{nbt|string|group}}: 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.
** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}.
** {{nbt|string}}{{nbt|list|input}}: Ingredient for item to copy. 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|input}}: Ingredient for item to copy. 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|material}}: Additional ingredient to use.  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|material}}: Additional ingredient to use.  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|result}}: The output item of the recipe. It keeps item components from the input.
** {{nbt|integer}}{{nbt|compound|material_count}}: Optional. The allowed amount of slots containing the item matched by the {{code|material}} ingredient. Can be an {{nbt|integer}} integer or an {{nbt|compound}} integer range (inclusive) with the fields below. Defaults to {{code|1}}
*** {{nbt|integer|min}}: The minimum amount of slots, must be at least {{code|1}}.
*** {{nbt|integer|max}}: The maximum amount of slots, must be at most {{code|8}}.
** {{nbt|boolean|add_material_count_to_result}}: When {{code|true}}, the amount of slots containing items matched by the {{code|material}} ingredient will be added to the final count of the result. Defaults to {{code|false}}
** {{nbt|compound|result}}: The output item of the recipe, keeping the components of the {{code|input}} ingredient.
*** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]].
*** {{nbt|int|count}}: Optional. The amount of the item. Defaults to {{code|1}}.
*** {{nbt|compound|components}}: Optional. Can override or remove components of the {{code|input}} ingredient. See [[Minecraft:Data component format|item components]].
</div>
</div>
'''Usage example json:'''
'''Usage example json:'''
Line 336: Line 365:
* {{anchor|crafting_special_armordye}}<!--
* {{anchor|crafting_special_armordye}}<!--
-->{{anchor|Crafting special armor dye}}<!--
-->{{anchor|Crafting special armor dye}}<!--
-->{{code|crafting_special_armordye}}
-->{{code|crafting_special_armordye}} *[removed in [[Minecraft:Java Edition 26.1]]]
:The [[Minecraft:Dye#Dyeing armor|armor dyeing]] recipe.  
:The [[Minecraft:Dye#Dyeing armor|armor dyeing]] recipe.  
:Regular recipes cannot handle multiple dyes.
:Regular recipes cannot handle multiple dyes.
Line 345: Line 374:
:The [[Minecraft:Banner#Copying|banner copying]] recipe.
:The [[Minecraft:Banner#Copying|banner copying]] recipe.
:Regular recipes cannot copy [[Minecraft:NBT]] data associated to the [[Minecraft:banner]] item.
:Regular recipes cannot copy [[Minecraft:NBT]] data associated to the [[Minecraft:banner]] item.
:Additional fields:
:* {{nbt|string|banner}}: The item used for both the source and target.  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|compound|result}}: The output item of the recipe. Preserves all components of the source item.
:** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]].
:** {{nbt|int|count}}: Optional. The amount of the item. Defaults to {{code|1}}.
:** {{nbt|compound|components}}: Optional. Additional information about the item. See [[Minecraft:Data component format|item components]].


* {{anchor|crafting_special_bookcloning}}<!--
* {{anchor|crafting_special_bookcloning}}<!--
Line 351: Line 386:
:The [[Minecraft:Written Book#Copying|written book copying]] recipe.
:The [[Minecraft:Written Book#Copying|written book copying]] recipe.
:Regular recipes cannot copy NBT data associated to the [[Minecraft:written book]] item and cannot control the generation of copies.
:Regular recipes cannot copy NBT data associated to the [[Minecraft:written book]] item and cannot control the generation of copies.
:Additional fields:
:* {{nbt|string|source}}: Ingredient to be used as source book.  {{code|written_book_contents}} required to match recipe. Will be kept in crafting grid. 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|material}}: 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 {{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|list|allowed_generations
}}: Integer range describing the allowed value of {{code|generation}} field of {{code|written_book_contents}}. Must be a subrange of {{code|[0, 2]}}. Defaults to {{code|[0, 1]}}
:** {{nbt|integer}}: The minimum generation.
:** {{nbt|integer}}: The maximum generation.
:* {{nbt|compound|result}}: The output item of the recipe. Preserves all components of the source item, but {{code|generation}} field in {{code|written_book_contents}} is incremented by 1.
:** {{nbt|string|id}}: An [[Minecraft:Java Edition data values#Items|item ID]].
:** {{nbt|int|count}}: Optional. The amount of the item. Defaults to {{code|1}}.
:** {{nbt|compound|components}}: Optional. Additional information about the item. See [[Minecraft:Data component format|item components]].


* {{anchor|crafting_special_firework_rocket}}<!--
* {{anchor|crafting_special_firework_rocket}}<!--
Line 370: Line 416:
-->{{anchor|Crafting special mapcloning}}<!--
-->{{anchor|Crafting special mapcloning}}<!--
-->{{anchor|Crafting special map cloning}}<!--
-->{{anchor|Crafting special map cloning}}<!--
-->{{code|crafting_special_mapcloning}}
-->{{code|crafting_special_mapcloning}} *[removed in [[Minecraft:Java Edition 26.1]]]
:The [[Minecraft:Map#Cloning|map copying]] recipe.
:The [[Minecraft:Map#Cloning|map copying]] recipe.
:Regular recipes cannot copy NBT data associated to the map item.
:Regular recipes cannot copy NBT data associated to the map item.
Line 393: Line 439:
* {{anchor|crafting_special_tippedarrow}}<!--
* {{anchor|crafting_special_tippedarrow}}<!--
-->{{anchor|Crafting special tipped arrow}}<!--
-->{{anchor|Crafting special tipped arrow}}<!--
-->{{code|crafting_special_tippedarrow}}
-->{{code|crafting_special_tippedarrow}} *[removed in [[Minecraft:Java Edition 26.1]]]
:The [[Minecraft:Tipped Arrow#Crafting|tipped arrow]] recipe.
:The [[Minecraft:Tipped Arrow#Crafting|tipped arrow]] recipe.
:Regular recipes cannot copy NBT data from a [[Minecraft:lingering potion]] item to a [[Minecraft:tipped arrow]] item.
:Regular recipes cannot copy NBT data from a [[Minecraft:lingering potion]] item to a [[Minecraft:tipped arrow]] item.
Line 412: Line 458:
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|food}}, {{code|blocks}}, and {{code|misc}}. Defaults to {{code|misc}}.
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|food}}, {{code|blocks}}, and {{code|misc}}. Defaults to {{code|misc}}.
** {{nbt|string|group}}: 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.
** {{nbt|string|group}}: 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.
** {{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}}: Optional. The cook time of the recipe in ticks. Defaults to {{code|200}}.
** {{nbt|int|cookingtime}}: Optional. The cook time of the recipe in ticks. Defaults to {{code|200}}.
Line 446: Line 493:
* {{nbt|compound}}: The root tag.
* {{nbt|compound}}: The root tag.
** {{nbt|string|type}}: {{code|minecraft:smithing_transform}}
** {{nbt|string|type}}: {{code|minecraft:smithing_transform}}
** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}.
** {{nbt|string}}{{nbt|list|template}}: Optional. Ingredient specifying an item to act as the template. 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|template}}: Optional. Ingredient specifying an item to act as the template. 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|base}}: Ingredient specifying an item to be upgraded. 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|base}}: Ingredient specifying an item to be upgraded. 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.
Line 484: Line 532:
* {{nbt|compound}}: The root tag.
* {{nbt|compound}}: The root tag.
** {{nbt|string|type}}: {{code|minecraft:smithing_trim}}
** {{nbt|string|type}}: {{code|minecraft:smithing_trim}}
** {{nbt|boolean|show_notification}}: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to {{code|true}}.
** {{nbt|string}}{{nbt|list|template}}: Optional. Ingredient specifying an item to act as the template. 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|template}}: Optional. Ingredient specifying an item to act as the template. 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|base}}: Ingredient specifying an item to be trimmed. 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|base}}: Ingredient specifying an item to be trimmed. 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.
Line 518: Line 567:
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|food}}. Defaults to {{code|food}}.
** {{nbt|string|category}}: Optional. Controls to which [[Minecraft:recipe book]] category the recipe belongs to. Available values are: {{code|food}}. Defaults to {{code|food}}.
** {{nbt|string|group}}: 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.
** {{nbt|string|group}}: 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.
** {{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}}: Optional. The cook time of the recipe in ticks. Defaults to {{code|100}}.
** {{nbt|int|cookingtime}}: Optional. The cook time of the recipe in ticks. Defaults to {{code|100}}.
Line 552: Line 602:
* {{nbt|compound}}: The root tag.
* {{nbt|compound}}: The root tag.
** {{nbt|string|type}}: {{code|minecraft:stonecutting}}
** {{nbt|string|type}}: {{code|minecraft:stonecutting}}
** {{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|compound|result}}: The output item of the recipe.
** {{nbt|compound|result}}: The output item of the recipe.
Line 622: Line 673:
|{{HistoryLine|upcoming java}}
|{{HistoryLine|upcoming java}}
|{{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 <code>minecraft:brewing</code> 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 <code>minecraft:brewing</code> 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.}}
}}
}}



Latest revision as of 11:09, 25 July 2026

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. 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

Template:Main

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.

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

Template:In development

Represents a recipe in a Minecraft:brewing stand.

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.

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.

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 crafing 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.

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.

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>

Template:Crafting

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.

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.

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>

Template:Crafting

crafting_special_*

Template:Anchor

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.

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:
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:
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.

smelting

Represents a recipe in a Minecraft:furnace.

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.

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>

Template:Smithing

smithing_trim

Represents a trimming recipe in a Minecraft:smithing table.

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.

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.

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

Template:HistoryTable

Issues

Template:Issue list

External links

Navigation

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:配方