Difference between revisions of "Planetinfo.plist"

From Elite Wiki
(Added the sun_gone_nova key)
(Removed all references to testversions. Replaced xml examples by open step code.)
Line 4: Line 4:
   
 
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.
'''<key>universal</key>'''
+
"universal" =
'''<dict>'''
+
{
'''...'''
+
...
'''</dict>'''
+
}
 
Universal options can be overriden 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.
 
Universal options can be overriden 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.
   
Line 13: Line 13:
   
 
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.
'''<key>0 7</key>'''
 
  +
"0 7" =
'''<dict>'''
 
  +
{
'''...'''
+
...
'''</dict>'''
+
}
 
specifies system 7, in galaxy 0, ''Lave''.
 
specifies system 7, in galaxy 0, ''Lave''.
   
Line 22: Line 22:
   
 
You can also specify a position in interstellar space, eg.
 
You can also specify a position in interstellar space, eg.
'''<key>interstellar: 0 7 129</key>'''
+
"interstellar: 0 7 129" =
'''<dict>'''
+
{
'''...'''
+
...
'''</dict>'''
+
}
 
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''.
   
Conditions for interstellar space in general can be set with the “interstellar space” key (Oolite 1.69 and later, ignored in earlier versions).
+
Conditions for interstellar space in general can be set with the “interstellar space” key.
   
 
Each of the following properties can be set (but, notably, not the location of the main planet, which is hard coded into the system seed value):
 
Each of the following properties can be set (but, notably, not the location of the main planet, which is hard coded into the system seed value):
Line 78: Line 78:
   
 
Example:
 
Example:
<key>techlevel</key>
+
"techlevel" = "13";
<integer>13</integer>
 
   
   
Line 86: Line 86:
   
 
Example:
 
Example:
<key>population</key>
+
"population" = "23";
<integer>23</integer>
 
   
   
Line 94: Line 94:
   
 
Example:
 
Example:
<key>productivity</key>
+
"productivity" = "1000";
<integer>1000 </integer>
 
   
   
Line 102: Line 102:
   
 
Example:
 
Example:
<key>radius</key>
+
"radius" = "5500";
<integer>3000..7000 </integer>
 
   
   
Line 110: Line 110:
   
 
Example:
 
Example:
<key>name</key>
 
  +
"name" = "The planet's name";
<string>The planet's name</string>
 
 
Warning: This name is only used at the "Short Range Chart" (F6) and the "Data Screen" (F7). On the "Long Range Screen" you still will see the old name. And also %I and %H will refer to the original name. e.g the docking computer and all kind of other stuff uses these codes with original names..
 
Warning: This name is only used at the "Short Range Chart" (F6) and the "Data Screen" (F7). On the "Long Range Screen" you still will see the old name. And also %I and %H will refer to the original name. e.g the docking computer and all kind of other stuff uses these codes with original names..
   
 
==Inhabitant==
 
==Inhabitant==
The name for one of the inhabitants of the main planet. (Added in Oolite 1.73)
+
The name for one of the inhabitants of the main planet.
   
   
 
Example:
 
Example:
<key>inhabitant</key>
+
"inhabitant" = "Green Platypus";
<string>Green Platypus</string>
 
   
 
==Inhabitants==
 
==Inhabitants==
Line 126: Line 125:
   
 
Example:
 
Example:
<key>inhabitants</key>
+
"inhabitants" = "Green Platypi";
<string>Green Platypi</string>
 
   
 
==Description==
 
==Description==
Line 133: Line 132:
   
 
Example:
 
Example:
<key>description</key>
 
  +
"description" = "Really, anything you want to say about the place!";
<string>Really, anything you want to say about the place!</string>
 
   
   
 
==Ambient lighting==
 
==Ambient lighting==
   
(Oolite version >= 1.64) 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.
+
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:
<key>ambient_level</key>
+
"ambient_level" = "0.0";
<real>0.0</real>
 
   
   
Line 150: Line 148:
   
 
Example:
 
Example:
<key>atmosphere_rotational_velocity</key>
+
"atmosphere_rotational_velocity" = "0.1";
<real>0.1</real>
 
   
   
 
==Corona Flare==
 
==Corona Flare==
   
Sets the overall size of the corona in proportion to its sun. (Added in 1.73)
+
Sets the overall size of the corona in proportion to its sun.
   
 
A number from 0.0 (invisibly small) to 1.0 (huge)
 
A number from 0.0 (invisibly small) to 1.0 (huge)
   
 
Example:
 
Example:
<key>corona_flare</key>
+
"corona_flare" = "0.075";
<real>0.075</real>
 
 
;N.B.
 
;N.B.
 
This feature is disabled by setting ''Reduced Detail:On'' in the game setting menu. ''Enabled'' by default (''Reduced Detail:Off'').
 
This feature is disabled by setting ''Reduced Detail:On'' in the game setting menu. ''Enabled'' by default (''Reduced Detail:Off'').
Line 166: Line 164:
 
==Corona Hues==
 
==Corona Hues==
   
Specifies whether the corona should have visible bands of colours within the corona. (Added in 1.73)
+
Specifies whether the corona should have visible bands of colours within the corona.
   
 
A number from 0.0 (monochromatic) to 1.0 (vivid alternating colours).
 
A number from 0.0 (monochromatic) to 1.0 (vivid alternating colours).
   
 
Example:
 
Example:
<key>corona_hues</key>
+
"corona_hues" = "0.6";
<real>0.6</real>
 
 
;N.B.
 
;N.B.
 
This feature is disabled by setting ''Reduced Detail:On'' in the game setting menu. ''Enabled'' by default (''Reduced Detail:Off'').
 
This feature is disabled by setting ''Reduced Detail:On'' in the game setting menu. ''Enabled'' by default (''Reduced Detail:Off'').
Line 177: Line 175:
 
==Corona Shimmer==
 
==Corona Shimmer==
   
Specifies how quickly the corona colours change. (Added in 1.73)
+
Specifies how quickly the corona colours change.
   
 
A number from 0.0 (very slow) to 1.0 (very fast).
 
A number from 0.0 (very slow) to 1.0 (very fast).
   
 
Example:
 
Example:
<key>corona_shimmer</key>
+
"corona_shimmer" = "0.4";
<real>0.4</real>
 
 
;N.B.
 
;N.B.
 
This feature is disabled by setting ''Reduced Detail:On'' in the game setting menu. ''Enabled'' by default (''Reduced Detail:Off'').
 
This feature is disabled by setting ''Reduced Detail:On'' in the game setting menu. ''Enabled'' by default (''Reduced Detail:Off'').
Line 189: Line 187:
   
 
Example:
 
Example:
<key>land_hsb_color</key>
+
"land_hsb_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
<string>0.0..1.0 0.0..1.0 0.0..1.0</string>
 
   
   
Line 196: Line 194:
   
 
Example:
 
Example:
<key>percent_land</key>
+
"percent_land" = "0..100";
<integer>0..100</integer>
 
   
 
==Market==
 
==Market==
Line 202: Line 200:
   
 
Example:
 
Example:
<key>market</key>
 
  +
"market" = "rockhermit";
<string>rockhermit</string >
 
 
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.
 
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.
   
Line 210: Line 207:
   
 
Example:
 
Example:
<key>nebula_count_multiplier</key>
+
"nebula_count_multiplier" = "1.5";
<real>1.5</real>
 
   
 
==Script Actions==
 
==Script Actions==
Line 217: Line 214:
   
 
Example
 
Example
<key>script_actions</key>
+
"script_actions" =
<array>
+
(
<string>addShipsAtPrecisely: my_ship 2 wpm 0 0 15000</string>
+
"addShipsAtPrecisely: my_ship 2 wpm 0 0 15000"
</array>
+
)
   
 
==Sea HSB Color==
 
==Sea HSB Color==
   
 
Example:
 
Example:
<key>sea_hsb_color</key>
+
"sea_hsb_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
<string>0.0..1.0 0.0..1.0 0.0..1.0</string>
 
   
   
Line 232: Line 229:
   
 
Example:
 
Example:
<key>sky_blur_alpha</key>
+
"sky_blur_alpha" = "0.0 .. 1.0";
<real>0.0 .. 1.0</real>
 
   
   
Line 239: Line 236:
   
 
Example:
 
Example:
<key>sky_blur_cluster_chance</key>
+
"sky_blur_cluster_chance" = "0.85";
<real>0.85</real>
 
   
 
==Sky Blur Scale==
 
==Sky Blur Scale==
Line 245: Line 242:
   
 
Example:
 
Example:
<key>sky_blur_scale</key>
+
"sky_blur_scale" = "0.0 .. 128.0 or more";
<real>0.0 .. 128.0 or more</real>
 
   
 
==Sky N Blurs==
 
==Sky N Blurs==
Line 251: Line 248:
   
 
Example:
 
Example:
<key>sky_n_blurs</key>
+
"sky_n_blurs" = "800";
<real>800</real>
 
   
 
==Sky N Stars==
 
==Sky N Stars==
Line 257: Line 254:
   
 
Example:
 
Example:
<key>sky_n_stars</key>
+
"sky_n_stars" = "1200";
<real>1200</real>
 
   
 
==Sky RGB Colors==
 
==Sky 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>
 
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.0 1.0 0.5 0.0 1.0 0.0")
+
(Default values are "0.0 1.0 0.5 0.0 1.0 0.0")
   
 
Example:
 
Example:
<key>sky_rgb_colors</key>
 
  +
"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";
<string>0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0</string>
 
   
Alternatively, starting with Oolite 1.69, two [[Materials in Oolite#Colour specifiers|colour specifiers]] may be used:
+
Alternatively, two [[Materials in Oolite#Colour specifiers|colour specifiers]] may be used:
<key>sky_color_1</key>
+
"sky_color_1" = "redColor";
<string>redColor</string>
+
"sky_color_2" =
<key>sky_color_2</key>
+
{
<dict>
+
"hue" = "60";
<key>hue</key>
+
"brightness" = "0.8";
<real>60</real>
+
}
<key>brightness</key>
 
<real>0.8</real>
 
</dict>
 
   
   
Line 281: Line 277:
   
 
Example:
 
Example:
<key>star_count_multiplier</key>
+
"star_count_multiplier" = "0.5";
<real>0.5</real>
 
   
 
==Station==
 
==Station==
Line 287: Line 283:
   
 
Example:
 
Example:
<key>station</key>
 
  +
"station" = "coriolis..dodec..special";
<string>coriolis..dodec..special</string>
 
   
   
Line 295: Line 290:
   
 
Example:
 
Example:
<key>station_roll</key>
+
"station_roll" = "0.5";
<string>0.5</string>
 
   
 
== stations_require_docking_clearance ==
 
== stations_require_docking_clearance ==
   
Feature added with Oolite 1.72. Specifies if a player has to explicit ask docking permission. See also [[Oolite_Docking_Clearance_Protocol_%28v1.72_or_later%29|Oolite 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]]
   
 
==Sun Color==
 
==Sun Color==
   
Sets the colour of a system's sun. (Added in Oolite 1.73)
+
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.
 
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.
   
<key>sun_color</key>
+
"sun_color" = "blueColor";
<string>blueColor</string>
 
   
 
==Sun Distance Modifier==
 
==Sun Distance Modifier==
Line 315: Line 310:
 
Example
 
Example
   
<key>sun_distance_modifier</key>
+
"sun_distance_modifier" = "15.0";
<real>15.0</real>
 
   
 
== Sun Gone Nova ==
 
== Sun Gone Nova ==
   
 
Sets a nova sun in the system.
 
Sets a nova sun in the system.
<key>sun_gone_nova</key>
+
"sun_gone_nova" = "YES";
<string>YES</string>
 
   
 
==Sun Radius==
 
==Sun Radius==
   
Sets the radius of a system's sun. (Added in Oolite 1.73)
+
Sets the radius of a system's sun.
   
<key>sun_radius</key>
+
"sun_radius" = "100000";
<integer>100000</integer>
 
   
 
==Texture==
 
==Texture==
The replacement texture to be used by a system's main planet. (Added in Oolite 1.73)<br>
+
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>
 
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>
Line 335: Line 330:
   
 
Example:
 
Example:
<key>texture</key>
 
  +
"texture" = "newPlanetTexture.png";
<string>newPlanetTexture.png</string>
 
 
;N.B.
 
;N.B.
This feature is disabled by setting ''Detailed Planets:Off'' in the game setting menu. ''Enabled'' by default (''Detailed Planets:On'') from Oolite 1.73 onwards.
+
This feature is disabled by setting ''Detailed Planets:Off'' in the game setting menu. ''Enabled'' by default (''Detailed Planets:On'').
   
 
==Texture HSB Color==
 
==Texture HSB Color==
This changes the overall hue of the replacement texture. (Added in Oolite 1.73)
+
This changes the overall hue of the replacement texture.
   
 
Example:
 
Example:
<key>texture_hsb_color</key>
+
"texture_hsb_color" = "0.0..1.0 0.0..1.0 0.0..1.0";
<string>0.0..1.0 0.0..1.0 0.0..1.0</string>
 
   
 
==Terraforming Example==
 
==Terraforming Example==
Line 351: Line 345:
 
 
 
Code:
 
Code:
<?xml version="1.0" encoding="UTF-8"?>
 
  +
{
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 
  +
"0 7" =
<plist version="1.0">
 
  +
{
<dict>
 
  +
"percent_land" = "75";
<key>0 7</key>
 
  +
"land_hsb_color" = "0.333 1.0 1.0";
<dict>
 
  +
"sea_hsb_color" = "0.667 1.0 1.0";
<key>percent_land</key>
 
  +
}
<integer>75</integer>
 
  +
}
<key>land_hsb_color</key>
 
<string>0.333 1.0 1.0</string>
 
<key>sea_hsb_color</key>
 
<string>0.667 1.0 1.0</string>
 
</dict>
 
</dict>
 
</plist>
 
   
If you press '!' on a long range chart, it'll dump the galaxy information to files in the same folder as Oolite. That'll give you a list of the planet numbers, and some other information about each planet for the given galaxy.
 
 
 
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
 
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:
 
Code:
<key>0 8</key>
+
"0 8" =
<dict>
+
{
<key>inhabitants</key>
+
"inhabitants" = "Blue Frogs";
<string>Blue Frogs</string>
+
}
</dict>
 
   
 
 
Line 381: Line 366:
 
 
 
Code:
 
Code:
<key>0 129</key>
+
"0 129" =
<dict>
+
{
<key>sky_blur_cluster_chance</key>
+
"sky_blur_cluster_chance" = "0.9";
<real>0.9</real>
+
"sky_blur_alpha" = "0.1";
<key>sky_blur_alpha</key>
+
"sky_blur_scale" = "32.0";
<real>0.1</real>
+
}
<key>sky_blur_scale</key>
 
<real>32.0</real>
 
</dict>
 
   
 
=Custom Planet settings=
 
=Custom Planet settings=
   
 
Finally you can also add keys for your own custom planets and moons, eg.
 
Finally you can also add keys for your own custom planets and moons, eg.
'''<key>LavesPurpleMoon</key>
+
"LavesPurpleMoon" =
'''<dict>'''
+
{
'''...'''
+
...
'''</dict>'''
+
}
   
The contents of the <dict> could be:
+
The contents of the { could be:
 
Orientation of the planet in space (seems not to be working correct)
 
Orientation of the planet in space (seems not to be working correct)
<key>orientation</key>
+
"orientation" = "0.0 1.0 0.0 0.0";
<string>0.0 1.0 0.0 0.0</string>
 
   
 
Position of the planet in space. You can use 3 or 4 parameters. With only 3 parameters the internal absolute coordinates are used.
 
Position of the planet in space. You can use 3 or 4 parameters. With only 3 parameters the internal absolute coordinates are used.
<key>position</key>
+
"position" = "0 -50000 0";
<string>0 -50000 0</string>
 
 
or
 
or
<key>position</key>
+
"position" = "pwm 0 -50000 0";
<string>pwm 0 -50000 0</string>
 
   
 
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.
 
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.
<key>radius</key>
+
"radius" = "500";
<string>500</string>
 
   
 
Rotation of the planet in rotations per second.
 
Rotation of the planet in rotations per second.
<key>rotational_velocity</key>
+
"rotational_velocity" = "1";
<string>1</string>
 
   
 
The name of the texture file that is used to wrap around the surface.
 
The name of the texture file that is used to wrap around the surface.
<key>texture</key>
+
"texture" = "grid.png";
<string>grid.png</string>
 
   
 
Seed value used to set planet surface parameters. When no seed is defined it uses random values.
 
Seed value used to set planet surface parameters. When no seed is defined it uses random values.
<key>seed</key>
 
  +
"seed" = "1 2 3 4 5 6";
<string>1 2 3 4 5 6</string>
 
   
 
A lot of the keys for the main planet, like: '''percent_land''', can also used in custom planets.
 
A lot of the keys for the main planet, like: '''percent_land''', can also used in custom planets.

Revision as of 10:34, 4 March 2012

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.

Universal settings

Some options can be applied to the entire universe, such as ambient lighting levels, eg.

"universal" =
{
...
}

Universal options can be overriden 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.

System settings

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.

Interstellar settings

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.

Conditions for interstellar space in general can be set with the “interstellar space” key.

Each of the following properties can be set (but, notably, not the location of the main planet, which is hard coded into the system seed value):

Content of the dictionaries

Government

0: Anarchy

1: Feudal

2: Multi-Governmental

3: Dictatorship

4: Communist

5: Confederacy

6: Democracy

7: Corporate State


Economy

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 13 indicating the sophistication of the planets technology.


Example:

"techlevel" = "13";


Population

An integer between 0 and 67 indicating the amount of inhabitants of a planet.


Example:

"population" = "23";


Productivity

An integer indicating the productivity of a planet.


Example:

"productivity" = "1000";


Radius

An integer between 3000 and 7000 indicating the radius of a planet.


Example:

"radius" = "5500";


Name

The name of the planet.


Example:

"name" = "The planet's name";

Warning: This name is only used at the "Short Range Chart" (F6) and the "Data Screen" (F7). On the "Long Range Screen" you still will see the old name. And also %I and %H will refer to the original name. e.g the docking computer and all kind of other stuff uses these codes with original names..

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!";


Ambient lighting

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";


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";


Corona Flare

Sets the overall size of the corona in proportion to its sun.

A number from 0.0 (invisibly small) to 1.0 (huge)

Example:

"corona_flare" = "0.075";
N.B.

This feature is disabled by setting Reduced Detail:On in the game setting menu. Enabled by default (Reduced Detail:Off).

Corona Hues

Specifies whether the corona should have visible bands of colours within the corona.

A number from 0.0 (monochromatic) to 1.0 (vivid alternating colours).

Example:

"corona_hues" = "0.6";
N.B.

This feature is disabled by setting Reduced Detail:On in the game setting menu. Enabled by default (Reduced Detail:Off).

Corona Shimmer

Specifies how quickly the corona colours change.

A number from 0.0 (very slow) to 1.0 (very fast).

Example:

"corona_shimmer" = "0.4";
N.B.

This feature is disabled by setting Reduced Detail:On in the game setting menu. Enabled by default (Reduced Detail:Off).

Land HSB Color

Example:

"land_hsb_color" = "0.0..1.0 0.0..1.0 0.0..1.0";


Percent Land

The percentage of the planet occupied by land.

Example:

"percent_land" = "0..100";

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.

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";

Script Actions

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"
)

Sea HSB Color

Example:

"sea_hsb_color" = "0.0..1.0 0.0..1.0 0.0..1.0";


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 overrides a "nebula_count_multiplier" definition.

Example:

"sky_n_blurs" = "800";

Sky N Stars

This is used for defining the number of stars (typical = 600, maximum is 4800). This key overrides a "star_count_multiplier" definition.

Example:

"sky_n_stars" = "1200";

Sky 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.0 1.0 0.5 0.0 1.0 0.0")

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";
}


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";

Station

The type of station orbiting the 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";

stations_require_docking_clearance

Specifies if a player has to explicit ask docking permission. See also Oolite Docking Clearance

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.

"sun_color" = "blueColor";

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";

Sun Gone Nova

Sets a nova sun in the system.

"sun_gone_nova" = "YES";

Sun Radius

Sets the radius of a system's sun.

"sun_radius" = "100000";

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.

Example:

"texture" =  "newPlanetTexture.png";
N.B.

This feature is disabled by setting Detailed Planets:Off in the game setting menu. Enabled by default (Detailed Planets:On).

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";

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_hsb_color" = "0.333 1.0 1.0";
      "sea_hsb_color" =  "0.667 1.0 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";
   }

Custom Planet settings

Finally you can also add keys for your own custom planets and moons, eg.

"LavesPurpleMoon" =
{
...
}

The contents of the { could be: Orientation of the planet in space (seems not to be working correct)

"orientation" = "0.0 1.0 0.0 0.0";

Position of the planet in space. You can use 3 or 4 parameters. With only 3 parameters the internal absolute coordinates are used.

"position" = "0 -50000 0";

or

"position" = "pwm 0 -50000 0";

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.

"radius" = "500";

Rotation of the planet in rotations per second.

"rotational_velocity" = "1";

The name of the texture file that is used to wrap around the surface.

"texture" = "grid.png";

Seed value used to set planet surface parameters. When no seed is defined it uses random values.

"seed" = "1 2 3 4 5 6";

A lot of the keys for the main planet, like: percent_land, can also used in custom planets.

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. If this 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 arrival point in the next galaxy. If none is found, then coordinates (96,96) will be used.