Difference between revisions of "Mod file Format"
From VCMI Project Wiki
Line 1: | Line 1: | ||
This is description of mod.json file, main file for mods. | This is description of mod.json file, main file for mods. | ||
+ | == Fields for local file and repository == | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
{ | { | ||
Line 12: | Line 13: | ||
// Author of mod. Can be nickname, real name or name of team | // Author of mod. Can be nickname, real name or name of team | ||
"author" : "Anonymous", | "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" : "http://creativecommons.org/licenses/by-sa/4.0/deed", | ||
+ | |||
// Home page of mod or link to forum thread to contact the author | // Home page of mod or link to forum thread to contact the author | ||
Line 31: | Line 40: | ||
], | ], | ||
+ | //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 | // 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 | // It can be split into several files in any way you want but recommended organization is | ||
Line 80: | Line 105: | ||
} | } | ||
</syntaxhighlight> | </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: | For mod description it is possible to use certain subset of HTML as described here: | ||
Revision as of 11:53, 23 March 2014
This is description of mod.json file, main file for mods.
Contents
Fields for local file and repository
{
// 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" : "http://creativecommons.org/licenses/by-sa/4.0/deed",
// Home page of mod or link to forum thread to contact the author
"contact" : "http://example.com",
// Type of mod, e.g. "Town", "Artifacts", "Graphical".
"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
}
Fields specific for local file
These are fields that are present only in local mod.json file
{
// 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"}
]
}
}
Fields present only in repository
This is list of fields that must be added to mod record in repository file
{
// 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"
]
}
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
Main articles | |||
---|---|---|---|
Modding changelog | Modding guidelines | How to create a town mod | Mod Handler |
Formats | ||
---|---|---|
Mod file Format | ||
Town Format | Creature Format | Hero Classes Format |
Artifact Format | Animation Format | Hero Format |
Bonus Format | Object Format | Spell Format |
Work-in-progress formats | ||
---|---|---|
Building bonuses | Map format | |
Bonus Type Format | Random map template |
Outdated pages | ||
---|---|---|
Mod system proposal |