Skip to content

Mod structure

For DEETS++, you’d generally want to the structure of your mod in the filesystem to look something like this:

  • Directoryres://
    • Directory_mods/
      • Directoryauthor.mod_id/
        • DirectoryAudio/
        • DirectorySprites/
        • icon.png
        • metadata.json <– (mandatory)
        • ModId.cs <– (mandatory)
    • Directoryaddons/
    • DirectoryAudio/
    • DirectoryFonts/

The metadata file of your mod should look something like this:

{
/* The ID of the mod. You can put anything in here,
but we recommend using "author.mod_id" as a general rule of thumb. */
"id": "jequine.my_haysome_mod",
// The version of the mod.
"version": "0.0.1",
// The name of the mod.
"name": "My Haysome Mod",
/* Description of the mod. Try to keep it short and
straight to the point. */
"desc": "Please play my mod it adds twice as many horses, i am Jacob equine",
/* The author of the mod. You can put multiple authors
in here since it's an array. */
"author": ["Jacob Equine"], // ["author1", "author2", ...] if multiple
/* The entrypoint class. This class extends
the DEETS.Modding.Mod class, which in and of itself
extends Godot's Node class. Keep in mind that this class
should be in the namespace "DEETS.Mods".*/
"class": "JohnEquine.MyHaysomeMod",
// IDs of other mods that your mod needs to function.
"dependencies": {} // not mandatory
}

As for the icon itself, make sure to name it as icon.png. To make it look as good as possible, also make sure to keep the icon itself square. It can technically be any size you want, but we’d advise against making it anything else than a square, or too big.

But above all, make sure that whenver you type in the mod ID anywhere that it’s CONSISTENT. It is very important it’s the same in the metadata, in the folder’s name, and everywhere else, otherwise, the game will not know where to look for when it tries to do something with the mod.