Difference between revisions of "Planetinfo.plist"
(→Script_actions) |
Cholmondely (talk | contribs) (→Tech Level: Added note) |
||
(96 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | '''planetinfo.plist''' in 'AddOns/Config' contains a dictionary for each of systems for which you wish to set custom data. A list of all galaxies and planets can be found [[Oolite planet list|here]]. | + | '''planetinfo.[[plist]]''' in 'AddOns/Config' contains a dictionary for each of systems for which you wish to set custom data. A list of all galaxies and planets can be found [[Oolite planet list|here]]. Each of the properties mentioned below can be set (but, notably, not the location of the main planet, which is hard coded into the system seed value): |
− | =Universal | + | |
+ | |||
+ | [[File:BellScrib goatsoup1.JPG|thumb|right|Ian Bell worksheet for the goatsoup recipe from his vanished archives<br>See [[Oolite_planet_list#Where_do_these_crazy_names_come_from|Where do these crazy names come from?]] ]] | ||
+ | |||
+ | === Added for Oolite v.1.91 === | ||
+ | *air_density / or the Javascript planet entity airDensity - see below (pretty picture!) | ||
+ | |||
+ | === Added for Oolite v.1.89 === | ||
+ | This needs editing by somebody who understands it! Snatched from the Progress thread | ||
+ | *[https://bb.oolite.space/viewtopic.php?p=270737#p270737 air_color] now produces the right color for the sky. Not only that, it is now used as the atmosphere scatter color when the planet is viewed from space. Non-blue atmospheres are finally possible! | ||
+ | *[https://bb.oolite.space/viewtopic.php?p=270771#p270771 air_color_mix_ratio] | ||
+ | *[https://bb.oolite.space/viewtopic.php?p=271058#p271058 terminator_threshold_vector shipdata key] | ||
+ | *[https://bb.oolite.space/viewtopic.php?p=271058#p271058 JSPlanet terminatorThresholdVector property] | ||
+ | *[https://bb.oolite.space/viewtopic.php?p=269833#p269833 MULTIPLIER_LIGHTSRCRADIANCE and MULITPLIER_EXPOSURE]: Planet, ships and atmosphere shaders can now define lightsource radiance and scene exposure multipliers | ||
+ | *Also stuff about city lights | ||
+ | *And probably other stuff I missed! | ||
+ | |||
+ | =Where Settings Apply= | ||
+ | |||
+ | ==Universal Settings== | ||
Some options can be applied to the entire universe, such as ambient lighting levels, eg. | Some options can be applied to the entire universe, such as ambient lighting levels, eg. | ||
− | + | "universal" = | |
− | + | { | |
− | + | ... | |
− | + | } | |
− | Universal options can be | + | Universal options can be over-ridden by specifying the same option for a specific system or location in interstellar space. Obviously, not all options make sense to apply to the whole universe. |
+ | |||
+ | ==Interstellar Space== | ||
+ | |||
+ | Conditions for interstellar space in general can be set with the “interstellar space” key. | ||
+ | |||
+ | Note: [https://bb.oolite.space/viewtopic.php?f=2&t=17191 Procedure to find all interstellar spaces] (2015) | ||
− | = | + | ==Specific Systems== |
Each system is keyed by a string consisting of the galaxy number (0..7) followed by a space and then the planet number (0..255), eg. | Each system is keyed by a string consisting of the galaxy number (0..7) followed by a space and then the planet number (0..255), eg. | ||
− | + | "0 7" = | |
− | + | { | |
− | + | ... | |
− | + | } | |
specifies system 7, in galaxy 0, ''Lave''. | specifies system 7, in galaxy 0, ''Lave''. | ||
− | =Interstellar | + | ==Specific Interstellar Spaces== |
You can also specify a position in interstellar space, eg. | You can also specify a position in interstellar space, eg. | ||
− | + | "interstellar: 0 7 129" = | |
− | + | { | |
− | + | ... | |
− | + | } | |
specifies the space in galaxy 0 between systems 7 and 129, ''Lave'' and ''Zaonce''. | specifies the space in galaxy 0 between systems 7 and 129, ''Lave'' and ''Zaonce''. | ||
− | + | In 1.81 the property "link_color" when set on a specific interstellar space changes the colour of the link between the two systems in the advanced navigation array (assuming no route is in place above it). | |
− | + | Note that | |
+ | "interstellar: 0 7 129" = // jumping from Lave towards Zaonce | ||
+ | { | ||
+ | ... | ||
+ | } | ||
+ | and | ||
+ | "interstellar: 0 129 7" = // jumping from Zaonce towards Lave | ||
+ | { | ||
+ | ... | ||
+ | } | ||
+ | are distinct locations and if they both need the same properties this must be explicitly set for both. When setting link_color, the lower system ID must be placed first, because of how the chart is drawn. | ||
− | == | + | ==Layers== |
+ | Settings other than "universal" in Oolite 1.81 or later have a 'layer' property from 0 to 3. The default value for planetinfo.plist files is 1. If multiple OXPs specify a setting for a particular property, the order they will be checked in is: | ||
+ | * Layer 3 settings | ||
+ | * Layer 2 settings (default for Javascript changes to data) | ||
+ | * Layer 1 settings (default for planetinfo.plist) | ||
+ | * Universal settings | ||
+ | * Layer 0 settings (value for core game settings) | ||
− | + | This allows OXPs to safely override each other's changes if necessary, and for OXPs which really need a specific setting in a particular system to set it at layer 3 | |
− | + | Example | |
+ | "layer" = 2; | ||
− | + | ==Terraforming Example== | |
+ | |||
+ | For the planet Lave, you would use the key '0 7' (planet 7 in galaxy 0) Then you set the values. The following example sets Lave's sea to blue, land to green, and land to sea ratio to 75%. | ||
+ | |||
+ | Code: | ||
+ | { | ||
+ | "0 7" = | ||
+ | { | ||
+ | "percent_land" = "75"; | ||
+ | "land_color" = "0.5 1.0 0.5"; | ||
+ | "sea_color" = "0.3 0.7 1.0"; | ||
+ | } | ||
+ | } | ||
− | + | Then you can override any of the settings listed above, for example to change Zaatxe's (Galaxy 0 Planet 8) inhabitants into blue frogs you'd enter | |
+ | |||
+ | Code: | ||
+ | "0 8" = | ||
+ | { | ||
+ | "inhabitants" = "Blue Frogs"; | ||
+ | } | ||
− | + | ||
+ | You can use any or all of the keys in each of the entries. It's probably best to only use the key's you want to change. So, another example, to change the sky_blur_xxx settings for Zaonce (Galaxy 0 Planet 129) to big, heavily clustered, but pale blurs - you'd enter | ||
+ | |||
+ | Code: | ||
+ | "0 129" = | ||
+ | { | ||
+ | "sky_blur_cluster_chance" = "0.9"; | ||
+ | "sky_blur_alpha" = "0.1"; | ||
+ | "sky_blur_scale" = "32.0"; | ||
+ | } | ||
− | |||
− | |||
− | + | =About the Inhabitants= | |
− | |||
− | |||
− | |||
+ | ==Concealment== | ||
+ | {{oolite-prop-added|1.83}} | ||
− | + | An integer that determines how much information about the system is unknown. | |
− | + | Example: | |
+ | "concealment" = "300"; | ||
+ | The following values are recognised: | ||
+ | * 0: default, all information visible | ||
+ | * 100 or more: F7 screen shows no information, economy/government/TL/star colour not visible on chart | ||
+ | * 200 or more: system name is not shown | ||
+ | * 300 or more: system vanishes entirely from chart, will not be used in route plotting, cannot be targeted by player (NPCs can still jump to it, though) | ||
− | + | ==Government== | |
− | + | An integer between 0 and 7 indicating the government type of the system. | |
− | + | Example: | |
+ | "government" = "7"; | ||
− | 5: | + | Possible values: |
+ | : 0: Anarchy | ||
+ | : 1: Feudal | ||
+ | : 2: Multi-Governmental | ||
+ | : 3: Dictatorship | ||
+ | : 4: Communist | ||
+ | : 5: Confederacy | ||
+ | : 6: Democracy | ||
+ | : 7: Corporate State | ||
− | + | ==Economy== | |
+ | An integer between 0 and 7 indicating the economy type of the system. | ||
− | + | Example: | |
+ | "economy" = "5"; | ||
+ | Possible values: | ||
+ | : 0: Rich Industrial | ||
+ | : 1: Average Industrial | ||
+ | : 2: Poor Industrial | ||
+ | : 3: Mainly Industrial | ||
+ | : 4: Mainly Agricultural | ||
+ | : 5: Rich Agricultural | ||
+ | : 6: Average Agricultural | ||
+ | : 7: Poor Agricultural | ||
==Tech Level== | ==Tech Level== | ||
− | |||
+ | An integer between 0 and 14 indicating the sophistication of the planets technology. The tech level displayed on the system data screens in game is one higher than this number (range 1 to 15). | ||
Example: | Example: | ||
− | + | "techlevel" = "13"; | |
− | |||
+ | Note: [https://bb.oolite.space/viewtopic.php?p=113258#p113258 Episodic minor variations in TL (2010)] | ||
==Population== | ==Population== | ||
− | |||
+ | An integer between 0 and 67 indicating the number of inhabitants of a planet in hundreds of millions | ||
Example: | Example: | ||
− | + | "population" = "23"; | |
− | |||
+ | ==Productivity== | ||
− | |||
An integer indicating the productivity of a planet. | An integer indicating the productivity of a planet. | ||
+ | Example: | ||
+ | "productivity" = "1000"; | ||
+ | |||
+ | ==Name== | ||
+ | |||
+ | The name of the planet. | ||
Example: | Example: | ||
− | + | "name" = "The planet's name"; | |
− | + | ||
+ | ==Inhabitant== | ||
+ | The name for one of the inhabitants of the main planet. | ||
− | == | + | Example: |
− | + | "inhabitant" = "Green Platypus"; | |
+ | |||
+ | ==Inhabitants== | ||
+ | |||
+ | The name of the inhabitants of the main planet. | ||
+ | |||
+ | Example: | ||
+ | "inhabitants" = "Green Platypi"; | ||
+ | |||
+ | ==Description== | ||
+ | A short description of the planet. | ||
Example: | Example: | ||
− | + | "description" = "Really, anything you want to say about the place!"; | |
− | + | ||
+ | '''Note''': For more than 1 oxp describing a system see [https://bb.oolite.space/viewtopic.php?p=165471#p165471 here] (2012) - and elsewhere. Note that ''eg''. [[System Features Rings]] does this through Javascript. rather than a .plist. | ||
+ | |||
+ | ==Government Description== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | Overrides the default text used to describe the government. | ||
+ | Example: | ||
+ | "government_description" = "Dictatorship (Monarchy)"; | ||
− | == | + | ==Economy Description== |
− | + | {{oolite-prop-added|1.81}} | |
+ | Overrides the default text used to describe the economy. | ||
Example: | Example: | ||
− | + | "economy_description" = "Mainly Industrial (Machine Tools)"; | |
− | |||
− | |||
− | == | + | ==Population Description== |
− | + | {{oolite-prop-added|1.77}} | |
+ | Overrides the default text used to describe the population. | ||
Example: | Example: | ||
− | + | "population_description" = "13 Billion"; | |
− | + | ||
+ | ==Random Seed== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | A seed for a random number generator used in Oolite 1.81 to generate system properties impractical to store in this file (e.g. the positions of each star on the background starfield) | ||
+ | |||
+ | For historical reasons, this is a string of 6 integers between 0 and 255, for example: | ||
+ | random_seed = "74 90 72 2 83 183"; | ||
+ | |||
+ | =System population= | ||
+ | These properties are only used in Oolite 1.79 or later. | ||
+ | |||
+ | ==Populator== | ||
+ | |||
+ | The name of the worldscript function which will be used to [[Oolite_System_Populator|populate the system]] | ||
+ | Example: | ||
+ | "populator" = "systemWillPopulate"; | ||
− | == | + | ==Repopulator== |
− | |||
+ | The name of the worldscript function which will be used to [[Oolite_System_Populator|repopulate the system]] | ||
Example: | Example: | ||
− | + | "repopulator" = "systemWillRepopulate"; | |
− | + | ||
+ | =Properties of the Planet= | ||
+ | Most of these properties are ignored if a planet texture is set. | ||
− | + | Note that the available planet texture generator properties changed in places between Oolite 1.77 and Oolite 1.80 | |
− | + | ==Air Color== | |
+ | A colour specifier determining the color of the planet's sky, as well as the atmosphere scatter color. | ||
Example: | Example: | ||
− | + | "air_color" = "0.0..1.0 0.0..1.0 0.0..1.0"; | |
− | + | ||
+ | ==Air Color Mix Ratio== | ||
+ | {{oolite-prop-added|1.89}} | ||
+ | |||
+ | The amount of air color that be mixed in the overall atmosphere color. A number from 0.0 to 1.0 (default 0.5). | ||
+ | Example: | ||
+ | "air_color_mix_ratio" = "0.0..1.0"; | ||
− | ==Atmosphere | + | ==Atmosphere Rotational Velocity== |
Sets how fast the atmosphere is rotating. (A random value between 0.0 to 0.03 is the default). | Sets how fast the atmosphere is rotating. (A random value between 0.0 to 0.03 is the default). | ||
Example: | Example: | ||
− | + | "atmosphere_rotational_velocity" = "0.1"; | |
− | + | ||
+ | ==Cloud Alpha== | ||
+ | {{oolite-prop-added|1.77}} | ||
+ | |||
+ | The transparency level of the cloud layer, relative to the standard transparency. 1.0 is the default. Texture packs which include clouds on the planetary texture may wish to reduce this. | ||
+ | |||
+ | Example: | ||
+ | "cloud_alpha" = "0.2"; | ||
+ | |||
+ | ==Has Atmosphere== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | This boolean property is used for the main planet only. If it is unset or true, the main planet has an atmosphere, as is always the case in 1.80 and before. If it is set to be false, then the planet will not have an atmosphere. | ||
+ | |||
+ | Example: | ||
+ | "has_atmosphere" = 0; | ||
+ | This has no effect on secondary planets - their atmosphere is determined by whether addition uses <code>addPlanet</code> or <code>addMoon</code>. | ||
− | == | + | [[File:AtmDensityExample.png|thumb|320px|right|Atmosphere Density examples: Stranger's ''FPO Lave'' in four increasing atmosphere densities: 0.2, 0.5, 0.75 and 1.0. Every other parameter in the planet definition is the same in all pictures.]] |
+ | == Air Density == | ||
+ | {{oolite-prop-added|1.91}} | ||
+ | A number clamped in range from 0.0 to 1.0 describing the density of the planet's atmosphere. All planets in the core use 0.75 as default. | ||
Example: | Example: | ||
− | + | "air_density" = "0.0..1.0"; | |
− | |||
+ | ==Illumination Color== | ||
+ | {{oolite-prop-added|1.91}} | ||
+ | |||
+ | A colour specifier determining the colour of the planet's illumination such as cities light. Illumination is inserted as a grayscale map in the alpha channel of the planet's diffuse texture. You can specify this key even if no illumination map is defined, but it won't have any effect - without an illumination map the dark side of the planet remains dark in all cases. | ||
+ | |||
+ | Example: | ||
+ | "illumination_color" = "0.0..1.0 0.0..1.0 0.0..1.0"; | ||
+ | |||
+ | ==Land Color== | ||
+ | |||
+ | Example: | ||
+ | "land_color" = "0.0..1.0 0.0..1.0 0.0..1.0"; | ||
+ | |||
+ | ==Percent Cloud== | ||
+ | The percentage of the planet's atmosphere occupied by clouds. | ||
+ | |||
+ | Example: | ||
+ | "percent_cloud" = "0..100"; | ||
+ | |||
+ | Note that with a low cloud_alpha setting not all of the clouds defined here may actually be visible | ||
+ | |||
+ | ==Percent Ice== | ||
+ | The percentage of the planet occupied by the polar ice caps. Oolite 1.81 or later. | ||
+ | |||
+ | Example: | ||
+ | "percent_ice" = "0..100"; | ||
==Percent Land== | ==Percent Land== | ||
The percentage of the planet occupied by land. | The percentage of the planet occupied by land. | ||
+ | Example: | ||
+ | "percent_land" = "0..100"; | ||
+ | |||
+ | ==Planet Distance== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | The distance from the centre of the planet to the witchpoint. Only used for the system main planet - secondary planets are positioned separately. | ||
Example: | Example: | ||
− | + | "planet_distance" = "410000"; | |
− | |||
− | + | The main planet is always positioned on the z-axis. | |
+ | ==Planet Distance Multiplier== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | Multiplies the distance from the centre of the main planet to the witchpoint. | ||
+ | |||
+ | Example: | ||
+ | "planet_distance_multiplier" = "1.5"; | ||
+ | |||
+ | ==Planet Name== | ||
+ | {{oolite-prop-added|1.79}} | ||
+ | |||
+ | The planet's name. For the main planet, this defaults to being the same as the system name - the property is mainly intended for secondary planets. | ||
+ | |||
+ | Example | ||
+ | "planet_name" = "Earth"; | ||
+ | |||
+ | ==Polar Land Color== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | Sets the land colour in polar regions. | ||
+ | |||
+ | Example: | ||
+ | "land_color" = "0.0..1.0 0.0..1.0 0.0..1.0"; | ||
+ | |||
+ | |||
+ | ==Polar Sea Color== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | Sets the sea colour in polar regions. | ||
+ | |||
+ | Example: | ||
+ | "sea_color" = "0.0..1.0 0.0..1.0 0.0..1.0"; | ||
+ | |||
+ | ==Radius== | ||
+ | An integer between 3000 and 7000 indicating the radius of the main planet. On the F7 screen, this is measured in kilometres. The radius in game is 1/100th of this. | ||
+ | |||
+ | Example: | ||
+ | "radius" = "5500"; | ||
+ | |||
+ | ==Rotational Velocity== | ||
+ | A number describing the rotational velocity of the planet in radians per second. Overrides rotation_speed if both are set. | ||
Example: | Example: | ||
− | + | "rotational_velocity" = 0.0015; | |
− | |||
+ | ==Rotation Speed== | ||
+ | A number describing the rotational velocity of the planet in radians per second. Unlike rotational_velocity, this is affected by rotation_speed_factor. | ||
− | = | + | Example: |
+ | "rotation_speed" = 0.0015; | ||
− | + | ==Rotation Speed Factor== | |
+ | The rotational speed of all planets whose rotational speed was set by rotation_speed and not by rotational_velocity will be multiplied by this number. | ||
Example: | Example: | ||
− | + | "rotation_speed_factor" = 1.0; | |
− | + | ||
+ | (Intended more for the universal section as a "personal taste" option than for individual planets) | ||
− | + | ==Sea Color== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Example: | ||
+ | "sea_color" = "0.0..1.0 0.0..1.0 0.0..1.0"; | ||
− | == | + | ==Terminator Threshold Vector== |
− | The | + | {{oolite-prop-added|1.89}} |
+ | |||
+ | This property gives control over the color of the planet's terminator. The way the property works is not entirely straightforward, so see [https://bb.oolite.space/viewtopic.php?p=271058#p271058 this post on BB] for more information. | ||
+ | |||
+ | Example: | ||
+ | "terminator_threshold_vector" = "0.0..1.0 0.0..1.0 0.0..1.0"; | ||
+ | By default the terminator vector is "0.105 0.18 0.28" - which results in a reddish orange colour. | ||
+ | |||
+ | ==Texture== | ||
+ | The replacement texture to be used by a system's main planet.<br> | ||
+ | |||
+ | For textures you can use lat-long maps (twice as wide as high) with a special elongation at the poles or cube maps. Other maps also will be wraped around planets but give always distortions.<br> | ||
+ | Since Oolite 1.74 you can also use cube maps for planets. Cube maps are 6 times higher as wide and will be recognised automatic by Oolite, based on its dimensions. Cube maps are the preferred method because lat-long give some distortion and have the poles improperly placed in Oolites implementation. See also [[Planettool]] for conversion from lat-long into cube maps. | ||
+ | |||
+ | From Oolite 1.89 onwards, illumination mapping on custom planets is supported. The illumination map goes in the diffuse map's alpha channel. Low alpha values translate to high illumination. This allows for effects like city lights on a planet's dark side. | ||
+ | |||
+ | Example: | ||
+ | "texture" = "newPlanetTexture.png"; | ||
+ | ;N.B. | ||
+ | The illumination mapping feature is disabled by setting ''Graphics Detail: Shaders Enabled'' or lower in the game setting menu. ''Enabled'' at ''Graphics Detail: Extra Detail''. | ||
+ | |||
+ | ==Texture HSB Color== | ||
+ | This changes the overall hue of the replacement texture. | ||
+ | |||
+ | Example: | ||
+ | "texture_hsb_color" = "0.0..1.0 0.0..1.0 0.0..1.0"; | ||
+ | |||
+ | ==Texture NormSpec== | ||
+ | {{oolite-prop-added|1.89}} | ||
+ | |||
+ | The external texture that will be used as a normal and specular map for the given planet. Colorspace should be linear, with the normal map in the r,g and b and the specular map in the a channel. The texture can be of either equirectangular or cubemap formats. This feature is available at the Extra Detail setting only. To set: | ||
+ | "texture_normspec" = "planetNormalAndSpecularMap.png"; | ||
+ | |||
+ | =Properties of the Sky= | ||
+ | |||
+ | ==Ambient Level== | ||
+ | Sets how much ambient light (shed by stars and nebulae) illuminates the dark side of objects like planets and ships. Values should typically be between 0.0 and 1.0 (1.0 is the default) but can be higher for a flat lit, cartoon-like effect. | ||
Example: | Example: | ||
− | + | "ambient_level" = "0.0"; | |
− | |||
+ | ==Nebula Count Multiplier== | ||
+ | This is used for defining the number of nebulas. Default is 1.0. Number can be greater or less than default and is also randomised a bit. | ||
− | = | + | Example: |
− | + | "nebula_count_multiplier" = "1.5"; | |
+ | ==Sky Blur Alpha== | ||
+ | Default 0.1 | ||
Example: | Example: | ||
− | + | "sky_blur_alpha" = "0.0 .. 1.0"; | |
− | |||
==Sky Blur Cluster Chance== | ==Sky Blur Cluster Chance== | ||
− | This is used for creating nebulae (typically 0. | + | This is used for creating nebulae (typically 0.80) |
+ | Example: | ||
+ | "sky_blur_cluster_chance" = "0.85"; | ||
+ | |||
+ | ==Sky Blur Scale== | ||
+ | Default 10. Larger numbers generate bigger nebula, but slow down the game considerable on slower machines. | ||
Example: | Example: | ||
− | + | "sky_blur_scale" = "0.0 .. 128.0 or more"; | |
− | + | ||
+ | ==Sky N Blurs== | ||
+ | This is used for defining the number of nebulas (typical is 80, maximum is 1280). This key is multiplied by a "nebula_count_multiplier" definition in Oolite 1.81 or later. | ||
− | = | + | Example: |
− | + | "sky_n_blurs" = "800"; | |
+ | ==Sky N Stars== | ||
+ | This is used for defining the number of stars (typical = 600, maximum in 1.76 or earlier is 4800). This key is multiplied by a "star_count_multiplier" definition in Oolite 1.81 or later. In reduced detail mode, this number will be capped to 2400. | ||
Example: | Example: | ||
− | < | + | "sky_n_stars" = "1200"; |
− | + | ||
+ | ==Sky and Nebula RGB Colors== | ||
+ | |||
+ | These are rgb values (from 0.0 to 1.0) for the two colours between which the colour of the stars (and nebulaesque blurs) vary, ordered r1 g1 b1 r2 g2 b2 where (r1 g1 b1) defines the first colour and (r2 g2 b2) the second.<br> | ||
+ | (Default values are "0.75 0.8 1.0 1.0 0.85 0.6") | ||
+ | Example: | ||
+ | "sky_rgb_colors" = "0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0"; | ||
− | == | + | Alternatively, two [[Materials in Oolite#Colour specifiers|colour specifiers]] may be used: |
+ | "sky_color_1" = "redColor"; | ||
+ | "sky_color_2" = | ||
+ | { | ||
+ | "hue" = "60"; | ||
+ | "brightness" = "0.8"; | ||
+ | } | ||
+ | |||
+ | "nebula_color_1" = "greenColor"; | ||
+ | "nebula_color_2" = "blueColor"; | ||
+ | ==Star Count Multiplier== | ||
+ | This is used for defining the number of stars. Default is 1.0. Number can be greater or less than default and is also randomised a bit. | ||
Example: | Example: | ||
− | + | "star_count_multiplier" = "0.5"; | |
− | + | ||
+ | |||
+ | =Properties of the Station= | ||
− | == | + | ==Market== |
+ | The market to be used in this system as the default market. It points to a key in commodities.plist | ||
− | + | Example: | |
+ | "market" = "rockhermit"; | ||
+ | Will use the rockhermit market as default for for all stations in the system. When no market is defined a key in commodities.plist is used that matches the role of the main station. Than that is not defined, the default market is used in this system. | ||
− | + | In 1.81 and later, this is replaced by market_script | |
− | |||
− | |||
− | |||
+ | ==market_script== | ||
+ | {{oolite-prop-added|1.81}} | ||
− | + | A Javascript file used to load a [[Oolite Market Scripts|market script]] for global system price and quantity modifications. | |
− | + | "market_script" = "myoxp_newsystemmarket.js"; | |
− | + | '''Note:''' [https://bb.oolite.space/viewtopic.php?p=235837#p235837 What's the difference between the market script specified in planetinfo.plist and the one called for by trade-goods.plist?] (2015) | |
− | |||
− | == | + | ==Station== |
− | The | + | The type of station orbiting the main planet. |
+ | |||
+ | Example: | ||
+ | "station" = "coriolis..dodec..special"; | ||
+ | |||
+ | ==Station Roll== | ||
+ | The speed at which the station rotates (as with all rotational velocities this is in radians per second) and affects all rotating stations in a system. For a specific station you can use the key [[Shipdata.plist#station_roll | station_roll]] in shipdata.plist. | ||
+ | |||
+ | Example: | ||
+ | "station_roll" = "0.5"; | ||
+ | ==Station Vector== | ||
+ | The direction of the main station from the main planet | ||
+ | |||
Example: | Example: | ||
− | + | "station_vector" = "-0.717 -0.668 0.201"; | |
− | + | ||
+ | ==Stations Require Docking Clearance== | ||
+ | |||
+ | Specifies if a player has to explicit ask docking permission. See also [[Oolite_Docking_Clearance_Protocol_%28v1.72_or_later%29|Oolite Docking Clearance]] | ||
+ | |||
+ | =Properties of the Sun= | ||
;N.B. | ;N.B. | ||
− | + | The corona effect, modified by the first three properties mentioned below, is disabled by setting ''Reduced Detail:On'' in the game setting menu. ''Enabled'' by default (''Reduced Detail:Off''). | |
+ | |||
+ | ==Corona Flare== | ||
+ | |||
+ | Sets the overall size of the corona in proportion to its sun. (See note above.) | ||
+ | |||
+ | A number from 0.0 (invisibly small) to 1.0 (huge) | ||
+ | |||
+ | Example: | ||
+ | "corona_flare" = "0.075"; | ||
+ | |||
+ | ==Corona Hues== | ||
+ | |||
+ | Specifies whether the corona should have visible bands of colours within the corona. (See note above.) | ||
+ | |||
+ | A number from 0.0 (monochromatic) to 1.0 (vivid alternating colours). | ||
+ | |||
+ | Example: | ||
+ | "corona_hues" = "0.6"; | ||
+ | |||
+ | ==Corona Shimmer== | ||
+ | |||
+ | Specifies how quickly the corona colours change. (See note above.) | ||
+ | |||
+ | A number from 0.0 (very slow) to 1.0 (very fast). | ||
− | == | + | Example: |
− | + | "corona_shimmer" = "0.4"; | |
− | + | ||
+ | ==Sun Color== | ||
+ | |||
+ | Sets the colour of a system's sun. | ||
+ | |||
+ | Can be any [[Materials in Oolite#Colour specifiers|colour specifier]] or [[Materials in Oolite#Named colours|named colour]]. The specified colour is blended with 50% white so it will never be a saturated colour. Dark colours will be brightened by this blending. | ||
+ | |||
+ | Example: | ||
+ | "sun_color" = "blueColor"; | ||
+ | |||
+ | ==Sun Distance== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | Sets the distance between the sun and the main planet in metres. | ||
+ | |||
+ | Example: | ||
+ | "sun_distance" = 924122; | ||
+ | |||
+ | Ignored if sun_distance_modifier is set. | ||
+ | |||
+ | ==Sun Distance Multiplier== | ||
+ | {{oolite-prop-added|1.81}} | ||
+ | |||
+ | Multiplies the distance between the sun and the main planet by this factor. | ||
+ | |||
+ | Example: | ||
+ | "sun_distance_multiplier" = 2; | ||
+ | |||
+ | Ignored if sun_distance_modifier is set. | ||
+ | |||
+ | ==Sun Distance Modifier== | ||
+ | |||
+ | Sets the approximate distance between a system sun and its main planet. The standard distance is 20 planetary radii. Setting it much lower (10, or even less) will cause delays when generating systems, as Oolite compensates for possible collisions between the sun and other system objects. | ||
+ | |||
+ | Example: | ||
+ | "sun_distance_modifier" = "15.0"; | ||
+ | |||
+ | In Oolite 1.81 or later, sun_distance_multiplier is more useful. | ||
+ | |||
+ | == Sun Gone Nova == | ||
+ | |||
+ | Sets a nova sun in the system. | ||
+ | |||
+ | Example: | ||
+ | "sun_gone_nova" = "YES"; | ||
+ | |||
+ | ==Sun Name== | ||
+ | |||
+ | Stores the name of a system's sun. This is only implemented in Oolite from version 1.79 onwards, though was used by OXPs before then. | ||
+ | |||
+ | Example: | ||
+ | "sun_name" = "Alpha Centauri"; | ||
+ | |||
+ | ==Sun Radius== | ||
+ | |||
+ | Sets the radius of a system's sun. A number between 1000 and 1000000. | ||
+ | |||
+ | Example: | ||
+ | "sun_radius" = "100000"; | ||
+ | |||
+ | ==Sun Vector== | ||
+ | The direction of the sun from the main planet | ||
− | + | Example: | |
− | + | "sun_vector" = "-0.717 -0.668 0.201"; | |
− | + | ||
− | + | =Hyperspace Travel= | |
− | + | ||
− | + | In Oolite 1.81 and later these properties have been moved into [[global-settings.plist]] | |
− | + | ||
− | + | ==Galactic Hyperspace Behaviour== | |
− | + | ||
− | + | The key galactic_hyperspace_behaviour controls where the player will arrive after a G.H. has been executed. There are three possible types of G.H. behavior and are as follows: | |
− | + | ||
− | + | 1) Oolite standard. This is what we have up to this moment. Executing a G.H. jump will poisition the player in the next galaxy, to the closest non-isolated system with regards to their current galaxy coordinates. So, for example, if you jump from coordinates (100, 50) in galaxy 1 you will arrive in galaxy 2 at the same coordinates, unless these coordinates refer to an unreachable system, in which case the arrival point will be adjusted by the engine to maybe something like (102, 51). This is set as default behavior. It is set by assigning the string BEHAVIOUR_STANDARD to the galactic_hyperspace_behaviour key. | |
− | + | ||
− | + | 2) All systems reachable. Same as above, only this time we do not check for arrival at an isolated system. Using this method, systems like Oresrati in G8, the lower left hand cluster of systems in G7, the two islands of isolated systems in G6 etc. are now possible arrival points. If you land there, you may not be able to exit again, depending on the tech levels of the systems you get to. Mission scripters may want to use this. This behaviour is set by assigning the string BEHAVIOUR_ALL_SYSTEMS_REACHABLE to galactic_hyperspace_behaviour key in planetinfo.plist. | |
− | + | ||
− | + | 3) Fixed coordinates arrival point. This will make Oolite simulate some older 8-bit versions, that were putting the player in the same fixed point every time a galactic jump was performed, but there is also good potential for scripting (see below). This is set by assigning the string BEHAVIOUR_FIXED_COORDINATES to the galactic_hyperspace_behaviour key. | |
+ | |||
+ | Note: More on this: [https://bb.oolite.space/viewtopic.php?p=113253#p113253 a_c (2010)] | ||
+ | |||
+ | ==Galactic Hyperspace Fixed Coords== | ||
+ | |||
+ | If the fixed coordinates method is chosen, then the engine will look in planetinfo.plist for a key named galactic_hyperspace_fixed_coords, from which it will read the actual coordinates that will be used as the arrival point in the next galaxy. If none is found, then coordinates (96,96) will be used. | ||
+ | |||
+ | ==Hyperspace Tunnel Color== | ||
+ | |||
+ | One or two colours can be set, using RGBA format, to over-ride the appearance of the hyperspace tunnel effect. | ||
+ | Example: | ||
+ | |||
+ | hyperspace_tunnel_color_1 = (1.0, 0.0, 0.0, 0.5); | ||
+ | hyperspace_tunnel_color_2 = (0.0, 0.0, 1.0, 0.25); | ||
+ | |||
+ | <!-- =Script Actions= | ||
+ | |||
+ | ''This functionality is part of the legacy scripting system and is deprecated. Use Javascript instead.'' | ||
+ | |||
+ | Script_actions work exactly as in shipData.plist, and get activated by the player entering the specified system, or interstellar space. | ||
+ | |||
+ | Example | ||
+ | "script_actions" = | ||
+ | ( | ||
+ | "addShipsAtPrecisely: my_ship 2 wpm 0 0 15000" | ||
+ | ) --> | ||
+ | |||
+ | =Additional Planets= | ||
+ | |||
+ | Finally you can also define your own custom planets and moons: | ||
+ | "LavesPurpleMoon" = | ||
+ | { | ||
+ | ... | ||
+ | } | ||
− | + | <!--They also can be added through script_actions, but it's deprecated and even commented out on this page--> | |
− | + | To add them to the system, use JS methods <code>[[Oolite_JavaScript_Reference:_System#addPlanet|system.addPlanet]]</code> and <code>[[Oolite_JavaScript_Reference:_System#addPlanet|system.addMoon]]</code>. For the example above, the <code>planetInfoKey</code> will be <code>"LavesPurpleMoon"</code>. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==Position== | |
− | + | Position of the planet in space. The first parameter is 3-character code of the coordinate system, other three is x, y and z components of position vector. | |
− | + | "position" = "pwm 0 -50000 0"; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | + | You can omit the coordinate system parameter, then the absolute coordinate system will be used: |
+ | "position" = "0 -50000 0"; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | See [[Oolite coordinate systems]] for more info about it. | |
− | |||
− | |||
− | |||
− | + | ==Orientation== | |
− | + | Orientation of the planet in space (seems not to be working correct). | |
− | |||
− | |||
− | |||
− | |||
− | + | Example: | |
− | + | "orientation" = "0.0 1.0 0.0 0.0"; | |
− | |||
− | + | ==Other keys== | |
− | |||
− | |||
− | + | You can use other keys from the [[#Properties_of_the_Planet| Properties of the Planet]] section for your planets and moons. | |
− | |||
− | |||
− | Seed value used to | + | Here are some of the keys you may want to use: |
− | + | * "radius": Radius of the planet in km. e.g. a value of 500 is drawn with a radius of 5000 meters but in player dialogues this value is presented as 500 km. | |
− | + | * "rotational_velocity": Rotation of the planet in rotations per second. | |
+ | * "texture": The name of the texture file that is used to wrap around the surface. | ||
+ | * "seed": Seed value used to create the planet's surface features. If no seed is defined it uses the same seed as the main planet, and will create a copy of it. | ||
− | + | = Links = | |
+ | *[[Random number generator]] - originally used for creating planet descriptions | ||
+ | *[https://bb.oolite.space/viewtopic.php?f=4&t=3860 seed = "1 2 3 4 5 6";]: Psuedo-random number generation & planet descriptions (2007) | ||
+ | *[https://bb.oolite.space/viewtopic.php?f=4&t=3808 position = "x y z" in planetinfo.plist] (2007) | ||
+ | *Submersible's [https://www.youtube.com/user/submersibletoaster YouTube videos] of planet textures (2012) | ||
+ | *[https://bb.oolite.space/viewtopic.php?f=2&t=5044 Question: How to add custom planet descriptions] (2008) | ||
+ | *[https://bb.oolite.space/viewtopic.php?p=217053#p217053 Tweaking your skies] (Tricky, 2014) | ||
+ | *[https://bb.oolite.space/viewtopic.php?f=4&t=20959 Empty system] Removing the stations (and presumably inhabitants) from a system (2021) | ||
+ | *[https://bb.oolite.space/viewtopic.php?f=3&t=17678 How to regenerate planetinfo?] (cim, 2015) Replacing the current 7Mb .plist with the original goatsoup recipe. | ||
[[Category:Oolite]] | [[Category:Oolite]] | ||
[[Category:Oolite scripting]] | [[Category:Oolite scripting]] |
Latest revision as of 17:50, 14 April 2024
planetinfo.plist in 'AddOns/Config' contains a dictionary for each of systems for which you wish to set custom data. A list of all galaxies and planets can be found here. Each of the properties mentioned below can be set (but, notably, not the location of the main planet, which is hard coded into the system seed value):
Contents
- 1 Added for Oolite v.1.91
- 2 Added for Oolite v.1.89
- 3 Where Settings Apply
- 4 About the Inhabitants
- 5 System population
- 6 Properties of the Planet
- 6.1 Air Color
- 6.2 Air Color Mix Ratio
- 6.3 Atmosphere Rotational Velocity
- 6.4 Cloud Alpha
- 6.5 Has Atmosphere
- 6.6 Air Density
- 6.7 Illumination Color
- 6.8 Land Color
- 6.9 Percent Cloud
- 6.10 Percent Ice
- 6.11 Percent Land
- 6.12 Planet Distance
- 6.13 Planet Distance Multiplier
- 6.14 Planet Name
- 6.15 Polar Land Color
- 6.16 Polar Sea Color
- 6.17 Radius
- 6.18 Rotational Velocity
- 6.19 Rotation Speed
- 6.20 Rotation Speed Factor
- 6.21 Sea Color
- 6.22 Terminator Threshold Vector
- 6.23 Texture
- 6.24 Texture HSB Color
- 6.25 Texture NormSpec
- 7 Properties of the Sky
- 8 Properties of the Station
- 9 Properties of the Sun
- 10 Hyperspace Travel
- 11 Additional Planets
- 12 Links
Added for Oolite v.1.91
- air_density / or the Javascript planet entity airDensity - see below (pretty picture!)
Added for Oolite v.1.89
This needs editing by somebody who understands it! Snatched from the Progress thread
- air_color now produces the right color for the sky. Not only that, it is now used as the atmosphere scatter color when the planet is viewed from space. Non-blue atmospheres are finally possible!
- air_color_mix_ratio
- terminator_threshold_vector shipdata key
- JSPlanet terminatorThresholdVector property
- MULTIPLIER_LIGHTSRCRADIANCE and MULITPLIER_EXPOSURE: Planet, ships and atmosphere shaders can now define lightsource radiance and scene exposure multipliers
- Also stuff about city lights
- And probably other stuff I missed!
Where Settings Apply
Universal Settings
Some options can be applied to the entire universe, such as ambient lighting levels, eg.
"universal" = { ... }
Universal options can be over-ridden by specifying the same option for a specific system or location in interstellar space. Obviously, not all options make sense to apply to the whole universe.
Interstellar Space
Conditions for interstellar space in general can be set with the “interstellar space” key.
Note: Procedure to find all interstellar spaces (2015)
Specific Systems
Each system is keyed by a string consisting of the galaxy number (0..7) followed by a space and then the planet number (0..255), eg.
"0 7" = { ... }
specifies system 7, in galaxy 0, Lave.
Specific Interstellar Spaces
You can also specify a position in interstellar space, eg.
"interstellar: 0 7 129" = { ... }
specifies the space in galaxy 0 between systems 7 and 129, Lave and Zaonce.
In 1.81 the property "link_color" when set on a specific interstellar space changes the colour of the link between the two systems in the advanced navigation array (assuming no route is in place above it).
Note that
"interstellar: 0 7 129" = // jumping from Lave towards Zaonce { ... }
and
"interstellar: 0 129 7" = // jumping from Zaonce towards Lave { ... }
are distinct locations and if they both need the same properties this must be explicitly set for both. When setting link_color, the lower system ID must be placed first, because of how the chart is drawn.
Layers
Settings other than "universal" in Oolite 1.81 or later have a 'layer' property from 0 to 3. The default value for planetinfo.plist files is 1. If multiple OXPs specify a setting for a particular property, the order they will be checked in is:
- Layer 3 settings
- Layer 2 settings (default for Javascript changes to data)
- Layer 1 settings (default for planetinfo.plist)
- Universal settings
- Layer 0 settings (value for core game settings)
This allows OXPs to safely override each other's changes if necessary, and for OXPs which really need a specific setting in a particular system to set it at layer 3
Example
"layer" = 2;
Terraforming Example
For the planet Lave, you would use the key '0 7' (planet 7 in galaxy 0) Then you set the values. The following example sets Lave's sea to blue, land to green, and land to sea ratio to 75%.
Code:
{ "0 7" = { "percent_land" = "75"; "land_color" = "0.5 1.0 0.5"; "sea_color" = "0.3 0.7 1.0"; } }
Then you can override any of the settings listed above, for example to change Zaatxe's (Galaxy 0 Planet 8) inhabitants into blue frogs you'd enter
Code:
"0 8" = { "inhabitants" = "Blue Frogs"; }
You can use any or all of the keys in each of the entries. It's probably best to only use the key's you want to change. So, another example, to change the sky_blur_xxx settings for Zaonce (Galaxy 0 Planet 129) to big, heavily clustered, but pale blurs - you'd enter
Code:
"0 129" = { "sky_blur_cluster_chance" = "0.9"; "sky_blur_alpha" = "0.1"; "sky_blur_scale" = "32.0"; }
About the Inhabitants
Concealment
This property was added in Oolite test release 1.83.
An integer that determines how much information about the system is unknown.
Example:
"concealment" = "300";
The following values are recognised:
- 0: default, all information visible
- 100 or more: F7 screen shows no information, economy/government/TL/star colour not visible on chart
- 200 or more: system name is not shown
- 300 or more: system vanishes entirely from chart, will not be used in route plotting, cannot be targeted by player (NPCs can still jump to it, though)
Government
An integer between 0 and 7 indicating the government type of the system.
Example:
"government" = "7";
Possible values:
- 0: Anarchy
- 1: Feudal
- 2: Multi-Governmental
- 3: Dictatorship
- 4: Communist
- 5: Confederacy
- 6: Democracy
- 7: Corporate State
Economy
An integer between 0 and 7 indicating the economy type of the system.
Example:
"economy" = "5";
Possible values:
- 0: Rich Industrial
- 1: Average Industrial
- 2: Poor Industrial
- 3: Mainly Industrial
- 4: Mainly Agricultural
- 5: Rich Agricultural
- 6: Average Agricultural
- 7: Poor Agricultural
Tech Level
An integer between 0 and 14 indicating the sophistication of the planets technology. The tech level displayed on the system data screens in game is one higher than this number (range 1 to 15).
Example:
"techlevel" = "13";
Note: Episodic minor variations in TL (2010)
Population
An integer between 0 and 67 indicating the number of inhabitants of a planet in hundreds of millions
Example:
"population" = "23";
Productivity
An integer indicating the productivity of a planet.
Example:
"productivity" = "1000";
Name
The name of the planet.
Example:
"name" = "The planet's name";
Inhabitant
The name for one of the inhabitants of the main planet.
Example:
"inhabitant" = "Green Platypus";
Inhabitants
The name of the inhabitants of the main planet.
Example:
"inhabitants" = "Green Platypi";
Description
A short description of the planet.
Example:
"description" = "Really, anything you want to say about the place!";
Note: For more than 1 oxp describing a system see here (2012) - and elsewhere. Note that eg. System Features Rings does this through Javascript. rather than a .plist.
Government Description
This property was added in Oolite test release 1.81.
Overrides the default text used to describe the government.
Example:
"government_description" = "Dictatorship (Monarchy)";
Economy Description
This property was added in Oolite test release 1.81.
Overrides the default text used to describe the economy.
Example:
"economy_description" = "Mainly Industrial (Machine Tools)";
Population Description
This property was added in Oolite test release 1.77.
Overrides the default text used to describe the population.
Example:
"population_description" = "13 Billion";
Random Seed
This property was added in Oolite test release 1.81.
A seed for a random number generator used in Oolite 1.81 to generate system properties impractical to store in this file (e.g. the positions of each star on the background starfield)
For historical reasons, this is a string of 6 integers between 0 and 255, for example:
random_seed = "74 90 72 2 83 183";
System population
These properties are only used in Oolite 1.79 or later.
Populator
The name of the worldscript function which will be used to populate the system
Example:
"populator" = "systemWillPopulate";
Repopulator
The name of the worldscript function which will be used to repopulate the system
Example:
"repopulator" = "systemWillRepopulate";
Properties of the Planet
Most of these properties are ignored if a planet texture is set.
Note that the available planet texture generator properties changed in places between Oolite 1.77 and Oolite 1.80
Air Color
A colour specifier determining the color of the planet's sky, as well as the atmosphere scatter color.
Example:
"air_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
Air Color Mix Ratio
This property was added in Oolite test release 1.89.
The amount of air color that be mixed in the overall atmosphere color. A number from 0.0 to 1.0 (default 0.5).
Example:
"air_color_mix_ratio" = "0.0..1.0";
Atmosphere Rotational Velocity
Sets how fast the atmosphere is rotating. (A random value between 0.0 to 0.03 is the default).
Example:
"atmosphere_rotational_velocity" = "0.1";
Cloud Alpha
This property was added in Oolite test release 1.77.
The transparency level of the cloud layer, relative to the standard transparency. 1.0 is the default. Texture packs which include clouds on the planetary texture may wish to reduce this.
Example:
"cloud_alpha" = "0.2";
Has Atmosphere
This property was added in Oolite test release 1.81.
This boolean property is used for the main planet only. If it is unset or true, the main planet has an atmosphere, as is always the case in 1.80 and before. If it is set to be false, then the planet will not have an atmosphere.
Example:
"has_atmosphere" = 0;
This has no effect on secondary planets - their atmosphere is determined by whether addition uses addPlanet
or addMoon
.
Air Density
This property was added in Oolite test release 1.91.
A number clamped in range from 0.0 to 1.0 describing the density of the planet's atmosphere. All planets in the core use 0.75 as default.
Example:
"air_density" = "0.0..1.0";
Illumination Color
This property was added in Oolite test release 1.91.
A colour specifier determining the colour of the planet's illumination such as cities light. Illumination is inserted as a grayscale map in the alpha channel of the planet's diffuse texture. You can specify this key even if no illumination map is defined, but it won't have any effect - without an illumination map the dark side of the planet remains dark in all cases.
Example:
"illumination_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
Land Color
Example:
"land_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
Percent Cloud
The percentage of the planet's atmosphere occupied by clouds.
Example:
"percent_cloud" = "0..100";
Note that with a low cloud_alpha setting not all of the clouds defined here may actually be visible
Percent Ice
The percentage of the planet occupied by the polar ice caps. Oolite 1.81 or later.
Example:
"percent_ice" = "0..100";
Percent Land
The percentage of the planet occupied by land.
Example:
"percent_land" = "0..100";
Planet Distance
This property was added in Oolite test release 1.81.
The distance from the centre of the planet to the witchpoint. Only used for the system main planet - secondary planets are positioned separately.
Example:
"planet_distance" = "410000";
The main planet is always positioned on the z-axis.
Planet Distance Multiplier
This property was added in Oolite test release 1.81.
Multiplies the distance from the centre of the main planet to the witchpoint.
Example:
"planet_distance_multiplier" = "1.5";
Planet Name
This property was added in Oolite test release 1.79.
The planet's name. For the main planet, this defaults to being the same as the system name - the property is mainly intended for secondary planets.
Example
"planet_name" = "Earth";
Polar Land Color
This property was added in Oolite test release 1.81.
Sets the land colour in polar regions.
Example:
"land_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
Polar Sea Color
This property was added in Oolite test release 1.81.
Sets the sea colour in polar regions.
Example:
"sea_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
Radius
An integer between 3000 and 7000 indicating the radius of the main planet. On the F7 screen, this is measured in kilometres. The radius in game is 1/100th of this.
Example:
"radius" = "5500";
Rotational Velocity
A number describing the rotational velocity of the planet in radians per second. Overrides rotation_speed if both are set.
Example:
"rotational_velocity" = 0.0015;
Rotation Speed
A number describing the rotational velocity of the planet in radians per second. Unlike rotational_velocity, this is affected by rotation_speed_factor.
Example:
"rotation_speed" = 0.0015;
Rotation Speed Factor
The rotational speed of all planets whose rotational speed was set by rotation_speed and not by rotational_velocity will be multiplied by this number.
Example:
"rotation_speed_factor" = 1.0;
(Intended more for the universal section as a "personal taste" option than for individual planets)
Sea Color
Example:
"sea_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
Terminator Threshold Vector
This property was added in Oolite test release 1.89.
This property gives control over the color of the planet's terminator. The way the property works is not entirely straightforward, so see this post on BB for more information.
Example:
"terminator_threshold_vector" = "0.0..1.0 0.0..1.0 0.0..1.0";
By default the terminator vector is "0.105 0.18 0.28" - which results in a reddish orange colour.
Texture
The replacement texture to be used by a system's main planet.
For textures you can use lat-long maps (twice as wide as high) with a special elongation at the poles or cube maps. Other maps also will be wraped around planets but give always distortions.
Since Oolite 1.74 you can also use cube maps for planets. Cube maps are 6 times higher as wide and will be recognised automatic by Oolite, based on its dimensions. Cube maps are the preferred method because lat-long give some distortion and have the poles improperly placed in Oolites implementation. See also Planettool for conversion from lat-long into cube maps.
From Oolite 1.89 onwards, illumination mapping on custom planets is supported. The illumination map goes in the diffuse map's alpha channel. Low alpha values translate to high illumination. This allows for effects like city lights on a planet's dark side.
Example:
"texture" = "newPlanetTexture.png";
- N.B.
The illumination mapping feature is disabled by setting Graphics Detail: Shaders Enabled or lower in the game setting menu. Enabled at Graphics Detail: Extra Detail.
Texture HSB Color
This changes the overall hue of the replacement texture.
Example:
"texture_hsb_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
Texture NormSpec
This property was added in Oolite test release 1.89.
The external texture that will be used as a normal and specular map for the given planet. Colorspace should be linear, with the normal map in the r,g and b and the specular map in the a channel. The texture can be of either equirectangular or cubemap formats. This feature is available at the Extra Detail setting only. To set:
"texture_normspec" = "planetNormalAndSpecularMap.png";
Properties of the Sky
Ambient Level
Sets how much ambient light (shed by stars and nebulae) illuminates the dark side of objects like planets and ships. Values should typically be between 0.0 and 1.0 (1.0 is the default) but can be higher for a flat lit, cartoon-like effect.
Example:
"ambient_level" = "0.0";
Nebula Count Multiplier
This is used for defining the number of nebulas. Default is 1.0. Number can be greater or less than default and is also randomised a bit.
Example:
"nebula_count_multiplier" = "1.5";
Sky Blur Alpha
Default 0.1
Example:
"sky_blur_alpha" = "0.0 .. 1.0";
Sky Blur Cluster Chance
This is used for creating nebulae (typically 0.80)
Example:
"sky_blur_cluster_chance" = "0.85";
Sky Blur Scale
Default 10. Larger numbers generate bigger nebula, but slow down the game considerable on slower machines.
Example:
"sky_blur_scale" = "0.0 .. 128.0 or more";
Sky N Blurs
This is used for defining the number of nebulas (typical is 80, maximum is 1280). This key is multiplied by a "nebula_count_multiplier" definition in Oolite 1.81 or later.
Example:
"sky_n_blurs" = "800";
Sky N Stars
This is used for defining the number of stars (typical = 600, maximum in 1.76 or earlier is 4800). This key is multiplied by a "star_count_multiplier" definition in Oolite 1.81 or later. In reduced detail mode, this number will be capped to 2400.
Example:
"sky_n_stars" = "1200";
Sky and Nebula RGB Colors
These are rgb values (from 0.0 to 1.0) for the two colours between which the colour of the stars (and nebulaesque blurs) vary, ordered r1 g1 b1 r2 g2 b2 where (r1 g1 b1) defines the first colour and (r2 g2 b2) the second.
(Default values are "0.75 0.8 1.0 1.0 0.85 0.6")
Example:
"sky_rgb_colors" = "0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0";
Alternatively, two colour specifiers may be used:
"sky_color_1" = "redColor"; "sky_color_2" = { "hue" = "60"; "brightness" = "0.8"; } "nebula_color_1" = "greenColor"; "nebula_color_2" = "blueColor";
Star Count Multiplier
This is used for defining the number of stars. Default is 1.0. Number can be greater or less than default and is also randomised a bit.
Example:
"star_count_multiplier" = "0.5";
Properties of the Station
Market
The market to be used in this system as the default market. It points to a key in commodities.plist
Example:
"market" = "rockhermit";
Will use the rockhermit market as default for for all stations in the system. When no market is defined a key in commodities.plist is used that matches the role of the main station. Than that is not defined, the default market is used in this system.
In 1.81 and later, this is replaced by market_script
market_script
This property was added in Oolite test release 1.81.
A Javascript file used to load a market script for global system price and quantity modifications.
"market_script" = "myoxp_newsystemmarket.js";
Station
The type of station orbiting the main planet.
Example:
"station" = "coriolis..dodec..special";
Station Roll
The speed at which the station rotates (as with all rotational velocities this is in radians per second) and affects all rotating stations in a system. For a specific station you can use the key station_roll in shipdata.plist.
Example:
"station_roll" = "0.5";
Station Vector
The direction of the main station from the main planet
Example:
"station_vector" = "-0.717 -0.668 0.201";
Stations Require Docking Clearance
Specifies if a player has to explicit ask docking permission. See also Oolite Docking Clearance
Properties of the Sun
- N.B.
The corona effect, modified by the first three properties mentioned below, is disabled by setting Reduced Detail:On in the game setting menu. Enabled by default (Reduced Detail:Off).
Corona Flare
Sets the overall size of the corona in proportion to its sun. (See note above.)
A number from 0.0 (invisibly small) to 1.0 (huge)
Example:
"corona_flare" = "0.075";
Corona Hues
Specifies whether the corona should have visible bands of colours within the corona. (See note above.)
A number from 0.0 (monochromatic) to 1.0 (vivid alternating colours).
Example:
"corona_hues" = "0.6";
Corona Shimmer
Specifies how quickly the corona colours change. (See note above.)
A number from 0.0 (very slow) to 1.0 (very fast).
Example:
"corona_shimmer" = "0.4";
Sun Color
Sets the colour of a system's sun.
Can be any colour specifier or named colour. The specified colour is blended with 50% white so it will never be a saturated colour. Dark colours will be brightened by this blending.
Example:
"sun_color" = "blueColor";
Sun Distance
This property was added in Oolite test release 1.81.
Sets the distance between the sun and the main planet in metres.
Example:
"sun_distance" = 924122;
Ignored if sun_distance_modifier is set.
Sun Distance Multiplier
This property was added in Oolite test release 1.81.
Multiplies the distance between the sun and the main planet by this factor.
Example:
"sun_distance_multiplier" = 2;
Ignored if sun_distance_modifier is set.
Sun Distance Modifier
Sets the approximate distance between a system sun and its main planet. The standard distance is 20 planetary radii. Setting it much lower (10, or even less) will cause delays when generating systems, as Oolite compensates for possible collisions between the sun and other system objects.
Example:
"sun_distance_modifier" = "15.0";
In Oolite 1.81 or later, sun_distance_multiplier is more useful.
Sun Gone Nova
Sets a nova sun in the system.
Example:
"sun_gone_nova" = "YES";
Sun Name
Stores the name of a system's sun. This is only implemented in Oolite from version 1.79 onwards, though was used by OXPs before then.
Example:
"sun_name" = "Alpha Centauri";
Sun Radius
Sets the radius of a system's sun. A number between 1000 and 1000000.
Example:
"sun_radius" = "100000";
Sun Vector
The direction of the sun from the main planet
Example:
"sun_vector" = "-0.717 -0.668 0.201";
Hyperspace Travel
In Oolite 1.81 and later these properties have been moved into global-settings.plist
Galactic Hyperspace Behaviour
The key galactic_hyperspace_behaviour controls where the player will arrive after a G.H. has been executed. There are three possible types of G.H. behavior and are as follows:
1) Oolite standard. This is what we have up to this moment. Executing a G.H. jump will poisition the player in the next galaxy, to the closest non-isolated system with regards to their current galaxy coordinates. So, for example, if you jump from coordinates (100, 50) in galaxy 1 you will arrive in galaxy 2 at the same coordinates, unless these coordinates refer to an unreachable system, in which case the arrival point will be adjusted by the engine to maybe something like (102, 51). This is set as default behavior. It is set by assigning the string BEHAVIOUR_STANDARD to the galactic_hyperspace_behaviour key.
2) All systems reachable. Same as above, only this time we do not check for arrival at an isolated system. Using this method, systems like Oresrati in G8, the lower left hand cluster of systems in G7, the two islands of isolated systems in G6 etc. are now possible arrival points. If you land there, you may not be able to exit again, depending on the tech levels of the systems you get to. Mission scripters may want to use this. This behaviour is set by assigning the string BEHAVIOUR_ALL_SYSTEMS_REACHABLE to galactic_hyperspace_behaviour key in planetinfo.plist.
3) Fixed coordinates arrival point. This will make Oolite simulate some older 8-bit versions, that were putting the player in the same fixed point every time a galactic jump was performed, but there is also good potential for scripting (see below). This is set by assigning the string BEHAVIOUR_FIXED_COORDINATES to the galactic_hyperspace_behaviour key.
Note: More on this: a_c (2010)
Galactic Hyperspace Fixed Coords
If the fixed coordinates method is chosen, then the engine will look in planetinfo.plist for a key named galactic_hyperspace_fixed_coords, from which it will read the actual coordinates that will be used as the arrival point in the next galaxy. If none is found, then coordinates (96,96) will be used.
Hyperspace Tunnel Color
One or two colours can be set, using RGBA format, to over-ride the appearance of the hyperspace tunnel effect. Example:
hyperspace_tunnel_color_1 = (1.0, 0.0, 0.0, 0.5); hyperspace_tunnel_color_2 = (0.0, 0.0, 1.0, 0.25);
Additional Planets
Finally you can also define your own custom planets and moons:
"LavesPurpleMoon" = { ... }
To add them to the system, use JS methods system.addPlanet
and system.addMoon
. For the example above, the planetInfoKey
will be "LavesPurpleMoon"
.
Position
Position of the planet in space. The first parameter is 3-character code of the coordinate system, other three is x, y and z components of position vector.
"position" = "pwm 0 -50000 0";
You can omit the coordinate system parameter, then the absolute coordinate system will be used:
"position" = "0 -50000 0";
See Oolite coordinate systems for more info about it.
Orientation
Orientation of the planet in space (seems not to be working correct).
Example:
"orientation" = "0.0 1.0 0.0 0.0";
Other keys
You can use other keys from the Properties of the Planet section for your planets and moons.
Here are some of the keys you may want to use:
- "radius": Radius of the planet in km. e.g. a value of 500 is drawn with a radius of 5000 meters but in player dialogues this value is presented as 500 km.
- "rotational_velocity": Rotation of the planet in rotations per second.
- "texture": The name of the texture file that is used to wrap around the surface.
- "seed": Seed value used to create the planet's surface features. If no seed is defined it uses the same seed as the main planet, and will create a copy of it.
Links
- Random number generator - originally used for creating planet descriptions
- seed = "1 2 3 4 5 6";: Psuedo-random number generation & planet descriptions (2007)
- position = "x y z" in planetinfo.plist (2007)
- Submersible's YouTube videos of planet textures (2012)
- Question: How to add custom planet descriptions (2008)
- Tweaking your skies (Tricky, 2014)
- Empty system Removing the stations (and presumably inhabitants) from a system (2021)
- How to regenerate planetinfo? (cim, 2015) Replacing the current 7Mb .plist with the original goatsoup recipe.