Difference between revisions of "Mod file Format"

From VCMI Project Wiki
Jump to: navigation, search
(Fields for local file and repository)
(Replaced content with "[https://vcmi.eu/modders/Mod_File_Format/ Page moved - vcmi.eu]")
Line 1: Line 1:
This is description of mod.json file, main file for mods.
+
[https://vcmi.eu/modders/Mod_File_Format/ Page moved - vcmi.eu]
 
 
Schema in git: [https://github.com/vcmi/vcmi/blob/develop/config/schemas/mod.json config/schemas/mod.json]
 
 
 
== Fields for local file and repository ==
 
<syntaxhighlight lang="javascript">
 
{
 
    // 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. This text will be visible in launcher.
 
    // This field can use small subset of HTML, see link at the bottom of this page.
 
    "description" : "My test mod that add a lot of useless stuff into the game",
 
 
 
    // Author of mod. Can be nickname, real name or name of team
 
    "author" : "Anonymous",
 
 
 
    // Full name of license used by mod. Should be set only if you're author of mod
 
    // or received permission to use such license from original author
 
    "licenseName" : "Creative Commons Attribution-ShareAlike",
 
 
 
    // URL which user can use to see license terms and text
 
    "licenseURL" : "https://creativecommons.org/licenses/by-sa/4.0/",
 
 
 
   
 
    // Home page of mod or link to forum thread to contact the author
 
    "contact" : "http://example.com",
 
 
 
    // Type of mod, list of all possible values:
 
    // "Translation", "Town", "Test", "Templates", "Spells", "Music", "Sounds", "Skills", "Other", "Objects",
 
    // "Mechanics", "Interface", "Heroes", "Graphical", "Expansion", "Creatures", "Artifacts", "AI"
 
    "modType" : "Graphical",
 
 
 
    // 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"
 
    ],
 
 
 
    //List of changes/new features in each version
 
    "changelog" :
 
    {
 
        "1.0"  : [ "initial release" ],
 
        "1.0.1" : [ "change 1", "change 2" ],
 
        "1.1"  : [ "change 3", "change 4" ]
 
    },
 
 
 
    // If set to true, mod will not be enabled automatically on install
 
    "keepDisabled" : false
 
}
 
</syntaxhighlight>
 
 
 
==Fields specific for local file==
 
These are fields that are present only in local mod.json file
 
<syntaxhighlight lang="javascript">
 
{
 
    // 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"
 
    ],
 
 
 
    // List of objects defined in this mod
 
    "objects" :
 
    [
 
        "config/myMod/objects.json"
 
    ],
 
 
 
    // List of spells defined in this mod
 
    "spells" :
 
    [
 
        "config/myMod/spells.json"
 
    ],
 
 
 
    // List of RMG templates defined in this mod
 
    "templates" :
 
    [
 
        "config/myMod/templates.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"}
 
            ]
 
    }
 
}
 
</syntaxhighlight>
 
 
 
==Fields present only in repository==
 
This is list of fields that must be added to mod record in repository file
 
<syntaxhighlight lang="javascript">
 
{
 
    // URL which launcher will use to download mod
 
    "download" : "http://example.com/mods/helloworld.zip",
 
 
 
    // size of mod archive, in kilobytes
 
    "size" : 12345,
 
 
 
    // list of URL's with screenshots for this mod
 
    "screenshots" : [
 
        "http://example.com/images/helloworld_1.png"
 
    ]
 
}
 
</syntaxhighlight>
 
==Notes==
 
For mod description it is possible to use certain subset of HTML as described here:
 
 
 
http://qt-project.org/doc/qt-5.0/qtgui/richtext-html-subset.html
 
 
 
{{Modding}}
 

Revision as of 15:08, 16 July 2024

Page moved - vcmi.eu