The celestial table contains functions that relate to the client sky, flying the player ship, system positions for planets, system objects, and the celestial database. It is available in the following contexts:
bool
celestial.skyFlying()String
celestial.skyFlyingType()String
celestial.skyWarpPhase()float
celestial.skyWarpProgress()bool
celestial.skyInHyperspace()void
celestial.flyShip(Vec3I
system, SystemLocation
destination)Flies the player ship to the specified SystemLocation in the specified system.
SystemLocation is either of the following types: Null, CelestialCoordinate, Object, Vec2F
The locations are specified as a pair of type and value
local system = celestial.currentSystem().location
local location = nil -- Null
location = {"coordinate", {location = system, planet = 1, satellite = 0}} -- CelestialCoordinate
location = {"object", "11112222333344445555666677778888"} -- Object (UUID)
location = {0.0, 0.0} -- Vec2F (position in space)
celestial.flyShip(system, location)
bool
celestial.flying()Vec2F
celestial.shipSystemPosition()SystemLocation
celestial.shipDestination()SystemLocation
celestial.shipLocation()CelestialCoordinate
celestial.currentSystem()float
celestial.planetSize(CelestialCoordinate
planet)Vec2F
celestial.planetPosition(CelestialCoordinate
planet)CelestialParameters
celestial.planetParameters(CelestialCoordinate
planet)VisitableParameters
celestial.visitableParameters(CelestialCoordinate
planet)String
celestial.planetName(CelestialCoordinate
planet)uint64_t
celestial.planetSeed(CelestialCoordinate
planet)float
celestial.clusterSize(CelestialCoordinate
planet)List<String>
celestial.planetOres(CelestialCoordinate
planet)Vec2F
celestial.systemPosition(SystemLocation
location)Vec2F
celestial.orbitPosition(Orbit
orbit)Returns the calculated position of the provided orbit.
local orbit = {
target = planet, -- the orbit target
direction = 1, -- orbit direction
enterTime = 0, -- time the orbit was entered, universe epoch time
enterPosition = {1, 0} -- the position that the orbit was entered at, relative to the target
}
List<Uuid>
celestial.systemObjects()String
celestial.objectType(Uuid
uuid)Json
celestial.objectParameters(Uuid
uuid)WorldId
celestial.objectWarpActionWorld(Uuid
uuid)Json
celestial.objectOrbit(Uuid
uuid)Maybe<Vec2F>
celestial.objectPosition(Uuid
uuid)Json
celestial.objectTypeConfig(String
typeName)Uuid
celestial.systemSpawnObject(String
typeName, [Vec2F
position], [Uuid
uuid], [Json
parameters])Spawns an object of typeName at position. Optionally with the specified UUID and parameters.
If no position is specified, one is automatically chosen in a spawnable range.
/systemworld.config:clientSpawnObjectPadding
from any planet surface (including moons), star surface, planetary orbit (including moons), or permanent objects orbits, and at most within clientSpawnObjectPadding
from the outermost orbit.List<Uuid>
celestial.playerShips()playerShipPosition
celestial.playerShipPosition(Uuid
uuid)Maybe<bool>
celestial.hasChildren(CelestialCoordinate
coordinate)nil
return means the coordinate is not loaded.List<CelestialCoordinate>
celestial.children(CelestialCoordinate
coordinate)List<int>
celestial.childOrbits(CelestialCoordinate
coordinate)List<CelestialCoordinate>
celestial.scanSystems(RectI
region, [Set<String>
includedTypes])scanRegionFullyLoaded
to see if this is the case.List<pair<Vec2I, Vec2I>>
celestial.scanConstellationLines(RectI
region)bool
celestial.scanRegionFullyLoaded(RectI
region)List<pair<String, float>>
celestial.centralBodyImages(CelestialCoordinate
system)List<pair<String, float>>
celestial.planetaryObjectImages(CelestialCoordinate
coordinate)List<pair<String, float>>
celestial.worldImages(CelestialCoordinate
coordinate)List<pair<String, float>>
celestial.starImages(CelestialCoordinate
system, float
twinkleTime)Returns the star image for the specified system. Requires a twinkle time to provide the correct image frame.