{ "$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 } } }