Mods are packages of files that change The Last Starship in some way. These packages match the main.dat file structure to overload specific files. Mods can change game textures, default ships, and adjust system interactions.

Using mods edit

To install a mod, unzip the mod package into the game directory (C:\Program Files (x86)\Steam\steamapps\common\The Last Starship for Steam). If done correctly, you should end up with a data directory containing the mod files.

Creating mods edit

Texture packs edit

The texture files for the game are still changing regularly. Any texture pack mods may need to be updated with each game release.

To create new textures for the game, it is recommended to create new sprite sheets and only override spritebank.txt. This should allow multiple texture packs to co-exist once stronger mod tooling has been developed.

Sprites define their textures as below:

BEGIN Sprite     
    Name                 Engine  
    Image                sprite-bank.png  
    BEGIN Frames     
        Size                 2  
        BEGIN "[i 0]"      X 2160  Y 300  Width 840  Height 480  ExtendLeft 123  ExtendRight 1  ExtendUp 250  END
        BEGIN "[i 1]"      X 4140  Y 60  Width 840  Height 480  ExtendLeft 135  ExtendRight 1  ExtendUp 2  END
    END
    BEGIN Markers    
        Size                 13  
        BEGIN "[i 0]"      Name Activation  X 2544  Y 239  Width 198  Height 40  END
        BEGIN "[i 1]"      Name FuelBuffer  X 2544  Y 318  Width 201  Height 36  END
        BEGIN "[i 2]"      Name Terminal1  X 2963  Y 448  Width 30  Height 92  END
        BEGIN "[i 3]"      Name Terminal2  X 2969  Y 326  Width 19  Height 98  END
        BEGIN "[i 4]"      Name GlowOn1  X 2177  Y 575  Width 186  Height 164  END
        BEGIN "[i 5]"      Name GlowThrust3  X 2097  Y 132  Width 146  Height 356  END
        BEGIN "[i 6]"      Name GlowThrust1  X 2046  Y 467  Width 90  Height 145  END
        BEGIN "[i 7]"      Name GlowThrust2  X 2069  Y 612  Width 69  Height 70  END
        BEGIN "[i 8]"      Name GlowOn3  X 2524  Y 368  Width 244  Height 275  END
        BEGIN "[i 9]"      Name GlowOn4  X 2627  Y 156  Width 64  Height 64  END
        BEGIN "[i 10]"     Name GlowOn5  X 2876  Y 312  Width 34  Height 220  END
        BEGIN "[i 11]"     Name GlowThrust1  X 4083  Y 119  Width 141  Height 360  END
        BEGIN "[i 12]"     Name GlowOn1  X 4519  Y 162  Width 229  Height 293  END
    END
    BEGIN State      Frames [0]  END
    BEGIN State      Name Exterior  Frames [1]  END
END

The Name field of the sprite must match the name of the item used in the game. The Image field must be an image inside the sprites data folder. Frames define textures for different rotations and state the item may appear, while Markers define effects on the item.

Translations edit

An existing fan translation project needs support. Please consider contributing to it instead of creating your own.

To add a new language, create a new directory in data\language with the name of the language (e.g.: latin). The name of the folder will be used for the selection menu in the game. Inside this folder, create the file language.txt to contain all of the strings for the language.

New recipes edit

The recipe files for the game are still changing regularly. Any mods may need to be updated with each game release.

To create new recipe for the game, it is recommended to create new data folder and only override recipes.txt. This should allow multiple mods to co-exist once stronger mod tooling has been developed.

Recipes define their input and outputs as below:

BEGIN Recipe
    Type                ShieldedZeleonCanister
    Equipment           ChemicalLab
    Duration            2.0
    NeedsUnlocking      true
    BEGIN Item      Type PortInput  Index 1  Resource StableZeleon  Quantity 15.0  Capacity 60.0  END
    BEGIN Item      Type SlotInput  Resource ShieldedCanisterComponent  Quantity 2.0  Capacity 12.0  END
    BEGIN Item      Type SlotOutput Index 1  Resource ShieldedZeleonCanister  Quantity 2.0 Capacity 8.0  END
END

The Type field must match an existing item in the game. and will be used to put that name and sprite as header in the list of recipes.

The Equipment field specifies the type of equipment used to preform the recipe. so far the Refinery, ChemicalLab, MunitionsFactory, Fabricator, Assembler, LaserInfuser have been tested as valid entries.

The Duration field specifies the processing time of the recipe in seconds.

The NeedsUnlocking field is optional. If set to true then the recipe has to be added to a technology in techtree.txt before it can be researched and then useed.

Each ingredient or product has to be specified by the following format: BEGIN Item Type [Port/Slot][Input/Output] Index [Index number of the spot the item is loaded or pipe is connected] Resource [Resource name] Quantity [The amount required] Capacity [How much can be loaded at once] END . The amount and type of ingredients/products allowed depend on the Equipment used.