Modding:Planetgen.config

From Starbounder - Starbound Wiki
Jump to: navigation, search

Planetgen.config defines parameters for the generation of surface of planets. It is contained in the root Data:Assets directory.

Key Value Pairs

Key Value Type Value Subtype Description Valid Values
blockCacheSize Number
planetGenCacheSize Number
dayLengthRange Array Number
gravityRange Array Number
biomeHorizontalNoise Object Noise
biomeVerticalNoise Object Noise
biomeNoise Object Noise
planetSizes Object Planet Sizes Map of planet sizes - declares generation properties specific to size
surfaceTerrain Object Surface Terrains Map of surface layer terrain options
undergroundTerrain Object Underground Terrains Map of underground layer terrain options
spaceTerrain Object Space Terrains Map of space layer terrain options
defaultSurfaceTerrain String Default Surface Terrain Option id to use for biomes that are not declared in surfaceBiomeTerrains
surfaceBiomeTerrains Object Surface Biome Terrains Map of Surface Biome Objects and their allowed Surface Terrain Options
undergroundLayers Array Underground Layer Array of underground layer biome generations in order of depth
coreBiomes Array String Array of enabled Core Biome Object ids
coreBiomeTerrain Array String Array of enabled Cave Terrain ids
spaceBiomes Array String Array of enabled Space Biome Object ids
spaceBiomeTerrain Array String Array of enabled Space Terrain Option Object ids
spawnDungeon Boolean Enables spawning of full-sized dungeons
spawnMonsters Boolean Enables spawning of monsters
spawnFlatSurfaceRadius Number
spawnNoDungeonReserve Array Number
spawnRegion Boolean
spawnDungeonNearSpawn Boolean
spawnDungeonNearSpawnMaxRadius Number
spawnDungeonSpawnMinRadius Number
dungeonWhitelist Array String Array of enabled Dungeon Object ids

Noise

Defines the parameters for a noise function.

Key Value Pairs

Key Value Type Value Subtype Description Valid Values
type String Noise algorithm to use "Perlin"
octaves Number Number of waves to add for Perlin noise
frequency Number Initial frequency of wave for Perlin noise, doubled for each octave
amplitude Number Initial amplitude of wave for Perlin noise, halved for each octave
alpha Number Perlin "Noisieness" - The closer this is to 1, the noisier the noise is
beta Number Controls wave offset of successive octaves for Perlin noise

planetSizes

Object containing the sizes of planets. New Planet Size Objects can be added to create new sizes of planets. This Key Value pairs in this object take the form of: "size_id": <Planet Size Object>. For this reason, there is no fixed set of valid key value pairs, there can be any number of planet sizes.

Example

 "planetSizes" : {
   "SizeA" : {
     ... <Planet Size Object> ...
   },
   "SizeB" : {
     ... <Planet Size Object> ...
   },
   "SizeC" : {
     ... <Planet Size Object> ...
   }
 }

surfaceTerrains

Object containing the terrain generation parameters for surface terrain. New Surface Terrain Option Objects can be added to create new surface terrains. This Key Value pairs in this object take the form of: "terrain_id": <Surface Terrain Option Object>. For this reason, there is no fixed set of valid key value pairs, there can be any number of surface terrains.

Example

 "surfaceTerrain" : {
   "TerrainA" : {
     ... <Surface Terrain Option Object> ...
   },
   "TerrainB" : {
     ... <Surface Terrain Option Object> ...
   },
   "TerrainC" : {
     ... <Surface Terrain Option Object> ...
   }
 }

undergroundTerrains

Object containing the terrain generation parameters for underground terrain. New Underground Terrain Option Objects can be added to create new underground terrains. This Key Value pairs in this object take the form of: "terrain_id": <Underground Terrain Option Object>. For this reason, there is no fixed set of valid key value pairs, there can be any number of underground terrains.

Example

 "undergroundTerrain" : {
   "TerrainA" : {
     ... <Underground Terrain Option Object> ...
   },
   "TerrainB" : {
     ... <Underground Terrain Option Object> ...
   },
   "TerrainC" : {
     ... <Underground Terrain Option Object> ...
   }
 }

spaceTerrains

Object containing the terrain generation parameters for space terrain. New Space Terrain Option Objects can be added to create new space terrains. This Key Value pairs in this object take the form of: "terrain_id": <Space Terrain Option Object>. For this reason, there is no fixed set of valid key value pairs, there can be any number of space terrains.

Example

 "spaceTerrain" : {
   "TerrainA" : {
     ... <Space Terrain Option Object> ...
   },
   "TerrainB" : {
     ... <Space Terrain Option Object> ...
   },
   "TerrainC" : {
     ... <Space Terrain Option Object> ...
   }
 }

surfaceBiomeTerrains

Map containing the terrain options for specific biomes.

The keys in the map are Surface Biome Object ids. The values in the map are Surface Terrain Option ids defined in surfaceTerrains.

Any Surface Biome Object id not declared as a key in the map uses the terrain id defined by defaultSurfaceTerrain.

Example

 "spaceTerrain" : {
   "<Surface Biome Object A id>" : [
     "<Surface Terrain Option A id>",
     "<Surface Terrain Option B id>",
     ...
   ],
   "<Surface Biome Object A id>" : [
     "<Surface Terrain Option A id>",
     "<Surface Terrain Option B id>",
     ...
   ],
   "<Surface Biome Object A id>" : [
     "<Surface Terrain Option A id>",
     "<Surface Terrain Option B id>",
     ...
   ],
   ...
 }

undergroundLayer

Underground Layer Objects define the available biomes, detached biomes, and terrain for generating the underground layers of a planet. These are applied globally to all surface biomes as part of the undergroundLayers key.

Key Value Type Value Subtype Description Valid Values
biomes Array String Array of enabled Underground Biome Object ids to be used as primary biomes
detachedBiomes Array String Array of enabled Underground Biome Object ids to be used as mini-biomes
terrain Array String Array of enabled Underground Terrain Option Object ids