Galatia Academy

Mod Setup

This guide assists you on creating your first mod and aims to help in understanding the mod structure.
Your average mod folder looks somewhat like this:

  • Starsector
    • Mods
      • YourMod
        • data (JSON & CSV Configuration Data)
        • graphics (Sprites)
        • sounds
        • jars (Where
        • src
        • mod_info.json (Basic data about your mod, i.e mod name)
        • modname.version (file giving version info to TriOS and Version Checker)

In reality, you will find many more folders and files, but those are the relevant ones that you will need the most. Most importantly there is mod_info.json. This file tells starsector multiple things:

  • The name and id of your mod.
  • What starsector version it supports
  • Where to find your code, and where your codes entry point is.
  • Which mods your mod requires to work.
{
  "id": "template_mod", # Mod ID, should be lowercase
  "name": "Template Mod", # Display Name
  "author": "author", 
  "utility": false, # Utility mods are mods that can be safely removed from saves.
  "version": "1.0.0",
  "description": "Template.",
  "gameVersion": "0.98a-RC8",
  "jars": [ "jars/TemplateMod.jar" ], # Where your code is
  "modPlugin": "author.modname.ModPlugin", #Where your codes entry point is
  "dependencies": [
    {
      "id": "lw_lazylib",
      "name": "LazyLib"
    },
    {
      "id": "MagicLib",
      "name": "MagicLib"
    },
	{
      "id": "lunalib",
      "name": "LunaLib"
    },
  ],
}

Mod Template

There can be a lot of complexity in the initial setup of starsector mods, due to requiring a correct workspace that allows the compiling of java code. For that purpose, people tend to use community made templates for setting up their mods. The most common one is this one made by wisp. This guide however uses a new template that should avoid some of the common pains of the old one.

Placeholder

Last updated 5/16/2026, 9:25:41 PM by Lukas04 · revision 12