Difference between revisions of "Mod file Format"

From VCMI Project Wiki
Jump to: navigation, search
(Moving full mod.json description to separate page)
(No difference)

Revision as of 22:24, 23 January 2013

This is description of mod.json file, main file for mods.

 
{
    // Name of your mod. While it does not have hard length limit
    // it should not be longer than ~30 symbols to fit into allowed space
    "name" : "My test mod",

    // More lengthy description of mod. No hard limit
    // TODO: show it in some kind of mod manager
    "description" : "My test mod that add a lot of useless stuff into the game",

    // List of mods that are required to run this one
    "depends" :
    [
        "baseMod"
    ],
 
    // List of mods that can't be enabled in the same time as this one
    "conflicts" :
    [
        "badMod"
    ],

    // Following section describes configuration files with content added by mod
    // It can be split into several files in any way you want but recommended organization is
    // to keep one file per object (creature/hero/etc) and, if applicable, add separate file
    // with translatable strings for each type of content
    // See "additional links" at the bottom of page for descriptions of each of these formats

    // list of factions/towns configuration files
    "factions" :
    [
        "config/myMod/faction.json"
    ]

    // List of hero classes configuration files
    "heroClasses" :
    [
        "config/myMod/heroClasses.json"
    ],

    // List of heroes configuration files
    "heroes" :
    [
        "config/myMod/heroes.json"
    ],

    // list of creature configuration files
    "creatures" :
    [
        "config/myMod/creatures.json"
    ],

    // List of artifacts configuration files
    "artifacts" :
    [
        "config/myMod/artifacts.json"
    ],

    // Optional, description on how files are organized in your mod
    // In most cases you do not need to use this field
    // Needed mostly to port any existing mods to vcmi (e.g. WoG distributed with Era)
    // Example below is default value, which is "Content" directory that acts as H3 root directory
    "filesystem":
    {
        "":
            [
                {"type" : "dir",  "path" : "/Content"}
            ]
    }
}