The community code mod known as Black Box has many modding features that modders can use. This page is for documenting how to use these additional features, and to explain in detail what they do.

Mod Information File Edit

These are the files used to determine important information about a mod, and control features being turned on or off for a mod. These files belong in the mods folder in the StarDrive directory. The following values are used by this file type:

ModName - character string, display name of mod

CustomMenuMusic - character string, change the music of the main menu

ModDescription - character string, description listed in the mod manager

DisableDefaultRaces - boolean, removed default races

PortraitPath - character string, the icon for this mod in the mod manager

ModImagePath_1920x1280 - character string, background overlay used on the main menu screen

Version - character string, added to the end of the mod name to specify the version

useAlternateTech - boolean, allows for non hard coded ship hull techs to indicate to the AI when it can build new hull types

useHullBonuses - boolean, allows hull bonuses to be used

useWeaponModifiers - boolean, allows weapon modifiers to be used

removeRemnantStory - boolean, prevents the remnant story from starting

useCombatRepair - boolean, ships will repair even in combat

clearVanillaTechs - boolean, no vanilla techs will be loaded into the game, so the only techs will be from the mod

customMilTraitTechs - boolean, ?

customRemnantElements - boolean, ?

enableECM - boolean, ?

useDestroyers - boolean, ?

useDrones - boolean, ?

expandedWeaponCats - boolean, ?

overrideSecretsTree - boolean, ?

usePlanetaryProjection - boolean, ?

useProportionalUpkeep - boolean, ?

ShipyardBonus - floating point number, ?

UpkeepBaseline - floating point number, ?

UpkeepFighter - floating point number, ?

UpkeepCorvette - floating point number, ?

UpkeepFrigate - floating point number, ?

UpkeepCruiser - floating point number, ?

UpkeepCarrier - floating point number, ?

UpkeepCapital - floating point number, ?

UpkeepFreighter - floating point number, ?

UpkeepPlatform - floating point number, ?

UpkeepStation - floating point number, ?

UpkeepDrone - floating point number, ?

RemnantTechCount - integer number, ?

Ship Role File Edit

Ship role files are used to define values for a particular ship role. Each file defines only one role, and belong in a folder named "ShipRoles" that can be added to a mods folder. Note that there is a "ShipRoles" folder in the Content folder too as an example. If a mod does not have a "ShipRoles" folder the game will use the files found in Content/ShipRoles. The following values are used in these files.

Name - character string, the name of the role used in xml files

Localization - integer number, the display name from the localization file

Upkeep - floating point number, the amount of maintenance this role costs per turn

KillExp - floating point number, the amount of experience gained from destroying this role

KillExpPerLevel - floating point number, extra experience gained from destroying this role based on the level of the destroyed ship. Example if the value is 2.0, then destroying a level 1 ship will yield an extra 2 experience, or level 3 would yield 6 extra, but level 0 never yields extra.

ExpPerLevel - floating point number, experience required to level up based on level. Example if the value is 5.0 then it will require 5 experience to level to level 1, 10 to level from 1 to 2, and 15 to level from 2 to 3.

DamageRelations - floating point number, when a ship is destroyed this is the amount that relations are damaged between the two empires.

Protected - boolean, this role does not show up in ship design screen or colony screen.

RaceList - List of Race entries

Race entry Edit

The following are elements of a Race entry:

ShipType - character string, specifies the race for this entry

Localization - integer number, the display name from the localization file

Upkeep - floating point number, race specific value

KillExp - floating point number, race specific value

KillExpPerLevel - floating point number, race specific value

ExpPerLevel - floating point number, race specific value

Ship Names File Edit

The Ship Names file is a single file that lists possible names for ships. The name of the file is "ShipNames" and must be in a folder named "ShipNames" inside the mods folder. If this file exists in a mod, then it will automatically be used to name ships when built. The following are values used by this file type:

EmpireEntries - List of EmpireEntry entries

EmpireEntry Edit

ShipType - character string, determines the empire

NamesByRoles - List of RoleNames entries

RoleNames Edit

Role - character string, role that uses these names

Names - List of string entries

Notes on data types Edit

For anyone confused about some of the data descriptions here is a quick break down.

Boolean - True or False

Character String - Words

Integer - Whole number

Floating Point - Number with decimal point

List - Collection of entries. Example in xml format: