{ "$id": "blockception.minecraft.behavior.recipes", "examples": [ { "format_version": "1.12.0", "minecraft:recipe_shaped": { "description": { "identifier": "minecraft:item" }, "tags": ["crafting_table"], "pattern": [], "key": {}, "result": { "item": "minecraft:boat", "data": 4 } } } ], "allOf": [ { "if": { "properties": { "format_version": { "type": "string", "const": "1.12" } } }, "then": { "$ref": "#/definitions/A" } }, { "if": { "properties": { "format_version": { "type": "string", "const": "1.12.0" } } }, "then": { "$ref": "#/definitions/A" } }, { "properties": { "format_version": { "$ref": "#/definitions/J" } } } ], "definitions": { "C": { "description": "Recipe definition 1.12.0", "title": "Definition", "type": "object", "properties": { "identifier": { "type": "string", "pattern": "[a-z0-9_:\\-]+", "title": "Recipe Identifier", "description": "TODO description" } }, "additionalProperties": false }, "D": { "description": "Recipe tags 1.12.0", "title": "Tags", "type": "array", "items": { "type": "string", "title": "Tag" } }, "B": { "description": "Represents a furnace recipe for a furnace.'Input` items will burn and transform into items specified in `output`..", "title": "Furnace Recipe 1.12.0", "additionalProperties": false, "required": ["description"], "type": "object", "properties": { "description": { "$ref": "#/definitions/C" }, "tags": { "$ref": "#/definitions/D" }, "input": { "type": "string", "description": "Items used as input for the furnace recipe.", "title": "Input" }, "output": { "type": "string", "description": "Items used as output for the furnace recipe.", "title": "Output" } } }, "E": { "description": "Represents a Potion Brewing Container Recipe..", "title": "Brewing Recipe 1.12.0", "additionalProperties": false, "required": ["description"], "type": "object", "properties": { "description": { "$ref": "#/definitions/C" }, "tags": { "$ref": "#/definitions/D" }, "input": { "type": "string", "description": "Input potion used on the brewing stand.", "title": "Input" }, "output": { "type": "string", "description": "Output potion from mixing the input potion with the reagent on the brewing stand.", "title": "Output" }, "reagent": { "type": "string", "description": "Item used to mix with the input potion.", "title": "Reagent" } } }, "F": { "description": "Represents a Potion Brewing Container Recipe..", "title": "Brewing Recipe 1.12.0", "additionalProperties": false, "required": ["description"], "type": "object", "properties": { "description": { "$ref": "#/definitions/C" }, "tags": { "$ref": "#/definitions/D" }, "input": { "type": "string", "description": "Input potion used on the brewing stand.", "title": "Input" }, "output": { "type": "string", "description": "Output potion from mixing the input potion with the reagent on the brewing stand.", "title": "Output" }, "reagent": { "type": "string", "description": "Item used to mix with the input potion.", "title": "Reagent" } } }, "H": { "description": "Recipe item 1.12.0", "title": "Item", "oneOf": [ { "type": "string", "title": "Item Identifier" }, { "additionalProperties": false, "type": "object", "required": ["item"], "properties": { "item": { "type": "string", "title": "Item Identifier" }, "data": { "type": "integer", "minimum": 0, "title": "Item Data Value" }, "count": { "type": "integer", "minimum": 1, "default": 1, "title": "Count" } } } ] }, "G": { "description": "Represents a shaped crafting recipe for a crafting table. The key used in the pattern may be any single character except the `space` character, which is reserved for empty slots in a recipe..", "title": "Shaped Recipe 1.12.0", "additionalProperties": false, "required": ["description"], "type": "object", "properties": { "description": { "$ref": "#/definitions/C" }, "tags": { "$ref": "#/definitions/D" }, "key": { "type": "object", "description": "Patten key character mapped to item names.", "title": "Key", "minProperties": 1, "additionalProperties": { "$ref": "#/definitions/H" } }, "group": { "type": "string", "title": "UNDOCUMENTATED", "description": "UNDOCUMENTATED" }, "pattern": { "type": "array", "description": "Characters that represent a pattern to be defined by keys.", "title": "Pattern", "maxItems": 3, "minItems": 1, "items": { "type": "string", "title": "Pattern" } }, "priority": { "type": "integer", "description": "Item used as output for the furnace recipe.", "title": "Priority" }, "result": { "description": "When input items match the pattern then these items are the result.", "title": "Result", "oneOf": [{ "$ref": "#/definitions/H" }, { "type": "array", "items": { "$ref": "#/definitions/H" } }] } } }, "I": { "description": "Represents a shapeless crafting recipe..", "title": "Shapeless Recipe 1.12.0", "additionalProperties": false, "required": ["description"], "type": "object", "properties": { "description": { "$ref": "#/definitions/C" }, "tags": { "$ref": "#/definitions/D" }, "ingredients": { "description": "Items used as input (without a shape) for the recipe.", "title": "Ingredients", "oneOf": [{ "$ref": "#/definitions/H" }, { "type": "array", "items": { "$ref": "#/definitions/H" } }] }, "group": { "type": "string", "title": "UNDOCUMENTATED", "description": "UNDOCUMENTATED" }, "priority": { "type": "integer", "description": "Item used as output for the furnace recipe.", "title": "Priority" }, "result": { "description": "When input items match the pattern then these items are the result.", "title": "Result", "oneOf": [{ "$ref": "#/definitions/H" }, { "type": "array", "items": { "$ref": "#/definitions/H" } }] } } }, "A": { "description": "Minecraft recipe 1.12.0", "required": ["format_version"], "additionalProperties": false, "minProperties": 2, "title": "Recipe", "properties": { "format_version": { "type": "string", "description": "A version that tells minecraft what type of data format can be expected when reading this file.", "title": "Format Version" }, "minecraft:recipe_furnace": { "$ref": "#/definitions/B" }, "minecraft:recipe_brewing_container": { "$ref": "#/definitions/E" }, "minecraft:recipe_brewing_mix": { "$ref": "#/definitions/F" }, "minecraft:recipe_shaped": { "$ref": "#/definitions/G" }, "minecraft:recipe_shapeless": { "$ref": "#/definitions/I" } } }, "J": { "title": "Format Version", "description": "A version that tells minecraft what type of data format can be expected when reading this file.", "pattern": "^(1)\\.([0-9]+)\\.([0-9]+)$", "type": "string" } } }