Modding:Mod Packaging
This page was last verified for Vintage Story version 1.19.
If your mod changes only visuals, sounds, and other "theming" assets, refer also to the Theme Pack page.
Zip Files
To make your mod easy to install and use, it should be packed into a zip file. Any assets (images, .json files, etc) go in a "assets" directory in the root of the zip, any source files into the "src" folder and any DLLs (and optionally, PDB files) go directly into the zip file root folder.
Please note that if you have a code mod that has no assets (AKA, your mod is a single C# DLL), it is possible to ship the bare DLL without packing it into a zip. This is not really a good idea though, as when distributed this way it is hard to include a PDB file and downloading DLLs directly in Windows can lead to issues with your mod failing to load due to security policies applied to files downloaded from the internet.
Zip File Structure |
---|
.zip |
assets |
domain |
asset files (tree overview) |
modinfo.json |
modicon.png |
compiled sources files (*.dll and *.pdb) |
src |
source code files - folders allowed (*.cs) |
Info file
Every zip-file mod requires a modinfo.json
inside the root directory of the archive. Otherwise the entire mod will be ignored. This info file specifies what kind of mod it is, its name, author, etc.
An example of a theme pack info file (modinfo.json
):
{
"type": "content",
"modid": "creativemdexamplemod",
"name": "My Example Content Mod",
"description" : "This is an example mod, which does nothing",
"authors": ["CreativeMD"],
"version": "1.0",
"dependencies": {
"game": "",
"survival": ""
},
"website": "http://example.com"
}
"type": "content",
Besides "type": "content"
, there is also "type": "theme"
and "type": "code"
.
"type": "content"
: Defines this mod as being a Content Mod. Content Mods cannot contain any C# code (if it does they will be ignored)."type": "theme"
: Defines this mod as being a Theme Pack. Theme Packs cannot override gameplay affecting assets categories (such as blocktypes, itemtypes and so on) and no C# code will be loaded."type": "code"
: Defines this mod as being a Code Mod. Code Mods are the same as a Content Mods, except they can also load C# code to do things that are not possible with JSON.
"dependencies": {
"game": "1.5.3"
},
Means it requires at least VintageStory v1.5.3 or a newer version. For more info see Modinfo.
Icon
Note: Mod icons supported starting from 1.16.
The file modicon.png
(if it exists) will be used and shown in the mod manager menu.
Distribution and Installation
To install a mod simply, you can either place the zip file in the Mods
directory in your VintagestoryData folder, or the Mods
folder in your Vintage Story install folder.
You can upload your mod to the Vintage Story Mod Database so people can find it.
Content Modding | |||||||||
---|---|---|---|---|---|---|---|---|---|
Basics | Content Mods • Developing a Content Mod • Packaging & Release | ||||||||
Tutorials |
|
||||||||
Concepts | Modding Concepts • Modinfo • Variants • Domains • Patching • Remapping • World Properties | ||||||||
Moddable Assets |
|
||||||||
Uncategorized |
|
Wondering where some links have gone?
The modding navbox is going through some changes! Check out Navigation Box Updates for more info and help finding specific pages.
Modding | |
---|---|
Modding Introduction | Getting Started • Theme Pack |
Content Modding | Content Mods • Developing a Content Mod • Basic Tutorials • Intermediate Tutorials • Advanced Tutorials • Content Mod Concepts |
Code Modding | Code Mods • Setting up your Development Environment |
Property Overview | Item • Entity • Entity Behaviors • Block • Block Behaviors • Block Classes • Block Entities • Block Entity Behaviors • Collectible Behaviors • World properties |
Workflows & Infrastructure | Modding Efficiency Tips • Mod-engine compatibility • Mod Extensibility • VS Engine |
Additional Resources | Community Resources • Modding API Updates • Programming Languages • List of server commands • List of client commands • Client startup parameters • Server startup parameters Example Mods • API Docs • GitHub Repository |