-
Notifications
You must be signed in to change notification settings - Fork 0
Mod Formatting
Mod formatting is very flexible when it comes to one turret mods.
There are a few things that are required thats directly inside your mod's folder:
- At least one folder of any name
- moddata.json
With optional items:
- general-overwrite.json
- icon.png
Any items, tiles, or art assets can be arranged however inside of your folder. moddata.json, however, will only be read when its one of the first items in the mod.
moddata.json is the most important part of your mod. It is a requirement for any mod to run, and you need the following values inside it: "displayname"
A string that gets displayed in mod viewer and browser
"creator"
The display name that indicates YOU.
"description"
The display description for your mod inside of the mod viewer(s).
"modver"
The version of your mod. Will give popup if the github repo's version is higher. Can also be used to debug mods (no more complaints from a person with outdated mods!)
"intendedgamever"
The version of the game the mod was made for. Will give popup if mod is outdated.
"identifier"
This is the most IMPORTANT of your moddata. It differentiates your mod from others. Make sure to make your identifier unique (like putting first couple letters of the creators name like Kap-test)
Putting the following symbols in your identifier may cause unwanted mod effects: : _ .
The image that your mod is displayed with. Not required, but heavily suggested. Preferrably squared, but any size fits
Lets say you wanted to edit pre-existing stuff without adding any new items, or just want to store all your overwriting in one place. general-overwrite is where you would do that. You will first put in the data type you are overwriting. Then you have your item's internal name. If your item lacks a identifier (e.g; 'compressor'), it will automatically gain your mod's identifier addressed in moddata.json You can overwrite things from other mods using their identifiers (e.g; 'starscape:star-mine'), or overwrite default values (e.g; 'def:furnace')
In this example, we are setting the default item charcoal's damage to 0
"bulletdata":{ "def:charcoal":{ "damage":0 } }
You can also add effects this way "bulletdata":{ "def:bronze":{ "burn":true } }
Recipes act the same way "recipedata":{ "def:iron":{ "def:furnace":"def:bronze" } } Learn more about recipedata formatting in this page