From af9733f1012ca9e5be8da321cb0ce7c02bd29520 Mon Sep 17 00:00:00 2001 From: DaanV2 Date: Tue, 16 Nov 2021 13:37:08 +0100 Subject: [PATCH] Flatenned models --- .../models/entity/1.10.0/model_entity.json | 114 ----- .../models/entity/1.12.0/model_entity.json | 392 --------------- .../models/entity/1.14.0/model_entity.json | 446 ------------------ .../models/entity/1.16.0/model_entity.json | 7 +- .../resource/models/entity/model_entity.json | 11 +- 5 files changed, 4 insertions(+), 966 deletions(-) delete mode 100644 source/resource/models/entity/1.10.0/model_entity.json delete mode 100644 source/resource/models/entity/1.12.0/model_entity.json delete mode 100644 source/resource/models/entity/1.14.0/model_entity.json diff --git a/source/resource/models/entity/1.10.0/model_entity.json b/source/resource/models/entity/1.10.0/model_entity.json deleted file mode 100644 index 336b3401..00000000 --- a/source/resource/models/entity/1.10.0/model_entity.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "$id": "blockception.minecraft.resource.model.1.10.0", - "type": "object", - "title": "Model Schema For 1.10.0", - "description": "UNDOCUMENTED", - "$comment": "UNDOCUMENTED", - "required": ["format_version"], - "properties": { - "debug": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Debug" }, - "format_version": { - "title": "1.10.0 Format Version", - "type": "string", - "pattern": "^1.10.0$", - "description": "A version that tells minecraft what type of data format can be expected when reading this file." - } - }, - "propertyNames": { "pattern": "(^geometry\\.[a-zA-Z0-9_.'\\-:]+|format_version)" }, - "additionalProperties": { - "additionalProperties": false, - "type": "object", - "description": "Geometry specification", - "title": "Geometry", - "properties": { - "bones": { - "type": "array", - "description": "The bones definitions", - "title": "Bones", - "items": { - "additionalProperties": false, - "type": "object", - "description": "The bone definition", - "title": "Bone", - "required": ["name"], - "properties": { - "bind_pose_rotation": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "cubes": { - "type": "array", - "items": { - "additionalProperties": false, - "type": "object", - "properties": { - "inflate": { "type": "number" }, - "mirror": { "type": "boolean" }, - "origin": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "size": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "uv": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }] } - } - } - }, - "debug": { "type": "boolean" }, - "inflate": { "type": "number" }, - "locators": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "number" } } }, - "mirror": { "type": "boolean" }, - "name": { "type": "string" }, - "neverRender": { "type": "boolean" }, - "parent": { "type": "string" }, - "pivot": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "poly_mesh": { - "type": "object", - "required": ["polys"], - "properties": { - "normalized_uvs": { "type": "boolean" }, - "positions": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "normals": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "polys": { - "type": "array", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 4, - "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] - } - } - } - }, - "render_group_id": { "type": "integer", "minimum": 0 }, - "reset": { - "title": "Reset", - "description": "UNDOCUMENTED", - "$comment": "UNDOCUMENTED", - "type": "boolean" - }, - "rotation": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "texture_meshes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "texture": { "type": "string" }, - "local_pivot": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "position": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "rotation": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, - "scale": { "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] } - } - } - } - } - } - }, - "cape": { "type": "string" }, - "debug": { "type": "boolean" }, - "texturewidth": { "type": "integer", "description": "UNDOCUMENTED: texturewidth", "title": "Texturewidth" }, - "textureheight": { "type": "integer", "description": "UNDOCUMENTED: textureheight", "title": "Textureheight" }, - "visible_bounds_width": { "type": "number", "description": "UNDOCUMENTED: visible bounds width", "title": "Visible Bounds Width" }, - "visible_bounds_height": { "type": "number", "description": "UNDOCUMENTED: visible bounds height", "title": "Visible Bounds Height" }, - "visible_bounds_offset": { - "type": "array", - "description": "UNDOCUMENTED: visible bounds offset", - "title": "Visible Bounds Offset", - "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] - } - } - } -} diff --git a/source/resource/models/entity/1.12.0/model_entity.json b/source/resource/models/entity/1.12.0/model_entity.json deleted file mode 100644 index b549e424..00000000 --- a/source/resource/models/entity/1.12.0/model_entity.json +++ /dev/null @@ -1,392 +0,0 @@ -{ - "$id": "blockception.minecraft.resource.model.1.12.0", - "additionalProperties": false, - "type": "object", - "title": "Geometry 1.12.0", - "description": "The minecraft resourcepack model schema for 1.12.0", - "required": ["format_version", "minecraft:geometry"], - "definitions": { - "uv": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "type": "number" } }, - "direction_uv": { - "additionalProperties": false, - "type": "object", - "properties": { - "uv": { - "description": "Specifies the uv origin for the face. For this face, it is the upper-left corner, when looking at the face with y being up.", - "$ref": "#/definitions/uv" - }, - "uv_size": { - "description": "The face maps this many texels from the uv origin. If not specified, the box dimensions are used instead.", - "$ref": "#/definitions/uv" - }, - "material_instance": { "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" } - } - } - }, - "properties": { - "debug": { "type": "boolean", "default": false, "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Debug" }, - "format_version": { - "title": "1.12.0 Format Version", - "type": "string", - "pattern": "^1.12.0$", - "description": "A version that tells minecraft what type of data format can be expected when reading this file." - }, - "minecraft:geometry": { - "type": "array", - "title": "Geometry", - "description": "The collection of geometries", - "minItems": 1, - "items": { - "additionalProperties": false, - "description": "Model specification", - "title": "Model", - "type": "object", - "required": ["description"], - "properties": { - "description": { - "type": "object", - "additionalProperties": false, - "description": "The descriptions of the geometry", - "title": "Description", - "required": ["identifier"], - "properties": { - "identifier": { - "type": "string", - "description": "Entity definition and Client Block definition files refer to this geometry via this identifier.", - "pattern": "^geometry\\.[a-zA-Z0-9_\\-\\.]+$", - "title": "Identifier" - }, - "texture_width": { - "type": "number", - "description": "Assumed width in texels of the texture that will be bound to this geometry.", - "title": "Texture Width" - }, - "texture_height": { - "type": "number", - "description": "Assumed height in texels of the texture that will be bound to this geometry.", - "title": "Texture Height" - }, - "visible_bounds_offset": { - "description": "Offset of the visibility bounding box from the entity location point (in model space units).", - "title": "Visible Bounds Offset", - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { "type": "number" } - }, - "visible_bounds_width": { - "type": "number", - "description": "Width of the visibility bounding box (in model space units).", - "title": "Visible Bounds Width" - }, - "visible_bounds_height": { - "type": "number", - "description": "Height of the visible bounding box (in model space units).", - "title": "Visible Bounds Height" - } - } - }, - "bones": { - "type": "array", - "description": "The bones specification", - "items": { - "additionalProperties": false, - "type": "object", - "description": "A bones specification", - "required": ["name"], - "properties": { - "average_normals": { "type": "object", "examples": [null] }, - "cubes": { - "type": "array", - "description": "This is the list of cubes associated with this bone.", - "items": { - "additionalProperties": false, - "type": "object", - "description": "A single cube", - "properties": { - "inflate": { - "type": "number", - "description": "Grow this box by this additive amount in all directions (in model space units), this field overrides the bone's inflate field for this cube only." - }, - "mirror": { - "type": "boolean", - "description": "Mirrors this cube about the unrotated x axis (effectively flipping the east / west faces), overriding the bone's `mirror` setting for this cube." - }, - "origin": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "This point declares the unrotated lower corner of cube (smallest x/y/z value in model space units)." - } - }, - "pivot": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14." - } - }, - "rotation": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "The cube is rotated by this amount (in degrees, x-then-y-then-z order) around the pivot." - } - }, - "size": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { "type": "number", "description": "The cube extends this amount relative to its origin (in model space units)." } - }, - "uv": { - "description": "This is an alternate per-face uv mapping which specifies each face of the cube. Omitting a face will cause that face to not get drawn.", - "oneOf": [ - { - "additionalProperties": false, - "type": "object", - "properties": { - "north": { - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and y axes, and faces the -z axis." - }, - "south": { - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and y axes, and faces the z axis" - }, - "east": { - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the z and y axes, and faces the x axis" - }, - "west": { - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the z and y axes, and faces the -x axis" - }, - "up": { - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and z axes, and faces the y axis" - }, - "down": { - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and z axes, and faces the -y axis" - } - } - }, - { "type": "array", "minItems": 2, "maxItems": 2, "items": { "type": "number" } } - ] - } - } - } - }, - "debug": { "type": "boolean" }, - "inflate": { "type": "number", "description": "Grow this box by this additive amount in all directions (in model space units)." }, - "locators": { - "description": "This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).", - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "type": "object", - "required": ["offset", "rotation"], - "properties": { - "offset": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "Position of the locator in model space.", - "items": { "type": "number", "description": "Position of the locator in model space." } - }, - "rotation": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "Rotation of the locator in model space.", - "items": { "type": "number", "description": "Rotation of the locator in model space." } - }, - "ignore_inherited_scale": { "type": "boolean", "description": "Discard scale inherited from parent bone." } - } - }, - { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).", - "items": { "type": "number", "description": "Position of the locator in model space." } - } - ] - } - }, - "mirror": { - "type": "boolean", - "description": "Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped." - }, - "name": { "type": "string", "description": "Animation files refer to this bone via this identifier." }, - "parent": { - "type": "string", - "description": "Bone that this bone is relative to. If the parent bone moves, this bone will move along with it." - }, - "pivot": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "The bone pivots around this point (in model space units).", - "items": { "type": "number", "description": "The bone pivots around this point (in model space units)." } - }, - "poly_mesh": { - "additionalProperties": false, - "type": "object", - "description": "***EXPERIMENTAL*** A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry.", - "required": ["polys"], - "properties": { - "normalized_uvs": { - "type": "boolean", - "description": "If true, UVs are assumed to be [0-1]. If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively." - }, - "normals": { - "type": "array", - "description": "Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.", - "items": { - "type": "number", - "description": "Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections." - } - } - }, - "polys": { - "oneOf": [ - { - "type": "string", - "description": "If not specifying vertex indices, arrays of data must be a list of tris or quads, set by making this property either `tri_list` or `quad_list`", - "enum": ["tri_list", "quad_list"] - }, - { - "type": "array", - "description": "Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 4, - "description": "Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": [ - { "type": "number", "description": "The index of the position" }, - { "type": "number", "description": "The index of the normal vertex" }, - { "type": "number", "description": "The index of the uv vertex" } - ] - } - } - } - ] - }, - "positions": { - "type": "array", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "Vertex positions for the mesh. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the normals and UVs sections." - } - } - }, - "uvs": { - "type": "array", - "description": "Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.", - "items": { - "type": "array", - "description": "Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.", - "minItems": 2, - "maxItems": 2, - "items": { - "type": "number", - "description": "Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections." - } - } - } - } - }, - "render_group_id": { "type": "integer", "minimum": 0 }, - "rotation": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "The bone pivots around this point (in model space units).", - "items": { - "type": "number", - "description": "This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order)." - } - }, - "reset": { - "title": "Reset", - "description": "UNDOCUMENTED", - "$comment": "UNDOCUMENTED", - "type": "boolean" - }, - "texture_meshes": { - "type": "array", - "description": "***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes", - "items": { - "type": "object", - "required": ["texture"], - "properties": { - "local_pivot": { - "type": "array", - "description": "The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry" - } - }, - "position": { - "type": "array", - "description": "The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry" - } - }, - "rotation": { - "type": "array", - "description": "The rotation (in degrees) of the texture geometry relative to the offset", - "minItems": 3, - "maxItems": 3, - "items": { "type": "number", "description": "The rotation (in degrees) of the texture geometry relative to the offset" } - }, - "scale": { - "type": "array", - "description": "The scale (in degrees) of the texture geometry relative to the offset", - "minItems": 3, - "maxItems": 3, - "items": { "type": "number", "description": "The scale (in degrees) of the texture geometry relative to the offset" } - }, - "texture": { "type": "string", "description": "The friendly-named texture to use." } - } - } - } - } - } - }, - "cape": { "type": "string" } - } - } - } - } -} diff --git a/source/resource/models/entity/1.14.0/model_entity.json b/source/resource/models/entity/1.14.0/model_entity.json deleted file mode 100644 index 918c0f57..00000000 --- a/source/resource/models/entity/1.14.0/model_entity.json +++ /dev/null @@ -1,446 +0,0 @@ -{ - "$id": "blockception.minecraft.resource.model.1.14.0", - "additionalProperties": false, - "type": "object", - "title": "Geometry 1.14.0", - "description": "The minecraft resourcepack model schema for 1.14.0", - "required": ["format_version", "minecraft:geometry"], - "definitions": { - "uv": { - "type": "array", - "items": [ - { "type": "number", "title": "X", "description": "The x component of the uv" }, - { "type": "number", "title": "Y", "description": "The y component of the uv" } - ] - }, - "direction_uv": { - "additionalProperties": false, - "type": "object", - "properties": { - "uv": { - "title": "Uv", - "description": "Specifies the uv origin for the face. For this face, it is the upper-left corner, when looking at the face with y being up.", - "$ref": "#/definitions/uv" - }, - "uv_size": { - "title": "Uv Size", - "description": "The face maps this many texels from the uv origin. If not specified, the box dimensions are used instead.", - "$ref": "#/definitions/uv" - }, - "material_instance": { "type": "string", "title": "Material Instance", "description": "Specifies the UV's for the face that stretches" } - } - } - }, - "properties": { - "debug": { "type": "boolean", "default": false, "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Debug" }, - "format_version": { - "title": "1.14.0 Format Version", - "type": "string", - "pattern": "^1.14.0$", - "description": "A version that tells minecraft what type of data format can be expected when reading this file." - }, - "minecraft:geometry": { - "type": "array", - "title": "Geometry", - "description": "The collection of geometries", - "minItems": 1, - "items": { - "additionalProperties": false, - "description": "Model specification", - "title": "Model", - "type": "object", - "required": ["description"], - "properties": { - "description": { - "type": "object", - "additionalProperties": false, - "description": "The descriptions of the geometry", - "title": "Description", - "required": ["identifier"], - "properties": { - "identifier": { - "type": "string", - "description": "Entity definition and Client Block definition files refer to this geometry via this identifier.", - "pattern": "^geometry\\.[a-zA-Z0-9_\\-\\.]+$", - "title": "Identifier" - }, - "texture_width": { - "type": "number", - "description": "Assumed width in texels of the texture that will be bound to this geometry.", - "title": "Texture Width" - }, - "texture_height": { - "type": "number", - "description": "Assumed height in texels of the texture that will be bound to this geometry.", - "title": "Texture Height" - }, - "visible_bounds_offset": { - "description": "Offset of the visibility bounding box from the entity location point (in model space units).", - "title": "Visible Bounds Offset", - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { "type": "number" } - }, - "visible_bounds_width": { - "type": "number", - "description": "Width of the visibility bounding box (in model space units).", - "title": "Visible Bounds Width" - }, - "visible_bounds_height": { - "type": "number", - "description": "Height of the visible bounding box (in model space units).", - "title": "Visible Bounds Height" - } - } - }, - "bones": { - "type": "array", - "description": "Bones define the `skeleton` of the mob: the parts that can be animated, and to which geometry and other bones are attached.", - "items": { - "additionalProperties": false, - "type": "object", - "description": "A bones specification", - "required": ["name"], - "properties": { - "average_normals": { "type": "object", "examples": [null] }, - "cubes": { - "type": "array", - "description": "This is the list of cubes associated with this bone.", - "items": { - "additionalProperties": false, - "type": "object", - "description": "A single cube", - "properties": { - "inflate": { - "type": "number", - "description": "Grow this box by this additive amount in all directions (in model space units), this field overrides the bone's inflate field for this cube only." - }, - "mirror": { - "type": "boolean", - "description": "Mirrors this cube about the unrotated x axis (effectively flipping the east / west faces), overriding the bone's `mirror` setting for this cube." - }, - "origin": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "This point declares the unrotated lower corner of cube (smallest x/y/z value in model space units)." - } - }, - "pivot": { - "type": "array", - "description": "If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14.", - "title": "Pivot", - "items": [ - { - "type": "number", - "title": "X", - "description": "If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14." - }, - { - "type": "number", - "title": "Y", - "description": "If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14." - }, - { - "type": "number", - "title": "Z", - "description": "If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14." - } - ] - }, - "reset": { - "title": "Reset", - "description": "UNDOCUMENTED", - "$comment": "UNDOCUMENTED", - "type": "boolean" - }, - "rotation": { - "title": "Rotation", - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "The cube is rotated by this amount (in degrees, x-then-y-then-z order) around the pivot." - } - }, - "size": { - "title": "Size", - "type": "array", - "description": "The cube extends this amount relative to its origin (in model space units).", - "items": [ - { - "type": "number", - "title": "X", - "description": "The cube extends this amount relative to its origin (in model space units)." - }, - { - "type": "number", - "title": "Y", - "description": "The cube extends this amount relative to its origin (in model space units)." - }, - { - "type": "number", - "title": "Z", - "description": "The cube extends this amount relative to its origin (in model space units)." - } - ] - }, - "uv": { - "title": "Uv", - "description": "This is an alternate per-face uv mapping which specifies each face of the cube. Omitting a face will cause that face to not get drawn.", - "oneOf": [ - { - "additionalProperties": false, - "type": "object", - "properties": { - "north": { - "title": "North", - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and y axes, and faces the -z axis." - }, - "south": { - "title": "South", - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and y axes, and faces the z axis" - }, - "east": { - "title": "East", - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the z and y axes, and faces the x axis" - }, - "west": { - "title": "West", - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the z and y axes, and faces the -x axis" - }, - "up": { - "title": "Up", - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and z axes, and faces the y axis" - }, - "down": { - "title": "Down", - "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and z axes, and faces the -y axis" - } - } - }, - { - "type": "array", - "items": [ - { "type": "number", "title": "X", "description": "The x component of the uv" }, - { "type": "number", "title": "Y", "description": "The y component of the uv" } - ] - } - ] - } - } - } - }, - "debug": { "type": "boolean" }, - "inflate": { "type": "number", "description": "Grow this box by this additive amount in all directions (in model space units)." }, - "locators": { - "description": "This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).", - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "type": "object", - "required": ["offset", "rotation"], - "properties": { - "offset": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "Position of the locator in model space.", - "items": { "type": "number", "description": "Position of the locator in model space." } - }, - "rotation": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "Rotation of the locator in model space.", - "items": { "type": "number", "description": "Rotation of the locator in model space." } - }, - "ignore_inherited_scale": { "type": "boolean", "description": "Discard scale inherited from parent bone." } - } - }, - { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).", - "items": { "type": "number", "description": "Position of the locator in model space." } - } - ] - } - }, - "mirror": { - "type": "boolean", - "title": "Mirror", - "description": "Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped." - }, - "name": { "type": "string", "title": "Name", "description": "Animation files refer to this bone via this identifier." }, - "parent": { - "type": "string", - "title": "Parent", - "description": "Bone that this bone is relative to. If the parent bone moves, this bone will move along with it." - }, - "pivot": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "The bone pivots around this point (in model space units).", - "items": { "type": "number", "description": "The bone pivots around this point (in model space units)." } - }, - "poly_mesh": { - "additionalProperties": false, - "type": "object", - "description": "***EXPERIMENTAL*** A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry.", - "required": ["polys"], - "properties": { - "normalized_uvs": { - "type": "boolean", - "description": "If true, UVs are assumed to be [0-1]. If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively." - }, - "normals": { - "type": "array", - "description": "Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.", - "items": { - "type": "number", - "description": "Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections." - } - } - }, - "polys": { - "oneOf": [ - { - "type": "string", - "description": "If not specifying vertex indices, arrays of data must be a list of tris or quads, set by making this property either `tri_list` or `quad_list`", - "enum": ["tri_list", "quad_list"] - }, - { - "type": "array", - "description": "Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 4, - "description": "Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": [ - { "type": "number", "description": "The index of the position" }, - { "type": "number", "description": "The index of the normal vertex" }, - { "type": "number", "description": "The index of the uv vertex" } - ] - } - } - } - ] - }, - "positions": { - "type": "array", - "items": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "Vertex positions for the mesh. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the normals and UVs sections." - } - } - }, - "uvs": { - "type": "array", - "description": "Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.", - "items": { - "type": "array", - "description": "Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.", - "minItems": 2, - "maxItems": 2, - "items": { - "type": "number", - "description": "Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections." - } - } - } - } - }, - "render_group_id": { "type": "integer", "minimum": 0 }, - "rotation": { - "type": "array", - "minItems": 3, - "maxItems": 3, - "description": "The bone pivots around this point (in model space units).", - "items": { - "type": "number", - "description": "This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order)." - } - }, - "texture_meshes": { - "type": "array", - "description": "***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes", - "items": { - "type": "object", - "additionalProperties": false, - "required": ["texture"], - "properties": { - "local_pivot": { - "type": "array", - "description": "The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry" - } - }, - "position": { - "type": "array", - "description": "The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry", - "minItems": 3, - "maxItems": 3, - "items": { - "type": "number", - "description": "The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry" - } - }, - "rotation": { - "type": "array", - "description": "The rotation (in degrees) of the texture geometry relative to the offset", - "minItems": 3, - "maxItems": 3, - "items": { "type": "number", "description": "The rotation (in degrees) of the texture geometry relative to the offset" } - }, - "scale": { - "type": "array", - "description": "The scale (in degrees) of the texture geometry relative to the offset", - "minItems": 3, - "maxItems": 3, - "items": { "type": "number", "description": "The scale (in degrees) of the texture geometry relative to the offset" } - }, - "texture": { "type": "string", "description": "The friendly-named texture to use." } - } - } - } - } - } - }, - "cape": { "type": "string" } - } - } - } - } -} diff --git a/source/resource/models/entity/1.16.0/model_entity.json b/source/resource/models/entity/1.16.0/model_entity.json index 4f4f12a8..faa6c313 100644 --- a/source/resource/models/entity/1.16.0/model_entity.json +++ b/source/resource/models/entity/1.16.0/model_entity.json @@ -33,12 +33,7 @@ }, "properties": { "debug": { "title": "Debug", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "boolean", "default": false }, - "format_version": { - "title": "1.16.0 Format Version", - "type": "string", - "pattern": "^1.16.0$", - "description": "A version that tells minecraft what type of data format can be expected when reading this file." - }, + "format_version": { "$ref": "../../../../general/format_version.json" }, "minecraft:geometry": { "type": "array", "title": "Geometry", diff --git a/source/resource/models/entity/model_entity.json b/source/resource/models/entity/model_entity.json index 909e4034..f76d0ef8 100644 --- a/source/resource/models/entity/model_entity.json +++ b/source/resource/models/entity/model_entity.json @@ -17,12 +17,7 @@ ] } ], - "allOf": [ - { "if": { "properties": { "format_version": { "type": "string", "const": "1.8.0" } } }, "then": { "$ref": "./1.8.0/model_entity.json" } }, - { "if": { "properties": { "format_version": { "type": "string", "const": "1.10.0" } } }, "then": { "$ref": "./1.10.0/model_entity.json" } }, - { "if": { "properties": { "format_version": { "type": "string", "const": "1.12.0" } } }, "then": { "$ref": "./1.12.0/model_entity.json" } }, - { "if": { "properties": { "format_version": { "type": "string", "const": "1.14.0" } } }, "then": { "$ref": "./1.14.0/model_entity.json" } }, - { "if": { "properties": { "format_version": { "type": "string", "const": "1.16.0" } } }, "then": { "$ref": "./1.16.0/model_entity.json" } }, - { "properties": { "format_version": { "$ref": "../../../general/format_version.json" } } } - ] + "if": { "properties": { "format_version": { "type": "string", "const": "1.8.0" } } }, + "then": { "$ref": "./1.8.0/model_entity.json" }, + "else": { "$ref": "./1.16.0/model_entity.json" } }