Mods: Difference between revisions

From The Colonists
Jump to navigation Jump to search
Line 78: Line 78:


=[[ModsUnityAssetBundles]]=
=[[ModsUnityAssetBundles]]=
Welcome to the mod-content-creator wiki!
Prefabs
Custom prefabs are currently supported for:
* Buildings
* Resources
* Animals
* Natural Resources
Prefabs need to have a prefix followed by their game ID. For example, building_200 or resource_201.
Buildings
Name Prefix
`building_`
e.g. building_200
Content
Buildings need child GameObjects with specific names to tell the game how to use the building prefab.
* `Main_L1` - active state for Level 1
* `Construction_L1` - construction state for Level 1
Boats
Name Prefix
`boat_`
e.g. boat_200
Content
Boats need child GameObjects with specific names to tell the game how to use the boat prefab.
* `Main` - active state
* `Construction` - construction state
* `ResourceHolder` - location for resource storage
* `UnitHolder` - location for the captainbot to stand
Resources
Name Prefix
`resource_`
e.g. resource_200
Animals
Name Prefix
`animal_`
e.g. animal_200


=[[ModsFileNamingConventions]]=
=[[ModsFileNamingConventions]]=

Revision as of 16:02, 2 December 2022

Mods are in development!
This section is a work in progress!

Setup

Creating a mod

  1. If it doesn't already exist, create a Mods folder inside %userprofile%\appdata\LocalLow\Codebyfire Ltd\The Colonists\
  2. Create a folder for your mod inside the Mods folder, e.g. MyAmazingMod
  3. Everything then goes inside MyAmazingMod. You can use subfolders to organise content or keep it all in the main directory, the mod loader in the game will just look at the name of the file to determine what it is.

Steam Workshop Integration

  1. With a new mod placed in the folder %userprofile%\appdata\LocalLow\Codebyfire Ltd\The Colonists\Mods start The Colonists
    1. Selecting Mod Manager will show 3 tabs:
      1. Available Local and Steam Workshop subscribed mods - Enable active mods here
      2. Workshop Subscribed and unsubscribed Mods on the Steam Workshop - Subscribe/Unsubscribe to Mods here
      3. My Mods Published and unpublished Mods in your local folder - Publish/Unpublish and change Mod Workshop visibility here
  2. There should now be 2 files within the %userprofile%\appdata\LocalLow\Codebyfire Ltd\The Colonists\Mods folder of your mods
    1. meta.json - enter the Mod Title and Description for Steam Workshop in this file
    2. thumbnail.jpg - the image file for the mod on Steam Workshop (a default will be provided if omitted). File size recommended = 200x200 pixels
  3. When a Mod is published the file PublishedFileId.txt containing the Mod ID will be created
  4. Subscribed mods will be in the folder ``C:\Program Files (x86)\Steam\steamapps\workshop\content\677340\0123456789`` `where 0123456789` is the Mod ID

Enabling a mod and in-game reloading

  1. Enable mods per above via Steam Workshop Integration
  2. Create a sandbox game and the game will process all other content in your mod, i.e. json files, images etc.
  3. You can update your mod and reload the codex mid-game using the button in the top left info panel.
   Some things may go wrong when reloading the codex mid-game, depending on the changes you make! For example, removing a building or resource may not go down well.

Codex

Base Codex File

Generate default files using the Export Base Codex button in the Mod Manager window.

Codex Objects

Scripting (C#)

Text/Localisation

Building and Structure footprint rendering

The render.json file can be used to change the building, structure, and track footprint shown when they are placed.
The file floor_buildings.png contains the graphics for the current buildings, structures, and tracks.

The file floor_base.png can be used to modify buildings, plots, and tracks with ID under 200 (existing)
The file floor_extra.png can be used to modify buildings, plots, and tracks with ID over 200 (new)

These files are size: 2048 x 2048 pixels
Building footprints are a 64 x 64 tiled grid with 0,0 being in the bottom left.
Structure footprints are a 68 x 68 tiled grid with 0,0 being in the bottom left, with a 2 pixel "bleed" border.

AnimalField, PlantableField, and TreeField footprint can be controlled in render.json

Welcome to the mod-content-creator wiki!

Prefabs

Custom prefabs are currently supported for:

  • Buildings
  • Resources
  • Animals
  • Natural Resources

Prefabs need to have a prefix followed by their game ID. For example, building_200 or resource_201.

Buildings

Name Prefix `building_` e.g. building_200

Content Buildings need child GameObjects with specific names to tell the game how to use the building prefab.

  • `Main_L1` - active state for Level 1
  • `Construction_L1` - construction state for Level 1

Boats

Name Prefix `boat_` e.g. boat_200

Content Boats need child GameObjects with specific names to tell the game how to use the boat prefab.

  • `Main` - active state
  • `Construction` - construction state
  • `ResourceHolder` - location for resource storage
  • `UnitHolder` - location for the captainbot to stand

Resources

Name Prefix `resource_` e.g. resource_200

Animals

Name Prefix `animal_` e.g. animal_200

Example Mods

Custom Natural Resource

Custom Techs

Unity Project Example Assets

Example Assets Unity Project