{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.model","examples":[{"format_version":"1.20.80","minecraft:geometry":[{"description":{"identifier":"geometry.entity","texture_width":64.0,"texture_height":64.0,"visible_bounds_offset":[0.0,0.5,0.0],"visible_bounds_width":1.5},"bones":{}}]}],"if":{"properties":{"format_version":{"type":"string","const":"1.21.0"}}},"then":{"$ref":"#/definitions/A"},"else":{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/D"},"else":{"$ref":"#/definitions/E"}},"definitions":{"A_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."}]},"A_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/A_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/A_uv"},"material_instance":{"type":"string","title":"Material Instance","description":"Specifies the UV's for the face that stretches."},"uv_rotation":{"title":"Uv Rotation","description":"Specifies an optional rotation for the specified UV rect in 90-degree clockwise increments before applying it to a geometry cube face. If not specified, no rotation will be applied.","enum":[90,180,270]}}},"A_display_transform":{"rotation":{"title":"Rotation","description":"Amount in degrees the block should be rotated on each axis. \"rotation\" is specified as [x, y, z] using floating point values and must be axis aligned, otherwise the value will be rounded to the nearest axis-aligned value.","type":"array","items":[{"title":"X","type":"number","default":0},{"title":"Y","type":"number","default":0},{"title":"Z","type":"number","default":0}]},"scale":{"title":"Scale","description":"Amount the block should be scaled along each axis. \"scale\" is specified as [x, y, z] using floating point values.","type":"array","items":[{"title":"X","type":"number","default":1},{"title":"Y","type":"number","default":1},{"title":"Z","type":"number","default":1}]},"translation":{"title":"Translation","description":"Amount the block should be translated along each axis. \"translation\" is specified as [x, y, z] using floating point values.","type":"array","items":[{"title":"X","type":"number","default":0},{"title":"Y","type":"number","default":0},{"title":"Z","type":"number","default":0}]},"scale_pivot":{"title":"Scale Pivot","description":"Offset to the pivot point around which to apply the scale. \"scale_pivot\" is specified as [x, y, z] using floating point values.","type":"array","default":[0,0,0],"items":[{"title":"X","type":"number","default":0},{"title":"Y","type":"number","default":0},{"title":"Z","type":"number","default":0}]},"rotation_pivot":{"title":"Rotation Pivot","description":"Offset to the pivot point around which to apply the rotation. \"rotation_pivot\" is specified as [x, y, z] using floating point values.","type":"array","default":[0,0,0],"items":[{"title":"X","type":"number","default":0},{"title":"Y","type":"number","default":0},{"title":"Z","type":"number","default":0}]}},"B":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.21.60","examples":["1.21.50","1.20.80","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"C":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"A":{"additionalProperties":false,"type":"object","title":"Geometr