{ "$schema":"http://json-schema.org/draft-07/schema", "default":{ }, "description":"JSON Schema for SS14 RSI validation.", "examples":[ { "version":1, "license":"CC-BY-SA-3.0", "copyright":"Taken from CODEBASE at COMMIT LINK", "size":{ "x":32, "y":32 }, "states":[ { "name":"basic" }, { "name":"basic-directions", "directions":4 }, { "name":"basic-delays", "delays":[ [ 0.1, 0.1 ] ] }, { "name":"basic-delays-directions", "directions":4, "delays":[ [ 0.1, 0.1 ], [ 0.1, 0.1 ], [ 0.1, 0.1 ], [ 0.1, 0.1 ] ] } ] } ], "required":[ "version", "license", "copyright", "size", "states" ], "title":"RSI Schema", "type":"object", "properties":{ "version":{ "$id":"#/properties/version", "default":"", "description":"RSI version integer.", "title":"The version schema", "type":"integer" }, "license":{ "$id":"#/properties/license", "default":"", "description":"The license for the associated icon states. Restricted to SS14-compatible asset licenses.", "enum":[ "CC-BY-SA-3.0", "CC-BY-SA-4.0", "CC-BY-NC-3.0", "CC-BY-NC-4.0", "CC-BY-NC-SA-3.0", "CC-BY-NC-SA-4.0", "CC0-1.0" ], "examples":[ "CC-BY-SA-3.0" ], "title":"License", "type":"string" }, "copyright":{ "$id":"#/properties/copyright", "type":"string", "title":"Copyright Info", "description":"The copyright holder. This is typically a link to the commit of the codebase that the icon is pulled from.", "default":"", "examples":[ "Taken from CODEBASE at COMMIT LINK" ] }, "size":{ "$id":"#/properties/size", "default":{ }, "description":"The dimensions of the sprites inside the RSI. This is not the size of the PNG files that store the sprite sheet.", "examples":[ { "x":32, "y":32 } ], "title":"Sprite Dimensions", "required":[ "x", "y" ], "type":"object", "properties":{ "x":{ "$id":"#/properties/size/properties/x", "type":"integer", "default":32, "examples":[ 32 ] }, "y":{ "$id":"#/properties/size/properties/y", "type":"integer", "default":32, "examples":[ 32 ] } }, "additionalProperties":true }, "states":{ "$id":"#/properties/states", "type":"array", "title":"Icon States", "description":"Metadata for icon states. Includes name, directions, delays, etc.", "default":[ ], "examples":[ [ { "name":"basic" }, { "name":"basic-directions", "directions":4 } ] ], "additionalItems":true, "items":{ "$id":"#/properties/states/items", "type":"object", "required":[ "name" ], "properties":{ "name":{ "type":"string" }, "directions":{ "type":"integer", "enum":[ 1, 4, 8 ] } } } } }, "additionalProperties":true }