Modding:Mod Types

From Vintage Story Wiki
This page contains changes which are not marked for translation.
Other languages:

This page was last verified for Vintage Story version 1.15.

So you wanna modify Vintage Story. First, you need to decide on what type of mod you want to make. There are three types of mods in Vintage Story. There are theme packs, content, and code.

Mod Types

Theme Packs

Theme pack mods only add png files also known as textures and sound files. They can change the look of blocks, items, and even entities. What they can't do is add new stuff to the game. Theme packs also can't change the shapes of blocks and creatures since that would involve editing json files.

Content Mods

Content mods, in addition to everything theme packs can do, can also add and edit json files to the game. This gives content mods the power to add new blocks, items, recipes, and much more. What limits them is adding new behaviors and mechanics to Vintage Story. So while content mods can add squirrels, for example, they can't do something unique to them such as randomly spawn in oak trees.

Code Mods

Code mods don't have any limits. They can do anything but are a much higher learning curve requiring knowledge of C# coding and the game API.

Additional Notes


Hitting Ctrl M in game will allow you to set macros. Macros will allow you to do a set of commands with a button press. Setting a macro for `.reload textures` and `.reload shapes` can save you time when working with content and theme pack editing by not having to restart the game each time you make a change. I also use macros for changing game modes to make it quicker.

Before making a mod you should get very familiar with the files setup for Vintage Story because that is how the game will expect you to have your files setup. This leads us to assets.

Green Items require C# coding

Getting Started | Mod Types | Simple Examples | Theme Pack

Asset System | Textures | Items | Recipes | Blocks | Entities | Model Creator | Animation Basics | VTML & Icons | Mod Packaging & Release | Modinfo | Debugging


JSON Patching | Advanced JSON Items | The Remapper | Server-Client Considerations | Compatibility with other mods

Setting Up Your Development Environment (General - Windows - Linux)

Advanced Blocks | Advanced Items | Item-Block Interactions | Block Behavior | Block Entities | Particle Effects | World Access | Inventory Handling | Chat Commands | GUIs | Server-Client Networking | Monkey patching (Harmony)

Data Management

Savegame Data Storage | ModConfig File | Chunk Data Storage | Tree Attribute


WorldGen Concepts | Terrain | Ores | Trees | WorldGen API


Shaders and Renderers

Property Overview

Item | Entity | Block | Block Behaviors | Block Classes | Block Entities | Block Entity Behaviors

Workflows & Infrastructure

Modding Efficiency Tips | Mod-engine compatibility | Mod Extensibility | Load Order

Additional Resources

List of server commands | List of client commands | Client startup parameters | Creative Starter Guide | ServerBlockTicking | Bot System | WorldEdit | Cinematic Camera

Example Mods | API Docs | GitHub Repository