Files
minecraft-bedrock-json-schemas/resource/render_controllers/render_controllers.json
2021-02-24 22:48:32 +01:00

404 lines
18 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.render_controllers.json",
"examples": [
{
"format_version": "1.8.0",
"render_controllers": {
"controller.render.example": { "geometry": "Geometry.default", "materials": [{ "*": "Material.default" }], "textures": ["Texture.default"] }
}
}
],
"type": "object",
"title": "Render Controllers",
"description": "TODO description",
"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/C" } },
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.10.0" } } }, "then": { "$ref": "#/definitions/C" } }
],
"definitions": {
"A_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" }
]
},
"B": {
"title": "Molang number",
"description": "The minecraft molang definition that results in a float",
"anyOf": [{ "type": "string", "minLength": 0, "format": "molang" }, { "type": "number" }]
},
"A": {
"additionalProperties": false,
"type": "object",
"title": "Render Controllers 1.8.0",
"description": "Render_Controllers 1.8.0",
"required": ["render_controllers", "format_version"],
"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."
},
"render_controllers": {
"type": "object",
"propertyNames": { "pattern": "^controller\\.render\\.[a-z\\.]+" },
"additionalProperties": {
"additionalProperties": false,
"type": "object",
"title": "Render controller",
"description": "A single render_controller definition",
"required": ["geometry", "materials"],
"properties": {
"arrays": {
"additionalProperties": false,
"description": "TODO description: arrays",
"title": "Arrays",
"type": "object",
"properties": {
"geometries": {
"type": "object",
"minProperties": 1,
"propertyNames": { "pattern": "^[Aa]rray\\..+" },
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[Gg]eometry\\..+",
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: geometries",
"title": "Geometries"
},
"materials": {
"type": "object",
"minProperties": 1,
"propertyNames": { "pattern": "^[Aa]rray\\..+" },
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[Mm]aterial\\..+",
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: materials",
"title": "Materials"
},
"textures": {
"type": "object",
"minProperties": 1,
"propertyNames": { "pattern": "^[Aa]rray\\..+" },
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[Tt]exture\\..+",
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: textures",
"title": "Textures"
}
}
},
"color": {
"additionalProperties": false,
"type": "object",
"properties": {
"r": { "$ref": "#/definitions/A_color" },
"g": { "$ref": "#/definitions/A_color" },
"b": { "$ref": "#/definitions/A_color" },
"a": { "$ref": "#/definitions/A_color" }
},
"description": "TODO description: color",
"title": "Color"
},
"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": {
"additionalProperties": false,
"type": "object",
"properties": {
"r": { "$ref": "#/definitions/A_color" },
"g": { "$ref": "#/definitions/A_color" },
"b": { "$ref": "#/definitions/A_color" },
"a": { "$ref": "#/definitions/A_color" }
},
"description": "TODO description: is hurt color",
"title": "Is Hurt Color"
},
"light_color_multiplier": {
"$ref": "#/definitions/B",
"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/A_color" },
"g": { "$ref": "#/definitions/A_color" },
"b": { "$ref": "#/definitions/A_color" },
"a": { "$ref": "#/definitions/A_color" }
},
"description": "TODO description: on fire color",
"title": "On Fire Color"
},
"overlay_color": {
"additionalProperties": false,
"type": "object",
"properties": {
"r": { "$ref": "#/definitions/A_color" },
"g": { "$ref": "#/definitions/A_color" },
"b": { "$ref": "#/definitions/A_color" },
"a": { "$ref": "#/definitions/A_color" }
},
"description": "TODO description: overlay color",
"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": "#/definitions/B", "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": "#/definitions/B", "description": "TODO description: scale", "title": "Scale" }
}
},
"description": "TODO description: uv anim",
"title": "Uv Anim"
}
}
},
"description": "TODO description: render controllers",
"title": "Render Controllers"
}
}
},
"C_color": {
"anyOf": [
{ "type": "number", "description": "A color definition as number, between 0 and 1", "minimum": 0, "maximum": 1, "title": "Color number" },
{ "type": "string", "description": "A color definition in molang", "title": "Molang color" }
]
},
"C": {
"additionalProperties": false,
"type": "object",
"title": "Render controllers 1.10.0",
"description": "Render_controllers 1.10.0",
"properties": {
"format_version": {
"title": "The 1.10.0 format version",
"type": "string",
"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\\.]+" },
"additionalProperties": {
"additionalProperties": false,
"type": "object",
"description": "A single render_controller",
"required": ["geometry", "materials"],
"properties": {
"arrays": {
"additionalProperties": false,
"type": "object",
"properties": {
"geometries": {
"type": "object",
"minProperties": 1,
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[Gg]eometry\\..+",
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: geometries",
"title": "Geometries"
},
"materials": {
"type": "object",
"minProperties": 1,
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[Mm]aterial\\..+",
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: additionalProperties",
"title": "TODO"
},
"description": "TODO description: materials",
"title": "Materials"
},
"textures": {
"type": "object",
"minProperties": 1,
"additionalProperties": {
"type": "array",
"description": "Textures",
"title": "Texture",
"items": {
"type": "string",
"pattern": "^[Tt]exture\\..+",
"default": "texture.",
"description": "An texture item",
"title": "Texture"
}
},
"description": "TODO description: textures",
"title": "Textures"
}
},
"description": "TODO description: arrays",
"title": "Arrays"
},
"color": {
"additionalProperties": false,
"type": "object",
"properties": {
"r": { "$ref": "#/definitions/C_color", "description": "TODO description: r", "title": "R" },
"g": { "$ref": "#/definitions/C_color", "description": "TODO description: g", "title": "G" },
"b": { "$ref": "#/definitions/C_color", "description": "TODO description: b", "title": "B" },
"a": { "$ref": "#/definitions/C_color", "description": "TODO description: a", "title": "A" }
},
"description": "TODO description: color",
"title": "Color"
},
"filter_lighting": { "type": "boolean", "description": "TODO description: filter lighting", "title": "Filter Lighting" },
"geometry": { "type": "string", "description": "TODO description: geometry", "title": "Geometry" },
"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"
},
"overlay_color": {
"additionalProperties": false,
"type": "object",
"properties": {
"r": { "$ref": "#/definitions/C_color", "description": "TODO description: r", "title": "R" },
"g": { "$ref": "#/definitions/C_color", "description": "TODO description: g", "title": "G" },
"b": { "$ref": "#/definitions/C_color", "description": "TODO description: b", "title": "B" },
"a": { "$ref": "#/definitions/C_color", "description": "TODO description: a", "title": "A" }
},
"description": "TODO description: overlay color",
"title": "Overlay Color"
},
"textures": {
"type": "array",
"minItems": 1,
"items": { "type": "string", "description": "TODO description: textures", "title": "Textures" },
"description": "TODO description: textures",
"title": "Textures"
},
"part_visibility": {
"type": "array",
"minItems": 1,
"items": {
"description": "The object that describe different bone visibility",
"title": "Part visibility",
"type": "object",
"additionalProperties": { "oneOf": [{ "type": "string" }, { "type": "boolean" }, { "type": "number" }] }
},
"description": "TODO description: part visibility",
"title": "Part Visibility"
},
"rebuild_animation_matrices": {
"type": "boolean",
"description": "TODO description: rebuild animation matrices",
"title": "Rebuild Animation Matrices"
}
},
"title": "TODO"
},
"description": "TODO description: render controllers",
"title": "Render Controllers"
}
}
}
}
}