Difference between revisions of "Oolite JavaScript Reference: Planet"

From Elite Wiki
(Added radius reference values)
(Properties: Planet name)
 
(14 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
<small>'''Prototype:''' <code>[[Oolite/Development/Scripting/Class/Entity|Entity]]</code></small><br />
 
<small>'''Prototype:''' <code>[[Oolite/Development/Scripting/Class/Entity|Entity]]</code></small><br />
<small>'''Subtypes:''' none
+
<small>'''Subtypes:''' none</small>
 
{{Oolite-class-added|1.70}}
 
   
 
The '''<code>Planet</code>''' class is an <code>[[Oolite/Development/Scripting/Class/Entity|Entity]]</code> representing a planet or moon. A <code>Planet</code> has all the properties and methods of a <code>Entity</code>, and several others.
 
The '''<code>Planet</code>''' class is an <code>[[Oolite/Development/Scripting/Class/Entity|Entity]]</code> representing a planet or moon. A <code>Planet</code> has all the properties and methods of a <code>Entity</code>, and several others.
   
 
== Properties ==
 
== Properties ==
=== isMainPlanet ===
 
  +
=== <code>hasAtmosphere</code> ===
  +
'''hasAtmosphere''' : Boolean (read-only)
  +
<code>true</code> if the entity has an atmosphere, <code>false</code> otherwise. Planets created with the <code>System.[[Oolite/Development/Scripting/Class/System#addMoon|addMoon]]()</code> method (or corresponding legacy scripting method) have no atmosphere, other planets do.
  +
  +
=== <code>isMainPlanet</code> ===
 
'''isMainPlanet''' : Boolean (read-only)
 
'''isMainPlanet''' : Boolean (read-only)
 
<code>true</code> if the entity is the main planet of the current system, <code>false</code> otherwise.
 
<code>true</code> if the entity is the main planet of the current system, <code>false</code> otherwise.
   
=== hasAtmosphere ===
+
=== <code>name</code> ===
'''hasAtmosphere''' : Boolean (read-only)
+
{{oolite-prop-added|1.79}}
<code>true</code> if the entity has an atmosphere, <code>false</code> otherwise. Planets created with the <code>System.[[Oolite/Development/Scripting/Class/System#addMoon|addMoon]]()</code> method (or corresponding legacy scripting method) have no atmosphere, other planets do.
+
'''name''' : String (read/write)
  +
The name of the planet, as set by the <code>planet_name</code> property in [[planetinfo.plist]]
   
=== radius ===
 
  +
For convenience of working with secondary planets, this can be written to by JS. For the system main planet, writing to <code>system.info.planet_name</code> is preferred.
  +
  +
=== <code>radius</code> ===
 
'''radius''' : Number (read-only)
 
'''radius''' : Number (read-only)
The equatorial radius of the planet, in metres.<br>
+
The equatorial radius of the planet, in metres.
For reference: Radii of planets generated by Oolite vary between 28160 and 69120 meters. This value if shown on the F7 screen as: 2816 km until 6912 km.
+
  +
For reference: radii of main planets generated by Oolite vary between 28160 and 69110 meters. This value is shown on the planet information screen as: 2816 km to 6911 km. (Note the discrepancy of a factor 100.)
  +
  +
=== <code>rotationalVelocity</code> ===
  +
'''rotationalVelocity''' : Number (read/write)
  +
The rotation speed of a planet. A value of x means: x/Math.PI rotations per second. The main planet default value is pseudorandom and varies between 0.0 until 0.01
  +
  +
=== <code>texture</code> ===
  +
'''texture''' : String (read/write)
  +
  +
The name of the texture file (diffuse map) used by the planet. This may only be assigned to during the <code>shipWillExitWitchspace</code> and <code>shipWillLaunchFromStation</code> events.
  +
  +
== Non-standard Properties ==
  +
''These are not part of the official object model, but are used in various OXPs by the authors to allow manipulation of the OXP by other scripts and expansions. '''Important:''' the use of custom properties without a unique OXP-specific prefix is '''strongly discouraged''' and may cause conflicts with future versions of Oolite.''
  +
  +
=== <code>solarGasGiant</code> ===
  +
'''solarGasGiant''' : Boolean (read/write)
  +
<code>true</code> if the entity is a gas giant and should therefore prevent attempts to land on the planet's surface, <code>false</code> otherwise. Created for the Solar System OXP and used by the [[Planetfall OXP]].
   
== Methods ==
 
  +
=== <code>PFNoLand</code> and <code>PFNoLandQuiet</code> ===
  +
'''PFNoLand''' : Boolean (read/write)
  +
'''PFNoLandQuiet''' : Boolean (read/write)
  +
<code>true</code> if landing will be prevented on the planet's surface (with and without a warning message), <code>false</code> otherwise. Created and used by the [[Planetfall OXP]] from version 1.40 onwards.
   
=== <code>setTexture</code> ===
+
=== <code>isGasGiant</code> ===
function '''setTexture'''(texture: String)
+
'''isGasGiant''' : Boolean (read/write)
{{Oolite-method-added|1.71}}
+
<code>true</code> if the entity is a gas giant, <code>false</code> otherwise. Created and used by the [[System_Redux_(Oolite) | System Redux OXP]].
   
Uses the texture file (must be a .png) as texture for the planet. This function only works when called during the shipWillExitWitchspace and shipWillLaunchFromStation events.
 
   
[[Category:Oolite scripting]]
+
[[Category:Oolite JavaScript Reference]]

Latest revision as of 22:27, 6 April 2014

Prototype: Entity
Subtypes: none

The Planet class is an Entity representing a planet or moon. A Planet has all the properties and methods of a Entity, and several others.

Properties

hasAtmosphere

hasAtmosphere : Boolean (read-only)

true if the entity has an atmosphere, false otherwise. Planets created with the System.addMoon() method (or corresponding legacy scripting method) have no atmosphere, other planets do.

isMainPlanet

isMainPlanet : Boolean (read-only)

true if the entity is the main planet of the current system, false otherwise.

name

This property was added in Oolite test release 1.79.

name : String (read/write)

The name of the planet, as set by the planet_name property in planetinfo.plist

For convenience of working with secondary planets, this can be written to by JS. For the system main planet, writing to system.info.planet_name is preferred.

radius

radius : Number (read-only)

The equatorial radius of the planet, in metres.

For reference: radii of main planets generated by Oolite vary between 28160 and 69110 meters. This value is shown on the planet information screen as: 2816 km to 6911 km. (Note the discrepancy of a factor 100.)

rotationalVelocity

rotationalVelocity : Number (read/write)

The rotation speed of a planet. A value of x means: x/Math.PI rotations per second. The main planet default value is pseudorandom and varies between 0.0 until 0.01

texture

texture : String (read/write)

The name of the texture file (diffuse map) used by the planet. This may only be assigned to during the shipWillExitWitchspace and shipWillLaunchFromStation events.

Non-standard Properties

These are not part of the official object model, but are used in various OXPs by the authors to allow manipulation of the OXP by other scripts and expansions. Important: the use of custom properties without a unique OXP-specific prefix is strongly discouraged and may cause conflicts with future versions of Oolite.

solarGasGiant

solarGasGiant : Boolean (read/write)

true if the entity is a gas giant and should therefore prevent attempts to land on the planet's surface, false otherwise. Created for the Solar System OXP and used by the Planetfall OXP.

PFNoLand and PFNoLandQuiet

PFNoLand : Boolean (read/write)
PFNoLandQuiet : Boolean (read/write)

true if landing will be prevented on the planet's surface (with and without a warning message), false otherwise. Created and used by the Planetfall OXP from version 1.40 onwards.

isGasGiant

isGasGiant : Boolean (read/write)

true if the entity is a gas giant, false otherwise. Created and used by the System Redux OXP.