Recipe (Java Edition)

From Minecraft Wiki
Jump to navigation Jump to search
This article is about the Java Edition recipe system. For the Bedrock Edition recipe system, see Recipe (Bedrock Edition). For the command, see Commands/recipe. For other uses, see Recipe.

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

Obtaining

[edit | edit source]

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 /recipe command. 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 recipe book. Discovered recipes are stored in the player's [NBT Compound / JSON Object] recipeBook NBT.

Usage

[edit | edit source]
Main article: Recipe book

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 doLimitedCrafting 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 crafting table. The recipe book can also be used in the furnace, showing exclusively smelting recipes.

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

JSON format

[edit | edit source]

Vanilla recipes are stored as separate JSON files in the data/minecraft/recipe folder in the .minecraft/versions/<version>/<version>.jar file. This folder can be found by changing the extension of the .jar file to .zip and navigating within it.

Custom recipe files are stored in the data/<namespace>/recipe folder of a data pack. A recipe with ID foo:path/to/file would have its JSON file located at data/foo/recipe/path/to/file.json within a 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 [String] type tag in its root tag. These types are listed below.

blasting

[edit | edit source]

Represents a recipe in a blast furnace.

  • [NBT Compound / JSON Object] The root tag.
    • [String] type: minecraft:blasting
    • [String] category: Optional. Controls to which recipe book category the recipe belongs to. Available values are: blocks and misc. Defaults to misc.
    • [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.
    • [String][NBT List / JSON Array] ingredient: The ingredient for the recipe. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [Int] cookingtime: Optional. The cook time of the recipe in ticks. Defaults to 100.
    • [NBT Compound / JSON Object] result: The output item of the recipe.
      • [String] id: An item ID.
      • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.
    • [Double] experience: Optional. The output experience of the recipe.

Usage example json:

{
  "type": "minecraft:blasting",
  "category": "misc",
  "cookingtime": 100,
  "experience": 0.1,
  "group": "coal",
  "ingredient": "minecraft:coal_ore",
  "result": {
    "id": "minecraft:coal"
  }
}
Name Ingredients Smelting recipe Description
Coal Coal Ore +
Any fuel
Invicon Coal Ore.png: Inventory sprite for Coal Ore in Minecraft as shown in-game linking to Coal Ore with description: Coal Ore
Invicon Coal.png: Inventory sprite for Coal in Minecraft as shown in-game linking to Coal with description: CoalInvicon Charcoal.png: Inventory sprite for Charcoal in Minecraft as shown in-game linking to Charcoal with description: CharcoalInvicon Oak Log.png: Inventory sprite for Oak Log in Minecraft as shown in-game linking to Oak Log with description: LogInvicon Oak Planks.png: Inventory sprite for Oak Planks in Minecraft as shown in-game linking to Oak Planks with description: Overworld PlanksInvicon Lava Bucket.png: Inventory sprite for Lava Bucket in Minecraft as shown in-game linking to Lava Bucket with description: Lava BucketInvicon Block of Coal.png: Inventory sprite for Block of Coal in Minecraft as shown in-game linking to Block of Coal with description: Block of Coal

Invicon Coal.png: Inventory sprite for Coal in Minecraft as shown in-game linking to Coal with description: Coal0.1
Illustrative recipe

campfire_cooking

[edit | edit source]

Represents a recipe in a campfire.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:campfire_cooking
    • [String][NBT List / JSON Array] ingredient: The ingredient for the recipe. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [Int] cookingtime: Optional. The cook time of the recipe in ticks. Defaults to 100.
    • [NBT Compound / JSON Object] result: The output item of the recipe.
      • [String] id: An item ID.
      • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.

Usage example json:

{
  "type": "minecraft:campfire_cooking",
  "category": "food",
  "cookingtime": 600,
  "experience": 0.35,
  "ingredient": "minecraft:potato",
  "result": {
    "id": "minecraft:baked_potato"
  }
}

Even though all vanilla campfire cooking recipes have a cook time of 600 ticks, the default is 100 ticks.

Campfire recipes do not trigger the recipe_unlocked criteria.

crafting_shaped

[edit | edit source]

Represents a shaped crafting recipe in a crafting table, the survival inventory and the 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.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:crafting_shaped
    • [String] category: Optional. Controls to which recipe book category the recipe belongs to. Available values are: equipment, building, misc, and redstone. Defaults to misc.
    • [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.
    • [Boolean] show_notification: Optional. Determines if a notification is shown when unlocking the recipe. Defaults to true.
    • [NBT List / JSON Array] pattern: 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.
    • [NBT Compound / JSON Object] key: All keys used for this shaped crafting recipe.
      • [String][NBT List / JSON Array] (A key): An item that corresponds to this key. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [NBT Compound / JSON Object] result: The output item of the recipe.
      • [String] id: An item ID.
      • [Int] count: Optional. The amount of the item. Falls back to 1 if the field is absent.
      • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.

Usage example json:

{
  "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"
  }
}
Ingredients Crafting recipe Description
Milk Bucket +
Sugar +
Any Egg +
Wheat
Invicon Milk Bucket.png: Inventory sprite for Milk Bucket in Minecraft as shown in-game linking to Milk Bucket with description: Milk BucketInvicon Milk Bucket.png: Inventory sprite for Milk Bucket in Minecraft as shown in-game linking to Milk Bucket with description: Milk BucketInvicon Milk Bucket.png: Inventory sprite for Milk Bucket in Minecraft as shown in-game linking to Milk Bucket with description: Milk BucketInvicon Sugar.png: Inventory sprite for Sugar in Minecraft as shown in-game linking to Sugar with description: SugarInvicon Egg.png: Inventory sprite for Egg in Minecraft as shown in-game linking to Egg with description: EggInvicon Blue Egg.png: Inventory sprite for Blue Egg in Minecraft as shown in-game linking to Blue Egg with description: Blue EggInvicon Brown Egg.png: Inventory sprite for Brown Egg in Minecraft as shown in-game linking to Brown Egg with description: Brown EggInvicon Sugar.png: Inventory sprite for Sugar in Minecraft as shown in-game linking to Sugar with description: SugarInvicon Wheat.png: Inventory sprite for Wheat in Minecraft as shown in-game linking to Wheat with description: WheatInvicon Wheat.png: Inventory sprite for Wheat in Minecraft as shown in-game linking to Wheat with description: WheatInvicon Wheat.png: Inventory sprite for Wheat in Minecraft as shown in-game linking to Wheat with description: Wheat
Invicon Cake.png: Inventory sprite for Cake in Minecraft as shown in-game linking to Cake with description: Cake
Illustrative recipe.

crafting_shapeless

[edit | edit source]

Represents a shapeless crafting recipe in a crafting table, the survival inventory and the crafter.

The ingredients list must have at least one and at most nine entries.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:crafting_shapeless
    • [String] category: Optional. Controls to which recipe book category the recipe belongs to. Available values are: equipment, building, misc, and redstone. Defaults to misc.
    • [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 List / JSON Array] ingredients: A list of entries for this shapeless crafting recipe. Must have 1 to 9 entries.
      • [String][NBT List / JSON Array]: An entry made of a single ingredient or a list of acceptable ingredients. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [NBT Compound / JSON Object] result: The output item of the recipe.
      • [String] id: An item ID.
      • [Int] count: Optional. The amount of the item. Defaults to 1.
      • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.

Usage example json:

{
  "type": "minecraft:crafting_shapeless",
  "category": "equipment",
  "ingredients": [
    "minecraft:iron_ingot",
    "minecraft:flint"
  ],
  "result": {
    "count": 1,
    "id": "minecraft:flint_and_steel"
  }
}
Ingredients Crafting recipe Description
Iron Ingot +
Flint
Invicon Iron Ingot.png: Inventory sprite for Iron Ingot in Minecraft as shown in-game linking to Iron Ingot with description: Iron IngotInvicon Flint.png: Inventory sprite for Flint in Minecraft as shown in-game linking to Flint with description: Flint
Invicon Flint and Steel.png: Inventory sprite for Flint and Steel in Minecraft as shown in-game linking to Flint and Steel with description: Flint and Steel
Illustrative recipe.

If the recipe contains the same 9 ingredients, it turns into minecraft:crafting_shaped recipe.

crafting_transmute

[edit | edit source]

Represents a crafting recipe in a crafting table, a crafter and the survival inventory.

When matched, output copies the input item stack, changing the item type but preserving all stack components.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:crafting_transmute
    • [String] category: Optional. Controls to which recipe book category the recipe belongs to. Available values are: equipment, building, misc, and redstone. Defaults to misc.
    • [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.
    • [String][NBT List / JSON Array] input: Ingredient for item to copy. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [String][NBT List / JSON Array] material: Additional ingredient to use. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [String] result: The output item of the recipe. It keeps item components from the input.

Usage example json:

{
  "type": "minecraft:crafting_transmute",
  "category": "misc",
  "group": "shulker_box_dye",
  "input": "#minecraft:shulker_boxes",
  "material": "minecraft:blue_dye",
  "result": {
    "id": "minecraft:blue_shulker_box"
  }
}
Ingredients Crafting recipe Description
Any Shulker Box +
Blue Dye
Invicon White Shulker Box.png: Inventory sprite for White Shulker Box in Minecraft as shown in-game linking to White Shulker Box with description: White Shulker BoxInvicon Light Gray Shulker Box.png: Inventory sprite for Light Gray Shulker Box in Minecraft as shown in-game linking to Light Gray Shulker Box with description: Light Gray Shulker BoxInvicon Gray Shulker Box.png: Inventory sprite for Gray Shulker Box in Minecraft as shown in-game linking to Gray Shulker Box with description: Gray Shulker BoxInvicon Black Shulker Box.png: Inventory sprite for Black Shulker Box in Minecraft as shown in-game linking to Black Shulker Box with description: Black Shulker BoxInvicon Brown Shulker Box.png: Inventory sprite for Brown Shulker Box in Minecraft as shown in-game linking to Brown Shulker Box with description: Brown Shulker BoxInvicon Red Shulker Box.png: Inventory sprite for Red Shulker Box in Minecraft as shown in-game linking to Red Shulker Box with description: Red Shulker BoxInvicon Orange Shulker Box.png: Inventory sprite for Orange Shulker Box in Minecraft as shown in-game linking to Orange Shulker Box with description: Orange Shulker BoxInvicon Yellow Shulker Box.png: Inventory sprite for Yellow Shulker Box in Minecraft as shown in-game linking to Yellow Shulker Box with description: Yellow Shulker BoxInvicon Lime Shulker Box.png: Inventory sprite for Lime Shulker Box in Minecraft as shown in-game linking to Lime Shulker Box with description: Lime Shulker BoxInvicon Green Shulker Box.png: Inventory sprite for Green Shulker Box in Minecraft as shown in-game linking to Green Shulker Box with description: Green Shulker BoxInvicon Cyan Shulker Box.png: Inventory sprite for Cyan Shulker Box in Minecraft as shown in-game linking to Cyan Shulker Box with description: Cyan Shulker BoxInvicon Light Blue Shulker Box.png: Inventory sprite for Light Blue Shulker Box in Minecraft as shown in-game linking to Light Blue Shulker Box with description: Light Blue Shulker BoxInvicon Blue Shulker Box.png: Inventory sprite for Blue Shulker Box in Minecraft as shown in-game linking to Blue Shulker Box with description: Blue Shulker BoxInvicon Purple Shulker Box.png: Inventory sprite for Purple Shulker Box in Minecraft as shown in-game linking to Purple Shulker Box with description: Purple Shulker BoxInvicon Magenta Shulker Box.png: Inventory sprite for Magenta Shulker Box in Minecraft as shown in-game linking to Magenta Shulker Box with description: Magenta Shulker BoxInvicon Pink Shulker Box.png: Inventory sprite for Pink Shulker Box in Minecraft as shown in-game linking to Pink Shulker Box with description: Pink Shulker BoxInvicon Blue Dye.png: Inventory sprite for Blue Dye in Minecraft as shown in-game linking to Blue Dye with description: Blue Dye
Invicon Blue Shulker Box.png: Inventory sprite for Blue Shulker Box in Minecraft as shown in-game linking to Blue Shulker Box with description: Blue Shulker Box
Illustrative recipe.

crafting_special_*

[edit | edit source]

Represents a crafting recipe in a crafting table, a crafter and the survival inventory that is handled with built-in logic instead of being data-driven.

When the vanilla data pack is disabled, they can be used to re-enable desired built-in crafting recipes.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: A resource location indicating the type of serializer of the recipe.
    • [String] category: Optional. Controls to which recipe book category the recipe belongs to. Available values are: equipment, building, misc, and redstone. Defaults to misc.

Unlike most other recipe types, they do not have a group field and cannot be displayed in recipe books.

  • crafting_special_armordye
The armor dyeing recipe.
Regular recipes cannot handle multiple dyes.
  • crafting_special_bannerduplicate
The banner copying recipe.
Regular recipes cannot copy NBT data associated to the banner item.
  • crafting_special_bookcloning
The written book copying recipe.
Regular recipes cannot copy NBT data associated to the written book item and cannot control the generation of copies.
  • crafting_special_firework_rocket
The firework rocket recipe using firework stars.
Regular recipes cannot handle inputs flexibly or add NBT data from a firework star to the firework rocket.
  • crafting_special_firework_star
  • crafting_special_firework_star_fade
The firework star crafting recipes and their fade additions.
Regular recipes cannot handle inputs flexibly or add NBT data to the firework star.
  • crafting_special_mapcloning
The map copying recipe.
Regular recipes cannot copy NBT data associated to the map item.
  • crafting_special_mapextending
The map zooming recipe.
Regular recipes cannot update NBT data associated to the map item.
  • crafting_special_repairitem
The item repair recipe.
Regular recipes cannot update damage data associated to the tool item.
  • crafting_special_shielddecoration
The shield pattern application recipe.
Regular recipes cannot add NBT data from a banner item to a shield item.
  • crafting_special_tippedarrow
The tipped arrow recipe.
Regular recipes cannot copy NBT data from a lingering potion item to a tipped arrow item.

crafting_decorated_pot

[edit | edit source]

The decorated pot recipe in a crafting table and a crafter.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:crafting_decorated_pot
    • [String] category: Optional. Controls to which recipe book category the recipe belongs to. Available values are: equipment, building, misc, and redstone. Defaults to misc.

smelting

[edit | edit source]

Represents a recipe in a furnace.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:smelting
    • [String] category: Optional. Controls to which recipe book category the recipe belongs to. Available values are: food, blocks, and misc. Defaults to misc.
    • [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.
    • [String][NBT List / JSON Array] ingredient: The ingredient for the recipe. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [Int] cookingtime: Optional. The cook time of the recipe in ticks. Defaults to 200.
    • [NBT Compound / JSON Object] result: The output item of the recipe.
      • [String] id: An item ID.
      • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.
    • [Double] experience: Optional. The output experience of the recipe.

Usage example json:

{
  "type": "minecraft:smelting",
  "category": "blocks",
  "cookingtime": 200,
  "experience": 0.1,
  "ingredient": "minecraft:stone_bricks",
  "result": {
    "id": "minecraft:cracked_stone_bricks"
  }
}
Name Ingredients Smelting recipe Description
Cracked Stone Bricks Stone Bricks +
Any fuel
Invicon Stone Bricks.png: Inventory sprite for Stone Bricks in Minecraft as shown in-game linking to Stone Bricks with description: Stone Bricks
Invicon Coal.png: Inventory sprite for Coal in Minecraft as shown in-game linking to Coal with description: CoalInvicon Charcoal.png: Inventory sprite for Charcoal in Minecraft as shown in-game linking to Charcoal with description: CharcoalInvicon Oak Log.png: Inventory sprite for Oak Log in Minecraft as shown in-game linking to Oak Log with description: LogInvicon Oak Planks.png: Inventory sprite for Oak Planks in Minecraft as shown in-game linking to Oak Planks with description: Overworld PlanksInvicon Lava Bucket.png: Inventory sprite for Lava Bucket in Minecraft as shown in-game linking to Lava Bucket with description: Lava BucketInvicon Block of Coal.png: Inventory sprite for Block of Coal in Minecraft as shown in-game linking to Block of Coal with description: Block of Coal

Invicon Cracked Stone Bricks.png: Inventory sprite for Cracked Stone Bricks in Minecraft as shown in-game linking to Cracked Stone Bricks with description: Cracked Stone Bricks0.1
Illustrative recipe

smithing_transform

[edit | edit source]

Represents a upgrading recipe in a smithing table.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:smithing_transform
    • [String][NBT List / JSON Array] template: Optional. Ingredient specifying an item to act as the template. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [String][NBT List / JSON Array] base: Ingredient specifying an item to be upgraded. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [String][NBT List / JSON Array] addition: Optional. Ingredient specifying an item to be added. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [NBT Compound / JSON Object] result: Item specifying the resulting upgraded item.
      • [String] id: An item ID.
      • [Int] count: Optional. The amount of the item. Defaults to 1.
      • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.

The resulting item copies the components of the base item. Usage example json:

{
  "type": "minecraft:smithing_transform",
  "addition": "#minecraft:netherite_tool_materials",
  "base": "minecraft:diamond_axe",
  "result": {
    "id": "minecraft:netherite_axe"
  },
  "template": "minecraft:netherite_upgrade_smithing_template"
}
Ingredients Smithing recipe Description
Netherite Upgrade +
Diamond Axe +
Netherite Ingot
Invicon Netherite Upgrade Smithing Template.png: Inventory sprite for Netherite Upgrade Smithing Template in Minecraft as shown in-game linking to Netherite Upgrade Smithing Template with description: Netherite Upgrade Smithing Template Applies to:  Diamond Equipment Ingredients:  Netherite IngotInvicon Diamond Axe.png: Inventory sprite for Diamond Axe in Minecraft as shown in-game linking to Diamond Axe with description: Diamond Axe When in Main Hand:  9 Attack Damage  1 Attack SpeedInvicon Netherite Ingot.png: Inventory sprite for Netherite Ingot in Minecraft as shown in-game linking to Netherite Ingot with description: Netherite IngotInvicon Netherite Axe.png: Inventory sprite for Netherite Axe in Minecraft as shown in-game linking to Netherite Axe with description: Netherite Axe When in Main Hand:  10 Attack Damage  1 Attack Speed
Illustrative recipe.

smithing_trim

[edit | edit source]

Represents a trimming recipe in a smithing table.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:smithing_trim
    • [String][NBT List / JSON Array] template: Optional. Ingredient specifying an item to act as the template. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [String][NBT List / JSON Array] base: Ingredient specifying an item to be trimmed. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [String][NBT List / JSON Array] addition: Optional. Ingredient specifying an item to be added. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.

Adds NBT Tags for the trim to the base item. Usage example json:

{
  "type": "minecraft:smithing_trim",
  "addition": "#minecraft:trim_materials",
  "base": "#minecraft:trimmable_armor",
  "pattern": "minecraft:silence",
  "template": "minecraft:silence_armor_trim_smithing_template"
}
Ingredients Smithing recipe Description
Silence Armor Trim +
Any Armor Piece +
Any Material
Invicon Silence Armor Trim Smithing Template.png: Inventory sprite for Silence Armor Trim Smithing Template in Minecraft as shown in-game linking to Silence Armor Trim Smithing Template with description: Silence Armor Trim Smithing Template Applies to:  Armor Ingredients:  Ingot & CrystalsInvicon Netherite Helmet.png: Inventory sprite for Netherite Helmet in Minecraft as shown in-game linking to Netherite Helmet with description: Netherite Helmet When on Head: +3 Armor +3 Armor Toughness +1 Knockback ResistanceInvicon Iron Chestplate.png: Inventory sprite for Iron Chestplate in Minecraft as shown in-game linking to Iron Chestplate with description: Iron Chestplate When on Chest: +6 ArmorInvicon Golden Leggings.png: Inventory sprite for Golden Leggings in Minecraft as shown in-game linking to Golden Leggings with description: Golden Leggings When on Legs: +3 ArmorInvicon Diamond Boots.png: Inventory sprite for Diamond Boots in Minecraft as shown in-game linking to Diamond Boots with description: Diamond Boots When on Feet: +3 Armor +2 Armor ToughnessInvicon Copper Boots.png: Inventory sprite for Copper Boots in Minecraft as shown in-game linking to Copper Boots with description: Copper Boots When on Feet: +1 ArmorInvicon Chainmail Chestplate.png: Inventory sprite for Chainmail Chestplate in Minecraft as shown in-game linking to Chainmail Chestplate with description: Chainmail Chestplate When on Chest: +5 ArmorInvicon Leather Pants.png: Inventory sprite for Leather Pants in Minecraft as shown in-game linking to Leather Pants with description: Leather Pants When on Legs: +2 ArmorInvicon Turtle Shell.png: Inventory sprite for Turtle Shell in Minecraft as shown in-game linking to Turtle Shell with description: Turtle Shell When on Head: +2 ArmorInvicon Netherite Helmet.png: Inventory sprite for Netherite Helmet in Minecraft as shown in-game linking to Netherite Helmet with description: Netherite Helmet When on Head: +3 Armor +3 Armor Toughness +1 Knockback ResistanceInvicon Iron Chestplate.png: Inventory sprite for Iron Chestplate in Minecraft as shown in-game linking to Iron Chestplate with description: Iron Chestplate When on Chest: +6 ArmorInvicon Golden Leggings.png: Inventory sprite for Golden Leggings in Minecraft as shown in-game linking to Golden Leggings with description: Golden Leggings When on Legs: +3 ArmorInvicon Copper Boots.png: Inventory sprite for Copper Boots in Minecraft as shown in-game linking to Copper Boots with description: Copper Boots When on Feet: +1 ArmorInvicon Diamond Boots.png: Inventory sprite for Diamond Boots in Minecraft as shown in-game linking to Diamond Boots with description: Diamond Boots When on Feet: +3 Armor +2 Armor ToughnessInvicon Chainmail Chestplate.png: Inventory sprite for Chainmail Chestplate in Minecraft as shown in-game linking to Chainmail Chestplate with description: Chainmail Chestplate When on Chest: +5 ArmorInvicon Leather Pants.png: Inventory sprite for Leather Pants in Minecraft as shown in-game linking to Leather Pants with description: Leather Pants When on Legs: +2 ArmorInvicon Turtle Shell.png: Inventory sprite for Turtle Shell in Minecraft as shown in-game linking to Turtle Shell with description: Turtle Shell When on Head: +2 ArmorInvicon Netherite Helmet.png: Inventory sprite for Netherite Helmet in Minecraft as shown in-game linking to Netherite Helmet with description: Netherite Helmet When on Head: +3 Armor +3 Armor Toughness +1 Knockback ResistanceInvicon Amethyst Shard.png: Inventory sprite for Amethyst Shard in Minecraft as shown in-game linking to Amethyst Shard with description: Amethyst ShardInvicon Copper Ingot.png: Inventory sprite for Copper Ingot in Minecraft as shown in-game linking to Copper Ingot with description: Copper IngotInvicon Diamond.png: Inventory sprite for Diamond in Minecraft as shown in-game linking to Diamond with description: DiamondInvicon Emerald.png: Inventory sprite for Emerald in Minecraft as shown in-game linking to Emerald with description: EmeraldInvicon Resin Brick.png: Inventory sprite for Resin Brick in Minecraft as shown in-game linking to Resin Brick with description: Resin BrickInvicon Gold Ingot.png: Inventory sprite for Gold Ingot in Minecraft as shown in-game linking to Gold Ingot with description: Gold IngotInvicon Iron Ingot.png: Inventory sprite for Iron Ingot in Minecraft as shown in-game linking to Iron Ingot with description: Iron IngotInvicon Lapis Lazuli.png: Inventory sprite for Lapis Lazuli in Minecraft as shown in-game linking to Lapis Lazuli with description: Lapis LazuliInvicon Nether Quartz.png: Inventory sprite for Nether Quartz in Minecraft as shown in-game linking to Nether Quartz with description: Nether QuartzInvicon Netherite Ingot.png: Inventory sprite for Netherite Ingot in Minecraft as shown in-game linking to Netherite Ingot with description: Netherite IngotInvicon Redstone Dust.png: Inventory sprite for Redstone Dust in Minecraft as shown in-game linking to Redstone Dust with description: Redstone DustInvicon Gold Ingot.png: Inventory sprite for Gold Ingot in Minecraft as shown in-game linking to Gold Ingot with description: Gold IngotInvicon Diamond.png: Inventory sprite for Diamond in Minecraft as shown in-game linking to Diamond with description: DiamondInvicon Emerald.png: Inventory sprite for Emerald in Minecraft as shown in-game linking to Emerald with description: EmeraldInvicon Lapis Lazuli.png: Inventory sprite for Lapis Lazuli in Minecraft as shown in-game linking to Lapis Lazuli with description: Lapis LazuliInvicon Redstone Dust.png: Inventory sprite for Redstone Dust in Minecraft as shown in-game linking to Redstone Dust with description: Redstone DustInvicon Resin Brick.png: Inventory sprite for Resin Brick in Minecraft as shown in-game linking to Resin Brick with description: Resin BrickInvicon Amethyst Trim Netherite Helmet.png: Inventory sprite for Amethyst Trim Netherite Helmet in Minecraft as shown in-game linking to Amethyst Trim Netherite Helmet with description: Netherite Helmet Upgrade:  Armor Trim  Amethyst Material When on Head: +3 Armor +3 Armor Toughness +1 Knockback ResistanceInvicon Copper Trim Iron Chestplate.png: Inventory sprite for Copper Trim Iron Chestplate in Minecraft as shown in-game linking to Copper Trim Iron Chestplate with description: Iron Chestplate Upgrade:  &zArmor Trim  Copper Material When on Chest: +6 ArmorInvicon Diamond Trim Golden Leggings.png: Inventory sprite for Diamond Trim Golden Leggings in Minecraft as shown in-game linking to Diamond Trim Golden Leggings with description: Golden Leggings Upgrade:  Armor Trim  Diamond Material When on Legs: +3 ArmorInvicon Emerald Trim Diamond Boots.png: Inventory sprite for Emerald Trim Diamond Boots in Minecraft as shown in-game linking to Emerald Trim Diamond Boots with description: Diamond Boots Upgrade:  Armor Trim  Emerald Material When on Feet: +3 Armor +2 Armor ToughnessInvicon Resin Trim Copper Boots.png: Inventory sprite for Resin Trim Copper Boots in Minecraft as shown in-game linking to Resin Trim Copper Boots with description: Copper Boots Upgrade:  Armor Trim  Resin Material When on Feet: +1 ArmorInvicon Gold Trim Chainmail Chestplate.png: Inventory sprite for Gold Trim Chainmail Chestplate in Minecraft as shown in-game linking to Gold Trim Chainmail Chestplate with description: Chainmail Chestplate Upgrade:  Armor Trim  Gold Material When on Chest: +5 ArmorInvicon Iron Trim Leather Pants.png: Inventory sprite for Iron Trim Leather Pants in Minecraft as shown in-game linking to Iron Trim Leather Pants with description: Leather Pants Upgrade:  Armor Trim  Iron Material When on Legs: +2 ArmorInvicon Lapis Trim Turtle Shell.png: Inventory sprite for Lapis Trim Turtle Shell in Minecraft as shown in-game linking to Lapis Trim Turtle Shell with description: Turtle Shell Upgrade:  Armor Trim  Lapis Material When on Head: +2 ArmorInvicon Quartz Trim Netherite Helmet.png: Inventory sprite for Quartz Trim Netherite Helmet in Minecraft as shown in-game linking to Quartz Trim Netherite Helmet with description: Netherite Helmet Upgrade:  Armor Trim  Quartz Material When on Head: +3 Armor +3 Armor Toughness +1 Knockback ResistanceInvicon Netherite Trim Iron Chestplate.png: Inventory sprite for Netherite Trim Iron Chestplate in Minecraft as shown in-game linking to Netherite Trim Iron Chestplate with description: Iron Chestplate Upgrade:  Armor Trim  Netherite Material When on Chest: +6 ArmorInvicon Redstone Trim Golden Leggings.png: Inventory sprite for Redstone Trim Golden Leggings in Minecraft as shown in-game linking to Redstone Trim Golden Leggings with description: Golden Leggings Upgrade:  &yArmor Trim  Redstone Material When on Legs: +3 ArmorInvicon Gold Trim Copper Boots.png: Inventory sprite for Gold Trim Copper Boots in Minecraft as shown in-game linking to Gold Trim Copper Boots with description: Copper Boots Upgrade:  Armor Trim  Gold Material When on Feet: +1 ArmorInvicon Diamond Trim Diamond Boots.png: Inventory sprite for Diamond Trim Diamond Boots in Minecraft as shown in-game linking to Diamond Trim Diamond Boots with description: Diamond Boots Upgrade:  Armor Trim  Diamond Material When on Feet: +3 Armor +2 Armor ToughnessInvicon Emerald Trim Chainmail Chestplate.png: Inventory sprite for Emerald Trim Chainmail Chestplate in Minecraft as shown in-game linking to Emerald Trim Chainmail Chestplate with description: Chainmail Chestplate Upgrade:  Armor Trim  Emerald Material When on Chest: +5 ArmorInvicon Lapis Trim Leather Pants.png: Inventory sprite for Lapis Trim Leather Pants in Minecraft as shown in-game linking to Lapis Trim Leather Pants with description: Leather Pants Upgrade:  Armor Trim  Lapis Material When on Legs: +2 ArmorInvicon Redstone Trim Turtle Shell.png: Inventory sprite for Redstone Trim Turtle Shell in Minecraft as shown in-game linking to Redstone Trim Turtle Shell with description: Turtle Shell Upgrade:  &yArmor Trim  Redstone Material When on Head: +2 ArmorInvicon Resin Trim Netherite Helmet.png: Inventory sprite for Resin Trim Netherite Helmet in Minecraft as shown in-game linking to Resin Trim Netherite Helmet with description: Netherite Helmet Upgrade:  Armor Trim  Resin Material When on Head: +3 Armor +3 Armor Toughness +1 Knockback Resistance
Illustrative recipe.

smoking

[edit | edit source]

Represents a recipe in a smoker.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:smoking
    • [String] category: Optional. Controls to which recipe book category the recipe belongs to. Available values are: food. Defaults to food.
    • [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.
    • [String][NBT List / JSON Array] ingredient: The ingredient for the recipe. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [Int] cookingtime: Optional. The cook time of the recipe in ticks. Defaults to 100.
    • [NBT Compound / JSON Object] result: The output item of the recipe.
      • [String] id: An item ID.
      • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.
    • [Double] experience: Optional. The output experience of the recipe.

Usage example json:

{
  "type": "minecraft:smoking",
  "category": "food",
  "cookingtime": 100,
  "experience": 0.35,
  "ingredient": "minecraft:beef",
  "result": {
    "id": "minecraft:cooked_beef"
  }
}
Name Ingredients Smelting recipe Description
Steak Raw Beef +
Any fuel
Invicon Raw Beef.png: Inventory sprite for Raw Beef in Minecraft as shown in-game linking to Raw Beef with description: Raw Beef
Invicon Coal.png: Inventory sprite for Coal in Minecraft as shown in-game linking to Coal with description: CoalInvicon Charcoal.png: Inventory sprite for Charcoal in Minecraft as shown in-game linking to Charcoal with description: CharcoalInvicon Oak Log.png: Inventory sprite for Oak Log in Minecraft as shown in-game linking to Oak Log with description: LogInvicon Oak Planks.png: Inventory sprite for Oak Planks in Minecraft as shown in-game linking to Oak Planks with description: Overworld PlanksInvicon Lava Bucket.png: Inventory sprite for Lava Bucket in Minecraft as shown in-game linking to Lava Bucket with description: Lava BucketInvicon Block of Coal.png: Inventory sprite for Block of Coal in Minecraft as shown in-game linking to Block of Coal with description: Block of Coal

Invicon Steak.png: Inventory sprite for Steak in Minecraft as shown in-game linking to Steak with description: Steak0.35
Illustrative recipe.

stonecutting

[edit | edit source]

Represents a recipe in a stonecutter.

  • [NBT Compound / JSON Object]: The root tag.
    • [String] type: minecraft:stonecutting
    • [String][NBT List / JSON Array] ingredient: The ingredient for the recipe. Can be one of an [String] ID, a [String] tag with #, or an [NBT List / JSON Array] array containing IDs.
    • [NBT Compound / JSON Object] result: The output item of the recipe.
      • [String] id: An item ID.
      • [Int] count: Optional. The amount of the item. Defaults to 1.
      • [NBT Compound / JSON Object] components: Optional. Additional information about the item. See item components.

Usage example json:

{
  "type": "minecraft:stonecutting",
  "ingredient": "minecraft:cobbled_deepslate",
  "result": {
    "count": 1,
    "id": "minecraft:cobbled_deepslate_stairs"
  }
}
Ingredients Cutting recipe Description
Cobbled Deepslate
Invicon Cobbled Deepslate.png: Inventory sprite for Cobbled Deepslate in Minecraft as shown in-game linking to Cobbled Deepslate with description: Cobbled DeepslateInvicon Cobbled Deepslate Stairs.png: Inventory sprite for Cobbled Deepslate Stairs in Minecraft as shown in-gameInvicon Cobbled Deepslate Stairs.png: Inventory sprite for Cobbled Deepslate Stairs in Minecraft as shown in-game linking to Cobbled Deepslate Stairs with description: Cobbled Deepslate Stairs
Illustrative recipe.

History

[edit | edit source]
Java Edition
1.1217w13aIntroduced the recipe system for most crafting recipes.
17w16aAdded 'group' key to the recipe json format.
1.1317w47aRemoved 'data' key from the recipe json format.
17w48aCustom recipes can now be added to data packs.
Added these 13 recipe types.
Converted various special crafting recipes to the recipe system using the special recipe types.
17w49aAdded 'tag' key to the recipe json format.
18w06aSmelting recipes now use the recipe system.
Added smelting to type.
Added a string result.
Added experience.
Added cookingtime.
1.1418w43aAdded a recipe type crafting_special_suspiciousstew.
18w48aRemoved these 2 recipe types.
18w50aAdded recipe types blasting and smoking.
19w02aAdded a recipe type campfire_cooking.
19w04aAdded a recipe type stonecutting.
1.14.3pre3Re-added the recipe type crafting_special_repairitem.
1.16pre1Added the recipe type smithing.
1.18.1?Result count is mandatory in this version.
1.19.322w42aRecipe book categories are now defined for each recipe individually in the default datapack.
1.19.4
Experiment
Update 1.20
23w04aRemoved the recipe serializer smithing and replaced it with smithing_transform, and smithing_trim.
23w07aAdded a new recipe serializer crafting_decorated_pot for the new decorated pot recipe.
Added show_notification field to recipes.
1.20Pre-release 2"item": "minecraft:air" can now be used to denote an ingredient that matches an empty slot.
Pre-release 6"item": "minecraft:air" can no longer be used in data pack recipes.
Ingredients in array form are now also allowed in smithing_trim, and smithing_transform recipes on fields template, base and addition.
1.20.524w10aCan now specify item component.
1.21.224w33aThe crafting_special_suspiciousstew recipe type has been removed.
The format used for recipe ingredients has been simplified and aligned with other fields that accept item lists (like item predicates).
24w38aThe crafting_special_shulkerboxcoloring recipe type has been removed.
Instead it uses the newly added crafting_transmute, which can copy the input item stack, changing the item type but preserving all stack components.
1.21.525w02aThe crafting_transmute result field now supports specifying a count and a components patch to apply to the result.
25w04asmithing_transform recipe type: the base ingredient field is no longer optional.
smithing_trim recipe type: the base, template, and addition ingredient fields are no longer optional, added new pattern field.
Upcoming Java Edition
26.1snap3result field should now be more consistent across all recipe types that contain it.
It will now accept short form.
For recipe types smelting, blasting, smoking and campfire_cooking this field now also accepts count field.
snap5minecraft:crafting_special_mapcloning recipe type has been removed, functionality has been absorbed by minecraft:crafting_transmute.
New show_notification fields with the same functionality as existing one in minecraft:crafting_shaped have been added to several existing recipe types.
Removed unused group field from recipes without a recipe book.
Renamed several stonecutter recipes, along with the relevant advancement.

Issues

[edit | edit source]

Issues relating to "Recipe (Java Edition)" are maintained on the bug tracker. Issues should be reported and viewed there.

[edit | edit source]
[edit | edit source]