57 lines
1.4 KiB
JSON
57 lines
1.4 KiB
JSON
|
{
|
||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
|
"$id": "https://plutoengine.org/developer/mod.schema.json",
|
||
|
|
||
|
"title": "PlutoEngine mod schema",
|
||
|
|
||
|
"type": "object",
|
||
|
|
||
|
"$defs": {
|
||
|
"nonEmptyString": {
|
||
|
"type": "string",
|
||
|
"pattern": "^.+$"
|
||
|
},
|
||
|
"virtualAddress": {
|
||
|
"$ref": "#/$defs/nonEmptyString",
|
||
|
"pattern": "^([a-zA-Z0-9_-]+\\.)*[a-zA-Z0-9_-]+$"
|
||
|
}
|
||
|
},
|
||
|
|
||
|
"properties": {
|
||
|
"displayName": {
|
||
|
"description": "This name will be visible in applications when browsing the mod list. It does not necessarily need to be unique, however should be representative of the mod.",
|
||
|
"$ref": "#/$defs/nonEmptyString"
|
||
|
},
|
||
|
"author": {
|
||
|
"description": "Name(s) of the author(s) of this mod.",
|
||
|
"$ref": "#/$defs/nonEmptyString"
|
||
|
},
|
||
|
"description": {
|
||
|
"description": "Short description string.",
|
||
|
"type": "string"
|
||
|
},
|
||
|
"resourceRoots": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
|
||
|
},
|
||
|
"propertyNames": {
|
||
|
"$ref": "#/$defs/virtualAddress"
|
||
|
},
|
||
|
"additionalProperties": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"type": {
|
||
|
"enum": ["open", "zip"]
|
||
|
},
|
||
|
"path": {
|
||
|
"type": "string"
|
||
|
}
|
||
|
},
|
||
|
"required": ["type", "path"]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
"required": ["displayName", "author", "resourceRoots"]
|
||
|
}
|