plutoengine/engine-demo/basic-application/mods/tefek.demo.basicapplication/info.schema.json

57 lines
1.4 KiB
JSON
Executable File

{
"$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"]
}