180 lines
7.5 KiB
JSON
Vendored
180 lines
7.5 KiB
JSON
Vendored
{
|
|
"$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"
|
|
}
|
|
}
|
|
}
|