Modding:Getting Started/en: Difference between revisions

From Vintage Story Wiki
(Updating to match new version of source page)
 
(Updating to match new version of source page)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>{{GameVersion|1.15}}
<languages/>{{GameVersion|1.19.6}}


Vintage story has an extensive modding system built into the game, allowing any user to make their own changes and additions as they see fit.
Vintage story has an extensive modding system built into the game, allowing any user to make their own changes and additions as they see fit.
For an overview of the game's modding system and philosophy, refer to the [https://www.vintagestory.at/features/modding.html/ Modding] page on the Vintage Story website.


Before you get started, it's important to understand what you would like to accomplish so you can know what to expect.  
Before you get started, it's important to understand what you would like to accomplish so you can know what to expect.  


__TOC__
__TOC__
== Searching the wiki ==
By default the wiki's search feature excludes the modding pages. To update your search preferences, click the "Search Modding" button below. The results page will show that the (Main), BlockJson, and Modding namespaces are checked. Check "Remember selection for future searches", then click search to save the changes.
{{#tag:inputbox|
type=search
namespaces=Main**,Modding**,BlockJson**
break=no
width=40
searchbuttonlabel=Search Modding
}}


== What Mods can I make? ==
== What Mods can I make? ==


The current modding system for Vintage Story is incredibly flexible and quite easy to use even if you don't know how to program. You can add fully functional '''blocks''', '''items''' and even '''entities''' into the game without ever opening an [https://en.wikipedia.org/wiki/Integrated_development_environment IDE]. Although it is recommended you learn how to use one if you plan on modding a lot in the future, as they are very convenient.  
The current modding system for Vintage Story is incredibly flexible and quite easy to use even if you don't know how to program. You can add fully functional '''blocks''', '''items''' and even '''entities''' into the game without ever opening an [https://en.wikipedia.org/wiki/Integrated_development_environment IDE]. More complex changes and systems can be made using C# programming.


This is because nearly every feature of the game relies on the usage of '''JSONs''', which are text documents that utilize a flexible, easy to read format. You can open these files with any text editor, and with just a little bit of practice you can learn how to format them to avoid errors. The best way to learn this is to study the existing JSONs that are visible to anybody who has the game installed. To do so you'll need to locate the Vintage Story Assets folder, which you can learn about at the '''[[Modding:The Asset System | Asset System]]''' page.
This is because nearly every feature of the game relies on the usage of '''JSONs''', which are text documents that utilize a flexible, easy to read format. You can open these files with any text editor, and with just a little bit of practice you can learn how to format them to avoid errors. The best way to learn this is to study the existing JSONs that are visible to anybody who has the game installed. To do so you'll need to locate the Vintage Story Assets folder, which you can learn about at the '''[[Modding:Asset System |Asset System]]''' page. <br>In addition, here is a [https://www.youtube.com/watch?v=iiADhChRriM 12 minute video] that will teach you why json is used, and the basic syntax, making it easier to understand the rest of the documentation.


If you're looking to add more complex systems to Vintage story you can accomplish this as well, but you likely won't be able to do this with JSONs alone. Vintage Story is written in C#, and it is highly suggested you learn the basics of programming and of C# in general before moving onto more complex mods that can't be accomplished with just JSONs.
If you're looking to add more complex systems to Vintage story you can accomplish this as well, but you likely won't be able to do this with JSONs alone. Vintage Story is written in C#, and it is highly suggested you learn the basics of programming and of C# in general before moving onto more complex mods that can't be accomplished with just JSONs.
Line 21: Line 30:
In general there are 3 main types of mods one can create for Vintage Story, with each having different levels of complexity:
In general there are 3 main types of mods one can create for Vintage Story, with each having different levels of complexity:


* [[Modding:Theme Packs | Theme Packs]]: These are mods that only affect visuals and don't add more content or change features significantly.
* [[Modding:Theme Pack | Theme Packs]]: These are mods that only affect visuals and don't add more content or change features significantly.
* [[Modding:Content Mods | Content Mods]]: These are mods that add additional content (i.e. blocks, items, mobs) to the game but don't utilize C# code and are mostly limited to JSONs.
* [[Modding:Content Mods | Content Mods]]: These are mods that add additional content (i.e. blocks, items, mobs) to the game but don't utilize C# code and are mostly limited to JSONs.
* [[Modding:Code Mods | Code Mods]]: These are mods that add more complex features and systems that require the use of C# code to accomplish.
* [[Modding:Code Mods | Code Mods]]: These are mods that add more complex features and systems that require the use of C# code to accomplish.
Line 27: Line 36:
== Moving Forward ==
== Moving Forward ==


If you're just starting out it is certainly best to begin with a content mod, as most code mods simply extend the features of blocks, items and entities made from a content mod anyway. Once you've mastered content mods you can move onto coding if you want to add some really special things to your Vintage Story experience.
If you're just starting out, it's best to begin with a content mod, as most code mods simply extend the features of blocks, items and entities made from a content mod anyway. Once you've mastered content mods you can move onto coding if you want to add some really special things to your Vintage Story experience.


More advanced programmers may be tempted to jump to code mods immediately, but it is still highly suggested you familiarize yourself with content mods first since you'll almost certainly be using them in tandem with any C# code you write.  
More advanced programmers may be tempted to jump to code mods immediately, but it is still highly suggested you familiarize yourself with content mods first since you'll almost certainly be using them in tandem with any C# code you write.  


The first thing you can do while starting your first content mod is to familiarize yourself with the '''[[Modding:The Asset System | Asset System]]'''. This is where most of the magic in Vintage Story is accomplished, and you'll be using these resources constantly while modding.  
The first thing to do while starting your first mod is to familiarize yourself with the '''[[Modding:Asset System |Asset System]]'''. This is where most of the magic in Vintage Story is accomplished, and you'll be using these resources constantly while modding.
 
To move on with a content mod, head over to the [[Modding:Content Mods|Content Mods]] page.
To start with a theme pack, head over to the [[Modding:Theme_Pack|Theme Pack]] page.


{{Navbox/modding|Vintage Story}}
{{Navbox/modding|Vintage Story}}
[[Category:Modding{{#translation:}}]]

Latest revision as of 12:44, 19 November 2024

This page was last verified for Vintage Story version 1.19.6.


Vintage story has an extensive modding system built into the game, allowing any user to make their own changes and additions as they see fit.

Before you get started, it's important to understand what you would like to accomplish so you can know what to expect.

Searching the wiki

By default the wiki's search feature excludes the modding pages. To update your search preferences, click the "Search Modding" button below. The results page will show that the (Main), BlockJson, and Modding namespaces are checked. Check "Remember selection for future searches", then click search to save the changes.

What Mods can I make?

The current modding system for Vintage Story is incredibly flexible and quite easy to use even if you don't know how to program. You can add fully functional blocks, items and even entities into the game without ever opening an IDE. More complex changes and systems can be made using C# programming.

This is because nearly every feature of the game relies on the usage of JSONs, which are text documents that utilize a flexible, easy to read format. You can open these files with any text editor, and with just a little bit of practice you can learn how to format them to avoid errors. The best way to learn this is to study the existing JSONs that are visible to anybody who has the game installed. To do so you'll need to locate the Vintage Story Assets folder, which you can learn about at the Asset System page.
In addition, here is a 12 minute video that will teach you why json is used, and the basic syntax, making it easier to understand the rest of the documentation.

If you're looking to add more complex systems to Vintage story you can accomplish this as well, but you likely won't be able to do this with JSONs alone. Vintage Story is written in C#, and it is highly suggested you learn the basics of programming and of C# in general before moving onto more complex mods that can't be accomplished with just JSONs.

Types of Mods

In general there are 3 main types of mods one can create for Vintage Story, with each having different levels of complexity:

  • Theme Packs: These are mods that only affect visuals and don't add more content or change features significantly.
  • Content Mods: These are mods that add additional content (i.e. blocks, items, mobs) to the game but don't utilize C# code and are mostly limited to JSONs.
  • Code Mods: These are mods that add more complex features and systems that require the use of C# code to accomplish.

Moving Forward

If you're just starting out, it's best to begin with a content mod, as most code mods simply extend the features of blocks, items and entities made from a content mod anyway. Once you've mastered content mods you can move onto coding if you want to add some really special things to your Vintage Story experience.

More advanced programmers may be tempted to jump to code mods immediately, but it is still highly suggested you familiarize yourself with content mods first since you'll almost certainly be using them in tandem with any C# code you write.

The first thing to do while starting your first mod is to familiarize yourself with the Asset System. This is where most of the magic in Vintage Story is accomplished, and you'll be using these resources constantly while modding.

To move on with a content mod, head over to the Content Mods page. To start with a theme pack, head over to the Theme Pack page.

Icon Sign.png

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 ItemEntityEntity BehaviorsBlockBlock BehaviorsBlock ClassesBlock EntitiesBlock Entity BehaviorsCollectible BehaviorsWorld properties
Workflows & Infrastructure Modding Efficiency TipsMod-engine compatibilityMod ExtensibilityVS Engine
Additional Resources Community Resources Modding API Updates Programming Languages List of server commandsList of client commandsClient startup parametersServer startup parameters
Example ModsAPI DocsGitHub Repository