2013-04-02 20:06:43 +03:00
|
|
|
{
|
|
|
|
"type":"object",
|
|
|
|
"$schema": "http://json-schema.org/draft-04/schema",
|
|
|
|
"title" : "VCMI mod file format",
|
|
|
|
"description" : "Format used to define main mod file (mod.json) in VCMI",
|
2013-08-20 22:32:21 +03:00
|
|
|
"required" : [ "name", "description", "version", "author", "contact", "modType" ],
|
2022-12-26 00:03:00 +02:00
|
|
|
"definitions" : {
|
2023-01-07 16:15:45 +02:00
|
|
|
"localizable" : {
|
2022-12-26 00:03:00 +02:00
|
|
|
"type":"object",
|
|
|
|
"additionalProperties" : false,
|
|
|
|
"required" : [ "name", "description", "author", "modType" ],
|
|
|
|
"properties":{
|
|
|
|
"name": {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Short name of your mod. No more than 2-3 words"
|
|
|
|
},
|
|
|
|
"description": {
|
|
|
|
"type":"string",
|
|
|
|
"description": "More lengthy description of mod. No hard limit"
|
|
|
|
},
|
2013-04-02 20:06:43 +03:00
|
|
|
|
2022-12-26 00:03:00 +02:00
|
|
|
"modType" : {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Type of mod, e.g. Town, Artifacts, Graphical."
|
|
|
|
},
|
|
|
|
"author" : {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Author of the mod. Can be nickname, real name or name of team"
|
|
|
|
},
|
|
|
|
"changelog" : {
|
|
|
|
"type":"object",
|
|
|
|
"description": "List of changes/new features in each version",
|
|
|
|
"additionalProperties" : {
|
|
|
|
"type" : "array",
|
|
|
|
"items" : { "type":"string" }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2013-04-11 22:24:14 +03:00
|
|
|
"additionalProperties" : false,
|
|
|
|
"properties":{
|
2013-04-02 20:06:43 +03:00
|
|
|
"name": {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Short name of your mod. No more than 2-3 words"
|
|
|
|
},
|
|
|
|
"description": {
|
|
|
|
"type":"string",
|
|
|
|
"description": "More lengthy description of mod. No hard limit"
|
|
|
|
},
|
|
|
|
|
2013-08-19 14:50:53 +03:00
|
|
|
"modType" : {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Type of mod, e.g. Town, Artifacts, Graphical."
|
|
|
|
},
|
|
|
|
|
|
|
|
"version" : {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Current mod version, up to 3 numbers, dot-separated. Format: A.B.C"
|
|
|
|
},
|
|
|
|
|
|
|
|
"author" : {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Author of the mod. Can be nickname, real name or name of team"
|
|
|
|
},
|
|
|
|
|
2014-03-23 15:08:01 +03:00
|
|
|
"licenseName" : {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Name of the license, recommended is Creative Commons Attribution-ShareAlike"
|
|
|
|
},
|
|
|
|
|
|
|
|
"licenseURL" : {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Url to license text, e.g. http://creativecommons.org/licenses/by-sa/4.0/deed"
|
|
|
|
},
|
|
|
|
|
2013-08-20 13:47:40 +03:00
|
|
|
"contact" : {
|
2013-08-19 14:50:53 +03:00
|
|
|
"type":"string",
|
|
|
|
"description": "Home page of mod or link to forum thread"
|
|
|
|
},
|
|
|
|
|
2013-04-02 20:06:43 +03:00
|
|
|
"depends": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of mods that are required to run this one",
|
|
|
|
"items": { "type":"string" }
|
|
|
|
},
|
|
|
|
"conflicts": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of mods that can't be enabled in the same time as this one",
|
|
|
|
"items": { "type":"string" }
|
|
|
|
},
|
2022-12-18 16:03:47 +02:00
|
|
|
"compatibility" : {
|
|
|
|
"type":"object",
|
2022-12-19 12:20:33 +02:00
|
|
|
"description": "Supported versions of vcmi engine",
|
|
|
|
"additionalProperties" : false,
|
|
|
|
"properties" : {
|
|
|
|
"min" : {
|
|
|
|
"type" : "string",
|
|
|
|
"description" : "minimal compatible vcmi engine version in a format major.minor.patch. When specified, earlier versions won't be supported"
|
|
|
|
//"pattern" : "^\\d+\\.\\d+\\.\\d+$" // Not implemented in schema support
|
|
|
|
},
|
|
|
|
"max" : {
|
|
|
|
"type" : "string",
|
|
|
|
"description" : "maximum compatible vcmi engine version in a format major.minor.patch. When specified, later versions won't be supported"
|
|
|
|
//"pattern" : "^\\d+\\.\\d+\\.\\d+$" // Not implemented in schema support
|
|
|
|
}
|
2022-12-18 16:03:47 +02:00
|
|
|
}
|
|
|
|
},
|
2013-04-02 20:06:43 +03:00
|
|
|
|
2014-03-23 15:08:01 +03:00
|
|
|
"keepDisabled" : {
|
|
|
|
"type":"boolean",
|
|
|
|
"description": "If set to true, mod will not be enabled automatically on install"
|
|
|
|
},
|
2022-12-26 00:03:00 +02:00
|
|
|
|
|
|
|
"english" : {
|
2023-01-07 16:15:45 +02:00
|
|
|
"$ref" : "#/definitions/localizable"
|
2022-12-26 00:03:00 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
"german" : {
|
2023-01-07 16:15:45 +02:00
|
|
|
"$ref" : "#/definitions/localizable"
|
2022-12-26 00:03:00 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
"polish" : {
|
2023-01-07 16:15:45 +02:00
|
|
|
"$ref" : "#/definitions/localizable"
|
2022-12-26 00:03:00 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
"russian" : {
|
2023-01-07 16:15:45 +02:00
|
|
|
"$ref" : "#/definitions/localizable"
|
2022-12-26 00:03:00 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
"ukrainian" : {
|
2023-01-07 16:15:45 +02:00
|
|
|
"$ref" : "#/definitions/localizable"
|
2022-12-26 00:03:00 +02:00
|
|
|
},
|
2014-03-23 15:08:01 +03:00
|
|
|
|
2013-04-02 20:06:43 +03:00
|
|
|
"artifacts": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for artifacts",
|
2013-10-26 22:33:34 +03:00
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
|
|
|
"creatures": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for creatures",
|
2013-10-26 22:33:34 +03:00
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
|
|
|
"factions": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for towns/factions",
|
2013-10-26 22:33:34 +03:00
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
|
|
|
"heroClasses": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for hero classes",
|
2013-10-26 22:33:34 +03:00
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
|
|
|
"heroes": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for heroes",
|
2013-10-26 22:33:34 +03:00
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
2014-06-25 00:23:56 +03:00
|
|
|
},
|
|
|
|
"objects": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for objects",
|
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
Entities redesign and a few ERM features
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2018-03-17 16:58:30 +02:00
|
|
|
"scripts": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for scripts",
|
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
|
|
|
},
|
2014-03-23 15:08:01 +03:00
|
|
|
"spells": {
|
2014-03-07 16:21:09 +03:00
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for spells",
|
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
|
|
|
},
|
2017-09-03 13:49:36 +02:00
|
|
|
"skills": {
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for skills",
|
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
|
|
|
},
|
2015-07-27 07:36:19 +02:00
|
|
|
"templates":{
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for RMG templates",
|
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
Entities redesign and a few ERM features
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2018-03-17 16:58:30 +02:00
|
|
|
|
2022-06-28 10:05:30 +02:00
|
|
|
},
|
|
|
|
"battlefields":{
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for battlefields",
|
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
|
|
|
|
2022-12-18 16:03:47 +02:00
|
|
|
},
|
|
|
|
"obstacles":{
|
|
|
|
"type":"array",
|
|
|
|
"description": "List of configuration files for obstacles",
|
|
|
|
"items": { "type":"string", "format" : "textFile" }
|
|
|
|
|
2015-07-27 07:36:19 +02:00
|
|
|
},
|
2013-04-02 20:06:43 +03:00
|
|
|
|
2014-03-23 15:08:01 +03:00
|
|
|
"changelog" : {
|
|
|
|
"type":"object",
|
|
|
|
"description": "List of changes/new features in each version",
|
|
|
|
"additionalProperties" : {
|
|
|
|
"type" : "array",
|
|
|
|
"items" : { "type":"string" }
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2013-04-02 20:06:43 +03:00
|
|
|
"filesystem": {
|
|
|
|
"type":"object",
|
|
|
|
"description": "Optional, description on how files are organized in your mod. In most cases you do not need to use this field",
|
|
|
|
"additionalProperties":{
|
|
|
|
"type":"array",
|
|
|
|
"description" : "list of data sources attached to this mount point",
|
|
|
|
"items": {
|
|
|
|
"type":"object",
|
2013-04-11 22:24:14 +03:00
|
|
|
"additionalProperties" : false,
|
2013-04-02 20:06:43 +03:00
|
|
|
"properties":{
|
|
|
|
"path": {
|
|
|
|
"type":"string",
|
|
|
|
"description": "Path to data source"
|
|
|
|
},
|
|
|
|
"type": {
|
|
|
|
"type" : "string",
|
2013-08-19 14:50:53 +03:00
|
|
|
"enum" : [ "dir", "lod", "snd", "vid", "map", "zip" ],
|
2013-04-02 20:06:43 +03:00
|
|
|
"description" : "Type of data source"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|