Modding:SurfaceBiome (JSONObject)

From Starbounder - Starbound Wiki
Jump to: navigation, search

Quick Navigation


Surface Biomes define the parameters that make up the surface layer of planets. They are defined as the root object in files with the extension .surfacebiome in the assets\biomes\surface and assets\biomes\surface_detached folders of the Asset Tree.

Key Value Pairs

Key Value Type Value Subtype Description Valid Values
name String id for referencing the biome in other data files
barren Boolean
caveLiquidType String Liquid (JSONObject) id for cave liquids. If omitted, caves will have no liquids.
oceanLiquidType String Liquid (JSONObject) id for ocean liquids. If omitted, oceans will have no liquids.
hueShiftOptions Array Number
skyOptions Array skyOptions (Sky Options Object) Defines possible sky colors and lighting
surfaceParameters Object surfaceParameters (Surface Parameters Object) Defines parameters for surface properties
subSurfaceParameters Object subSurfaceParameters (Subsurface Paramaters Object) Defines parameters for area between the surface and the first underground layer
allowedDetachedBiomes Array String Surface Biome Object ids of enabled detached biomes

skyOptions

Sky Options defines the sky color and the ambient light. They are defined in an array, and any number can be added. During planet generation, one is randomly selected and used for the planet.

Key Value Pairs

Key Value Type Value Subtype Description Valid Values
mainColor Array Number RGB Value for the primary sky color
morningColors Array Array of Numbers Two RGB Values that define the range of morning colors
dayColors Array Array of Numbers Two RGB Values that define the range of day colors
eveningColors Array Array of Numbers Two RGB Values that define the range of evening colors
nightColors Array Array of Numbers Two RGB Values that define the range of night colors
morningLightColor Array Number RGB Value for the ambient light during morning
dayLightColor Array Number RGB Value for the ambient light during day
eveningLightColor Array Number RGB Value for the ambient light during evening
nightLightColor Array Number RGB Value for the ambient light during night

Example

 {
   "mainColor" : [255, 255, 255],
   "morningColors" : [ [167, 255, 152], [163, 255, 208] ],
   "dayColors" : [ [152, 228, 169], [205, 243, 193] ],
   "eveningColors" : [ [186, 221, 235], [73, 247, 121] ],
   "nightColors" : [ [0, 40, 60], [0, 10, 20] ],
   "morningLightColor" : [156, 195, 149],
   "dayLightColor" : [184, 197, 182],
   "eveningLightColor" : [126, 166, 138],
   "nightLightColor" : [24, 28, 24]
 }

surfaceParameters

Key Value Pairs

Key Value Type Value Subtype Description Valid Values
mainBlock String Material Object name for the tile that makes up a majority of the terrain
subBlocks Array String Material Object names for secondary tiles
ores String Distribution Function id for distributing ore throughout the terrain
parallax String Parallax Object id for sky background parallax
undergroundParallax String Underground Parallax Object id for surface layer underground background parallax
weather Array Weather Options Object Array of Weather Options Objects that can occur
statusParameters Object Surface Status Parameters Object Contains biome gameplay parameters (e.g. temperature)
ambientNoises Object Audio Tracks Object Ambient noise tracks for the different times of day on the surface
undergroundAmbientNoises Object Audio Tracks Object Ambient noise tracks for the different times of day while underground in the surface layer
musicTrack Object Audio Tracks Object Background music for the different times of day while on the surface
undergroundMusicTrack Object Audio Tracks Object Background music for the different times of day while underground in the surface layer
surfacePlaceables Object Biome Placables Object Defines the parameters for objects spawned in the biome
undergroundPlaceables Object Biome Placables Object Defines the parameters for objects spawned in the underground of the surface layer

subSurfaceParameters

Key Value Pairs

Key Value Type Value Subtype Description Valid Values
mainBlock String Material Object name for the tile that makes up a majority of the terrain
subBlocks Array String Material Object names for secondary tiles
ores String Distribution Function id for distributing ore throughout the terrain
statusParameters Object Surface Status Parameters Object Contains biome gameplay parameters (e.g. temperature)
undergroundPlaceables Object Biome Placables Object Defines the parameters for objects spawned in the underground of the surface layer