{ "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", "required" : [ "name", "description", "version", "author", "contact", "modType" ], "additionalProperties" : false, "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" }, "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" }, "contact" : { "type":"string", "description": "Home page of mod or link to forum thread" }, "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" } }, "artifacts": { "type":"array", "description": "List of configuration files for artifacts", "items": { "type":"string", "format" : "textFile" } }, "creatures": { "type":"array", "description": "List of configuration files for creatures", "items": { "type":"string", "format" : "textFile" } }, "factions": { "type":"array", "description": "List of configuration files for towns/factions", "items": { "type":"string", "format" : "textFile" } }, "heroClasses": { "type":"array", "description": "List of configuration files for hero classes", "items": { "type":"string", "format" : "textFile" } }, "heroes": { "type":"array", "description": "List of configuration files for heroes", "items": { "type":"string", "format" : "textFile" } }, "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", "additionalProperties" : false, "properties":{ "path": { "type":"string", "description": "Path to data source" }, "type": { "type" : "string", "enum" : [ "dir", "lod", "snd", "vid", "map", "zip" ], "description" : "Type of data source" } } } } } } }