{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.render_controllers.json", "additionalProperties": false, "type": "object", "title": "Render Controllers 1.8.0", "description": "Render_Controllers 1.8.0", "required": ["render_controllers", "format_version"], "definitions": { "color": { "anyOf": [ { "type": "number", "description": "A color definition as number, between 0 and 1", "title": "Color Number", "minimum": 0, "maximum": 1 }, { "type": "string", "description": "A color definition in molang, must result in a float between 0 and 1", "title": "Molang Color" } ] } }, "properties": { "format_version": { "title": "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." }, "render_controllers": { "type": "object", "propertyNames": { "pattern": "^controller\\.render\\.[a-z\\.]+", "examples": ["controller.render.example"] }, "additionalProperties": { "additionalProperties": false, "type": "object", "title": "Render Controller", "description": "A single render_controller definition", "required": ["geometry", "materials"], "properties": { "arrays": { "type": "object", "title": "Arrays", "additionalProperties": false, "description": "A collection of definition of arrays", "properties": { "geometries": { "type": "object", "minProperties": 1, "description": "A collection of Geometry array", "title": "Geometries", "additionalProperties": { "type": "array", "items": { "type": "string", "pattern": "^[Gg]eometry\\..+", "description": "A geometry item, must be defined in the entity", "title": "Geometry reference" }, "description": "A geometry array definition", "title": "Geometry array" } }, "materials": { "type": "object", "minProperties": 1, "description": "A collection of materials array", "title": "Materials", "additionalProperties": { "type": "array", "items": { "type": "string", "pattern": "^[Mm]aterial\\..+", "description": "A material item, must be defined in the entity", "title": "Material reference" }, "description": "A material array definition", "title": "Material array" } }, "textures": { "type": "object", "minProperties": 1, "description": "A collection of texture array", "title": "Textures", "additionalProperties": { "type": "array", "description": "Textures", "title": "Texture", "items": { "type": "string", "pattern": "^[Tt]exture\\..+", "default": "texture.", "description": "An texture item", "title": "Texture" } } } } }, "color": { "description": "TODO description: color", "title": "Color", "additionalProperties": false, "type": "object", "properties": { "r": { "$ref": "#/definitions/color", "description": "The value of red, must result in a float between 0 and 1", "title": "R" }, "g": { "$ref": "#/definitions/color", "description": "The value of green, must result in a float between 0 and 1", "title": "G" }, "b": { "$ref": "#/definitions/color", "description": "The value of blue, must result in a float between 0 and 1", "title": "B" }, "a": { "$ref": "#/definitions/color", "description": "The value of alpha, must result in a float between 0 and 1", "title": "A" } } }, "filter_lighting": { "type": "boolean", "description": "TODO description: filter lighting", "title": "Filter Lighting" }, "geometry": { "type": "string", "description": "TODO description: geometry", "title": "Geometry" }, "ignore_lighting": { "type": "boolean", "description": "TODO description: ignore lighting", "title": "Ignore Lighting" }, "is_hurt_color": { "type": "object", "title": "Is hurt color", "additionalProperties": false, "description": "The color that is overlay when hurt", "properties": { "r": { "$ref": "#/definitions/color", "description": "The value of red, must result in a float between 0 and 1", "title": "R" }, "g": { "$ref": "#/definitions/color", "description": "The value of green, must result in a float between 0 and 1", "title": "G" }, "b": { "$ref": "#/definitions/color", "description": "The value of blue, must result in a float between 0 and 1", "title": "B" }, "a": { "$ref": "#/definitions/color", "description": "The value of alpha, must result in a float between 0 and 1", "title": "A" } } }, "light_color_multiplier": { "$ref": "../../../molang/1.8.0/number.json", "description": "TODO description: light color multiplier", "title": "Light Color Multiplier" }, "materials": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" }, "description": "TODO description: materials", "title": "Materials" }, "description": "TODO description: materials", "title": "Materials" }, "on_fire_color": { "additionalProperties": false, "type": "object", "properties": { "r": { "$ref": "#/definitions/color", "description": "The value of red, must result in a float between 0 and 1", "title": "R" }, "g": { "$ref": "#/definitions/color", "description": "The value of green, must result in a float between 0 and 1", "title": "G" }, "b": { "$ref": "#/definitions/color", "description": "The value of blue, must result in a float between 0 and 1", "title": "B" }, "a": { "$ref": "#/definitions/color", "description": "The value of alpha, must result in a float between 0 and 1", "title": "A" } }, "description": "TODO description: on fire color", "title": "On Fire Color" }, "overlay_color": { "additionalProperties": false, "type": "object", "properties": { "r": { "$ref": "#/definitions/color", "description": "The value of red, must result in a float between 0 and 1", "title": "R" }, "g": { "$ref": "#/definitions/color", "description": "The value of green, must result in a float between 0 and 1", "title": "G" }, "b": { "$ref": "#/definitions/color", "description": "The value of blue, must result in a float between 0 and 1", "title": "B" }, "a": { "$ref": "#/definitions/color", "description": "The value of alpha, must result in a float between 0 and 1", "title": "A" } }, "description": "Overlays this color ontop of any rendering parts", "title": "Overlay Color" }, "part_visibility": { "type": "array", "minItems": 1, "items": { "description": "A collection of object that describe which bones are hidden or not", "title": "Part Visibilty", "type": "object", "minProperties": 1, "additionalProperties": { "oneOf": [{ "type": "string" }, { "type": "boolean" }, { "type": "number" }], "description": "Describes which bones are visible or not, can be a string, boolean or number", "title": "Part Visibilty" } }, "description": "TODO description: part visibility", "title": "Part Visibility" }, "rebuild_animation_matrices": { "type": "boolean", "description": "TODO description: rebuild animation matrices", "title": "Rebuild Animation Matrices" }, "textures": { "type": "array", "minItems": 1, "items": { "type": "string", "description": "TODO description: textures", "title": "Textures" }, "description": "TODO description: textures", "title": "Textures" }, "uv_anim": { "additionalProperties": false, "type": "object", "required": ["offset", "scale"], "properties": { "offset": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "$ref": "../../../molang/1.8.0/number.json", "description": "TODO description: offset", "title": "Offset" }, "description": "TODO description: offset", "title": "Offset" }, "scale": { "type": "array", "description": "TODO description: scale", "title": "Scale", "minItems": 2, "maxItems": 2, "items": { "$ref": "../../../molang/1.8.0/number.json", "description": "TODO description: scale", "title": "Scale" } } }, "description": "TODO description: uv anim", "title": "Uv Anim" } } }, "description": "TODO description: render controllers", "title": "Render Controllers" } } }