Files
minecraft-bedrock-json-schemas/resource/attachables/attachables.json
2021-03-11 16:07:04 +01:00

348 lines
18 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.resource.attachables",
"examples": [
{
"format_version": "1.10.0",
"minecraft:attachable": {
"description": {
"identifier": "minecraft:item",
"materials": { "default": "entity_alphatest", "enchanted": "entity_alphatest_glint" },
"textures": { "default": "textures/items/item" },
"geometry": { "default": "geometry.item" },
"scripts": {},
"render_controllers": ["controller.render.item"]
}
}
}
],
"allOf": [
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.8.0" } } }, "then": { "$ref": "#/definitions/A" } },
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.10" } } }, "then": { "$ref": "#/definitions/D" } },
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.10.0" } } }, "then": { "$ref": "#/definitions/D" } }
],
"definitions": {
"B": { "type": "string", "title": "The minecraft item identifier 1.8.0", "description": "The minecraft item identifier", "pattern": "^[0-9a-zA-Z:_\\-\\.]+$" },
"C": {
"title": "Molang number",
"description": "The minecraft molang definition that results in a float",
"anyOf": [{ "type": "string", "minLength": 0, "format": "molang" }, { "type": "number" }]
},
"A": {
"type": "object",
"title": "The minecraft resourcepack actor animation 1.8.0",
"description": "TODO description",
"required": ["format_version", "minecraft:attachable"],
"properties": {
"format_version": {
"title": "The 1.8.0 format version",
"type": "string",
"pattern": "^1.8.0$",
"description": "A version that tells minecraft what type of data format can be expected when reading this file."
},
"minecraft:attachable": {
"type": "object",
"title": "The attachables",
"description": "The attachables definition for 1.8.0",
"required": ["description"],
"properties": {
"description": {
"additionalProperties": false,
"title": "Description definition",
"description": "TODO description: description",
"type": "object",
"required": ["identifier", "geometry"],
"properties": {
"animations": {
"description": "The connecting of animations in animations controllers with the actuall animations, names should corosponds",
"title": "The animations schema",
"type": "object",
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" }
},
"animation_controllers": {
"type": "array",
"minItems": 1,
"description": "TODO description: animation controllers",
"title": "Animation Controllers",
"items": {
"type": "object",
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: animation controllers",
"title": "Animation Controllers"
}
},
"enable_attachables": { "type": "boolean", "description": "TODO description: enable attachables", "title": "Enable Attachables" },
"geometry": {
"title": "Geometry definition",
"type": "object",
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: geometry"
},
"identifier": { "type": "string", "description": "TODO description: identifier", "title": "Identifier", "$ref": "#/definitions/B" },
"item": { "type": "object", "title": "Item", "description": "TODO", "additionalProperties": { "type": "string", "title": "TODO", "description": "TODO" } },
"materials": {
"type": "object",
"description": "TODO description: materials",
"title": "Materials",
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" }
},
"min_engine_version": {
"type": "string",
"pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
"description": "TODO description: min engine version",
"title": "Min Engine Version"
},
"particle_effects": {
"type": "object",
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: particle effects",
"title": "Particle Effects"
},
"particle_emitters": {
"type": "object",
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: particle emitters",
"title": "Particle Emitters"
},
"render_controllers": {
"type": "array",
"description": "TODO description: render controllers",
"title": "Render Controllers",
"minItems": 1,
"items": { "type": "string", "description": "TODO description: render controllers", "title": "Render Controllers" }
},
"sound_effects": {
"type": "array",
"description": "TODO description: sound effects",
"title": "Sound Effects",
"minItems": 1,
"items": { "type": "string", "description": "TODO description: sound effects", "title": "Sound Effects" }
},
"spawn_egg": {
"type": "object",
"description": "TODO description: spawn egg",
"title": "Spawn Egg",
"dependencies": { "texture": ["texture_index"], "texture_index": ["texture"], "base_colour": ["overlay_color"], "overlay_color": ["base_colour"] },
"properties": {
"base_colour": { "type": "string", "description": "TODO description: base colour", "title": "Base Colour" },
"overlay_color": { "type": "string", "description": "TODO description: overlay color", "title": "Overlay Color" },
"texture": { "type": "string", "description": "TODO description: texture", "title": "Texture" },
"texture_index": { "type": "integer", "description": "TODO description: texture index", "title": "Texture Index" }
}
},
"scripts": {
"type": "object",
"properties": {
"pre_animation": {
"type": "array",
"items": { "pattern": ";$", "$ref": "#/definitions/C", "description": "TODO description: pre aninamtion", "title": "Pre Animation" },
"description": "TODO description: pre aninamtion",
"title": "Pre Animation"
},
"scale": { "type": "string", "description": "TODO description: scale", "title": "Scale" },
"animate": {
"type": "array",
"title": "Animate schema",
"items": {
"oneOf": [
{ "type": "string", "description": "TODO description: oneOf[0]", "title": "TODO title" },
{
"type": "object",
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: oneOf[1]",
"title": "TODO title"
}
],
"description": "TODO description: animate",
"title": "Animate"
},
"description": "TODO description: animate"
},
"parent_setup": { "$ref": "#/definitions/C" }
},
"description": "TODO description: scripts",
"title": "Scripts"
},
"textures": {
"type": "object",
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: textures",
"title": "Textures"
}
}
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"D": {
"type": "object",
"title": "The minecraft resourcepack actor animation 1.10.0",
"description": "TODO description",
"required": ["format_version", "minecraft:attachable"],
"properties": {
"format_version": {
"title": "The 1.10.0 format version",
"type": "string",
"pattern": "^(1.10.0|1.10)$",
"description": "A version that tells minecraft what type of data format can be expected when reading this file."
},
"minecraft:attachable": {
"type": "object",
"title": "The attachables",
"description": "The attachables definition",
"required": ["description"],
"properties": {
"description": {
"title": "Description definition",
"type": "object",
"required": ["identifier"],
"additionalProperties": false,
"properties": {
"animations": {
"type": "object",
"additionalProperties": { "type": "string", "description": "A single animation reference", "title": "Animation" },
"description": "The collection of animations references",
"title": "Animations"
},
"animation_controllers": {
"type": "array",
"additionalProperties": {
"type": "object",
"additionalProperties": { "type": "string", "description": "A single Animation controller reference", "title": "Animation controller reference" },
"description": "A collection of animation controller references",
"title": "TODO"
},
"description": "The specification of animation controllers",
"title": "Animation Controllers"
},
"enable_attachables": { "type": "boolean", "description": "TODO description: enable attachables", "title": "Enable Attachables" },
"geometry": {
"title": "Geometry definition",
"type": "object",
"propertyNames": { "pattern": "[a-zA-Z0-9_\\.\\-]+" },
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "A single geometry reference", "title": "Geometry" },
"description": "The geometry specification"
},
"identifier": { "type": "string", "description": "TODO description: identifier", "title": "Identifier", "$ref": "#/definitions/B" },
"item": { "type": "object", "title": "Item", "description": "TODO", "additionalProperties": { "type": "string", "title": "TODO", "description": "TODO" } },
"materials": {
"type": "object",
"additionalProperties": { "type": "string", "description": "A single material reference", "title": "Material" },
"description": "A collection of material references",
"title": "Materials"
},
"min_engine_version": {
"type": "string",
"pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
"description": "The minimum engine needed to use this",
"title": "Min Engine Version"
},
"particle_effects": {
"type": "object",
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "A single particle effect reference", "title": "Particle effect" },
"description": "A collection of particle effect references",
"title": "Particle Effects"
},
"particle_emitters": {
"type": "object",
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: particle emitters",
"title": "Particle Emitters"
},
"render_controllers": {
"type": "array",
"description": "TODO description: render controllers",
"title": "Render Controllers",
"minItems": 1,
"items": { "type": "string", "description": "TODO description: render controllers", "title": "Render Controllers" }
},
"scripts": {
"additionalProperties": false,
"type": "object",
"description": "TODO description: scripts",
"title": "Scripts",
"properties": {
"animate": {
"type": "array",
"title": "Animate schema",
"minItems": 1,
"items": {
"oneOf": [
{ "type": "string", "description": "TODO description: oneOf[0]", "title": "TODO title" },
{
"type": "object",
"minProperties": 1,
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: oneOf[1]",
"title": "TODO title"
}
],
"description": "TODO description: animate",
"title": "Animate"
},
"description": "TODO description: animate"
},
"initialize": {
"type": "array",
"description": "TODO description: initialize",
"title": "Initialize",
"items": { "pattern": ";$", "$ref": "#/definitions/C", "description": "TODO description: initialize", "title": "Initialize" }
},
"pre_animation": {
"type": "array",
"description": "TODO description: pre aninamtion",
"title": "Pre Animation",
"items": { "pattern": ";$", "$ref": "#/definitions/C", "description": "TODO description: pre aninamtion", "title": "Pre Animation" }
},
"parent_setup": { "type": "string", "description": "TODO description: parent setup", "title": "Parent Setup", "$ref": "#/definitions/C" },
"scale": { "type": "string", "description": "TODO description: scale", "title": "Scale", "$ref": "#/definitions/C" }
}
},
"sound_effects": {
"type": "array",
"description": "TODO description: sound effects",
"title": "Sound Effects",
"minItems": 1,
"items": { "type": "string", "description": "TODO description: sound effects", "title": "Sound Effects" }
},
"spawn_egg": {
"type": "object",
"description": "TODO description: spawn egg",
"title": "Spawn Egg",
"dependencies": { "texture": ["texture_index"], "texture_index": ["texture"], "base_colour": ["overlay_color"], "overlay_color": ["base_colour"] },
"properties": {
"base_colour": { "type": "string", "description": "TODO description: base colour", "title": "Base Colour" },
"overlay_color": { "type": "string", "description": "TODO description: overlay color", "title": "Overlay Color" },
"texture": { "type": "string", "description": "TODO description: texture", "title": "Texture" },
"texture_index": { "type": "integer", "description": "TODO description: texture index", "title": "Texture Index" }
}
},
"textures": {
"type": "object",
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
"description": "TODO description: textures",
"title": "Textures"
}
},
"description": "TODO description: description"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
}