89 lines
3.3 KiB
JSON
Generated
89 lines
3.3 KiB
JSON
Generated
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "blockception.minecraft.resource.texture.ui_definition",
|
|
"additionalProperties": false,
|
|
"description": "The file that specifies either 9slice texture or Aseprite flipbook.",
|
|
"title": "UI Texture File",
|
|
"type": "object",
|
|
"oneOf": [{ "$ref": "#/definitions/A" }, { "$ref": "#/definitions/B" }],
|
|
"definitions": {
|
|
"A": {
|
|
"additionalProperties": false,
|
|
"description": "The file that specifies 9Slice textures.",
|
|
"title": "9Slice Texture File",
|
|
"type": "object",
|
|
"properties": {
|
|
"nineslice_size": {
|
|
"title": "9Slice offsets",
|
|
"oneOf": [
|
|
{ "description": "Offset from left, top, right and bottom of the texture file.", "type": "number", "minimum": 0 },
|
|
{
|
|
"description": "Offsets from left, top, right and bottom of the texture file (in this exact order).",
|
|
"type": "array",
|
|
"minItems": 4,
|
|
"maxItems": 4,
|
|
"items": { "type": "number", "minimum": 0 }
|
|
}
|
|
]
|
|
},
|
|
"base_size": {
|
|
"title": "Size of the texture",
|
|
"description": "Width and height of the texture (in this exact order).",
|
|
"type": "array",
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"items": { "type": "number", "minimum": 0 }
|
|
}
|
|
}
|
|
},
|
|
"B": {
|
|
"additionalProperties": false,
|
|
"description": "The file that specifies Aseprite/libresprite flipbook animation.",
|
|
"title": "Aseprite Flipbook File",
|
|
"type": "object",
|
|
"properties": {
|
|
"meta": {
|
|
"type": "object",
|
|
"description": "The meta data of the flipbook.",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"size": {
|
|
"type": "object",
|
|
"description": "The size of the flipbook sprite sheet.",
|
|
"properties": {
|
|
"w": { "description": "The width of the sprite sheet.", "type": "integer" },
|
|
"h": { "description": "The height of the sprite sheet.", "type": "integer" }
|
|
},
|
|
"required": ["w", "h"]
|
|
},
|
|
"image": { "description": "The path to the sprite sheet. The value is required, but not used.", "type": "string" }
|
|
},
|
|
"required": ["size", "image"]
|
|
},
|
|
"frames": {
|
|
"type": "array",
|
|
"description": "The frames of the flipbook.",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"duration": { "description": "The duration of the frame in milliseconds.", "type": "integer", "minimum": 1 },
|
|
"frame": {
|
|
"type": "object",
|
|
"description": "The position of the frame in the sprite sheet (UV).",
|
|
"properties": {
|
|
"x": { "type": "integer", "description": "The x position of the frame in the sprite sheet.", "minimum": 0 },
|
|
"y": { "type": "integer", "description": "The y position of the frame in the sprite sheet.", "minimum": 0 }
|
|
},
|
|
"required": ["x", "y"]
|
|
}
|
|
},
|
|
"required": ["duration", "frame"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["meta", "frames"]
|
|
}
|
|
}
|
|
}
|