2021-06-08 17:06:03 +02:00
{
"$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"
}
}
}