Vessel¶
- public class Vessel¶
These objects are used to interact with vessels in KSP. This includes getting orbital and flight data, manipulating control inputs and managing resources. Created using
getActiveVessel()
orgetVessels()
.- VesselType getType()¶
- void setType(VesselType value)¶
The type of the vessel.
- VesselSituation getSituation()¶
The situation the vessel is in.
- boolean getRecoverable()¶
Whether the vessel is recoverable.
- void recover()¶
Recover the vessel.
- double getMET()¶
The mission elapsed time in seconds.
- Flight flight(ReferenceFrame referenceFrame)¶
Returns a
Flight
object that can be used to get flight telemetry for the vessel, in the specified reference frame.- Parameters:
referenceFrame (
ReferenceFrame
) – Reference frame. Defaults to the vessel’s surface reference frame (Vessel.getSurfaceReferenceFrame()
).
- Game Scenes:
Flight
Note
When this is called with no arguments, the vessel’s surface reference frame is used. This reference frame moves with the vessel, therefore velocities and speeds returned by the flight object will be zero. See the reference frames tutorial for examples of getting the orbital and surface speeds of a vessel.
- Control getControl()¶
Returns a
Control
object that can be used to manipulate the vessel’s control inputs. For example, its pitch/yaw/roll controls, RCS and thrust.- Game Scenes:
Flight
- Comms getComms()¶
Returns a
Comms
object that can be used to interact with CommNet for this vessel.- Game Scenes:
Flight
- AutoPilot getAutoPilot()¶
An
AutoPilot
object, that can be used to perform simple auto-piloting of the vessel.- Game Scenes:
Flight
- int getCrewCapacity()¶
The number of crew that can occupy the vessel.
- int getCrewCount()¶
The number of crew that are occupying the vessel.
- java.util.List<CrewMember> getCrew()¶
The crew in the vessel.
- Resources getResources()¶
A
Resources
object, that can used to get information about resources stored in the vessel.- Game Scenes:
Flight
- Resources resourcesInDecoupleStage(int stage, boolean cumulative)¶
Returns a
Resources
object, that can used to get information about resources stored in a given stage.- Parameters:
stage (
int
) – Get resources for parts that are decoupled in this stage.cumulative (
boolean
) – Whenfalse
, returns the resources for parts decoupled in just the given stage. Whentrue
returns the resources decoupled in the given stage and all subsequent stages combined.
- Game Scenes:
Flight
Note
For details on stage numbering, see the discussion on Staging.
- Parts getParts()¶
A
Parts
object, that can used to interact with the parts that make up this vessel.- Game Scenes:
Flight
- float getMass()¶
The total mass of the vessel, including resources, in kg.
- Game Scenes:
Flight
- float getDryMass()¶
The total mass of the vessel, excluding resources, in kg.
- Game Scenes:
Flight
- float getThrust()¶
The total thrust currently being produced by the vessel’s engines, in Newtons. This is computed by summing
Engine.getThrust()
for every engine in the vessel.- Game Scenes:
Flight
- float getAvailableThrust()¶
Gets the total available thrust that can be produced by the vessel’s active engines, in Newtons. This is computed by summing
Engine.getAvailableThrust()
for every active engine in the vessel.- Game Scenes:
Flight
- float availableThrustAt(double pressure)¶
Gets the total available thrust that can be produced by the vessel’s active engines, in Newtons. This is computed by summing
Engine.availableThrustAt(double)
for every active engine in the vessel. Takes the given pressure into account.- Parameters:
pressure (
double
) – Atmospheric pressure in atmospheres
- Game Scenes:
Flight
- float getMaxThrust()¶
The total maximum thrust that can be produced by the vessel’s active engines, in Newtons. This is computed by summing
Engine.getMaxThrust()
for every active engine.- Game Scenes:
Flight
- float maxThrustAt(double pressure)¶
The total maximum thrust that can be produced by the vessel’s active engines, in Newtons. This is computed by summing
Engine.maxThrustAt(double)
for every active engine. Takes the given pressure into account.- Parameters:
pressure (
double
) – Atmospheric pressure in atmospheres
- Game Scenes:
Flight
- float getMaxVacuumThrust()¶
The total maximum thrust that can be produced by the vessel’s active engines when the vessel is in a vacuum, in Newtons. This is computed by summing
Engine.getMaxVacuumThrust()
for every active engine.- Game Scenes:
Flight
- float getSpecificImpulse()¶
The combined specific impulse of all active engines, in seconds. This is computed using the formula described here.
- Game Scenes:
Flight
- float specificImpulseAt(double pressure)¶
The combined specific impulse of all active engines, in seconds. This is computed using the formula described here. Takes the given pressure into account.
- Parameters:
pressure (
double
) – Atmospheric pressure in atmospheres
- Game Scenes:
Flight
- float getVacuumSpecificImpulse()¶
The combined vacuum specific impulse of all active engines, in seconds. This is computed using the formula described here.
- Game Scenes:
Flight
- float getKerbinSeaLevelSpecificImpulse()¶
The combined specific impulse of all active engines at sea level on Kerbin, in seconds. This is computed using the formula described here.
- Game Scenes:
Flight
- org.javatuples.Triplet<Double, Double, Double> getMomentOfInertia()¶
The moment of inertia of the vessel around its center of mass in \(kg.m^2\). The inertia values in the returned 3-tuple are around the pitch, roll and yaw directions respectively. This corresponds to the vessels reference frame (
ReferenceFrame
).- Game Scenes:
Flight
- java.util.List<Double> getInertiaTensor()¶
The inertia tensor of the vessel around its center of mass, in the vessels reference frame (
ReferenceFrame
). Returns the 3x3 matrix as a list of elements, in row-major order.
- org.javatuples.Pair<org.javatuples.Triplet<Double, Double, Double>, org.javatuples.Triplet<Double, Double, Double>> getAvailableTorque()¶
The maximum torque that the vessel generates. Includes contributions from reaction wheels, RCS, gimballed engines and aerodynamic control surfaces. Returns the torques in \(N.m\) around each of the coordinate axes of the vessels reference frame (
ReferenceFrame
). These axes are equivalent to the pitch, roll and yaw axes of the vessel.- Game Scenes:
Flight
- org.javatuples.Pair<org.javatuples.Triplet<Double, Double, Double>, org.javatuples.Triplet<Double, Double, Double>> getAvailableReactionWheelTorque()¶
The maximum torque that the currently active and powered reaction wheels can generate. Returns the torques in \(N.m\) around each of the coordinate axes of the vessels reference frame (
ReferenceFrame
). These axes are equivalent to the pitch, roll and yaw axes of the vessel.- Game Scenes:
Flight
- org.javatuples.Pair<org.javatuples.Triplet<Double, Double, Double>, org.javatuples.Triplet<Double, Double, Double>> getAvailableRCSTorque()¶
The maximum torque that the currently active RCS thrusters can generate. Returns the torques in \(N.m\) around each of the coordinate axes of the vessels reference frame (
ReferenceFrame
). These axes are equivalent to the pitch, roll and yaw axes of the vessel.- Game Scenes:
Flight
- org.javatuples.Pair<org.javatuples.Triplet<Double, Double, Double>, org.javatuples.Triplet<Double, Double, Double>> getAvailableRCSForce()¶
The maximum force that the currently active RCS thrusters can generate. Returns the forces in \(N\) along each of the coordinate axes of the vessels reference frame (
ReferenceFrame
). These axes are equivalent to the right, forward and bottom directions of the vessel.- Game Scenes:
Flight
- org.javatuples.Pair<org.javatuples.Triplet<Double, Double, Double>, org.javatuples.Triplet<Double, Double, Double>> getAvailableEngineTorque()¶
The maximum torque that the currently active and gimballed engines can generate. Returns the torques in \(N.m\) around each of the coordinate axes of the vessels reference frame (
ReferenceFrame
). These axes are equivalent to the pitch, roll and yaw axes of the vessel.- Game Scenes:
Flight
- org.javatuples.Pair<org.javatuples.Triplet<Double, Double, Double>, org.javatuples.Triplet<Double, Double, Double>> getAvailableControlSurfaceTorque()¶
The maximum torque that the aerodynamic control surfaces can generate. Returns the torques in \(N.m\) around each of the coordinate axes of the vessels reference frame (
ReferenceFrame
). These axes are equivalent to the pitch, roll and yaw axes of the vessel.- Game Scenes:
Flight
- org.javatuples.Pair<org.javatuples.Triplet<Double, Double, Double>, org.javatuples.Triplet<Double, Double, Double>> getAvailableOtherTorque()¶
The maximum torque that parts (excluding reaction wheels, gimballed engines, RCS and control surfaces) can generate. Returns the torques in \(N.m\) around each of the coordinate axes of the vessels reference frame (
ReferenceFrame
). These axes are equivalent to the pitch, roll and yaw axes of the vessel.- Game Scenes:
Flight
- ReferenceFrame getReferenceFrame()¶
The reference frame that is fixed relative to the vessel, and orientated with the vessel.
The origin is at the center of mass of the vessel.
The axes rotate with the vessel.
The x-axis points out to the right of the vessel.
The y-axis points in the forward direction of the vessel.
The z-axis points out of the bottom off the vessel.
- Game Scenes:
Flight
- ReferenceFrame getOrbitalReferenceFrame()¶
The reference frame that is fixed relative to the vessel, and orientated with the vessels orbital prograde/normal/radial directions.
The origin is at the center of mass of the vessel.
The axes rotate with the orbital prograde/normal/radial directions.
The x-axis points in the orbital anti-radial direction.
The y-axis points in the orbital prograde direction.
The z-axis points in the orbital normal direction.
- Game Scenes:
Flight
Note
Be careful not to confuse this with ‘orbit’ mode on the navball.
- ReferenceFrame getSurfaceReferenceFrame()¶
The reference frame that is fixed relative to the vessel, and orientated with the surface of the body being orbited.
The origin is at the center of mass of the vessel.
The axes rotate with the north and up directions on the surface of the body.
The x-axis points in the zenith direction (upwards, normal to the body being orbited, from the center of the body towards the center of mass of the vessel).
The y-axis points northwards towards the astronomical horizon (north, and tangential to the surface of the body – the direction in which a compass would point when on the surface).
The z-axis points eastwards towards the astronomical horizon (east, and tangential to the surface of the body – east on a compass when on the surface).
- Game Scenes:
Flight
Note
Be careful not to confuse this with ‘surface’ mode on the navball.
- ReferenceFrame getSurfaceVelocityReferenceFrame()¶
The reference frame that is fixed relative to the vessel, and orientated with the velocity vector of the vessel relative to the surface of the body being orbited.
The origin is at the center of mass of the vessel.
The axes rotate with the vessel’s velocity vector.
The y-axis points in the direction of the vessel’s velocity vector, relative to the surface of the body being orbited.
The z-axis is in the plane of the astronomical horizon.
The x-axis is orthogonal to the other two axes.
- Game Scenes:
Flight
- org.javatuples.Triplet<Double, Double, Double> position(ReferenceFrame referenceFrame)¶
The position of the center of mass of the vessel, in the given reference frame.
- Parameters:
referenceFrame (
ReferenceFrame
) – The reference frame that the returned position vector is in.
- Returns:
The position as a vector.
- Game Scenes:
Flight
- org.javatuples.Pair<org.javatuples.Triplet<Double, Double, Double>, org.javatuples.Triplet<Double, Double, Double>> boundingBox(ReferenceFrame referenceFrame)¶
The axis-aligned bounding box of the vessel in the given reference frame.
- Parameters:
referenceFrame (
ReferenceFrame
) – The reference frame that the returned position vectors are in.
- Returns:
The positions of the minimum and maximum vertices of the box, as position vectors.
- Game Scenes:
Flight
- org.javatuples.Triplet<Double, Double, Double> velocity(ReferenceFrame referenceFrame)¶
The velocity of the center of mass of the vessel, in the given reference frame.
- Parameters:
referenceFrame (
ReferenceFrame
) – The reference frame that the returned velocity vector is in.
- Returns:
The velocity as a vector. The vector points in the direction of travel, and its magnitude is the speed of the body in meters per second.
- Game Scenes:
Flight
- org.javatuples.Quartet<Double, Double, Double, Double> rotation(ReferenceFrame referenceFrame)¶
The rotation of the vessel, in the given reference frame.
- Parameters:
referenceFrame (
ReferenceFrame
) – The reference frame that the returned rotation is in.
- Returns:
The rotation as a quaternion of the form \((x, y, z, w)\).
- Game Scenes:
Flight
- org.javatuples.Triplet<Double, Double, Double> direction(ReferenceFrame referenceFrame)¶
The direction in which the vessel is pointing, in the given reference frame.
- Parameters:
referenceFrame (
ReferenceFrame
) – The reference frame that the returned direction is in.
- Returns:
The direction as a unit vector.
- Game Scenes:
Flight
- org.javatuples.Triplet<Double, Double, Double> angularVelocity(ReferenceFrame referenceFrame)¶
The angular velocity of the vessel, in the given reference frame.
- Parameters:
referenceFrame (
ReferenceFrame
) – The reference frame the returned angular velocity is in.
- Returns:
The angular velocity as a vector. The magnitude of the vector is the rotational speed of the vessel, in radians per second. The direction of the vector indicates the axis of rotation, using the right-hand rule.
- Game Scenes:
Flight
- public enum VesselType¶
The type of a vessel. See
Vessel.getType()
.- public VesselType BASE¶
Base.
- public VesselType DEBRIS¶
Debris.
- public VesselType LANDER¶
Lander.
- public VesselType PLANE¶
Plane.
- public VesselType PROBE¶
Probe.
- public VesselType RELAY¶
Relay.
- public VesselType ROVER¶
Rover.
- public VesselType SHIP¶
Ship.
- public VesselType STATION¶
Station.
- public VesselType SPACE_OBJECT¶
SpaceObject.
- public VesselType UNKNOWN¶
Unknown.
- public VesselType EVA¶
EVA.
- public VesselType FLAG¶
Flag.
- public VesselType DEPLOYED_SCIENCE_CONTROLLER¶
DeployedScienceController.
- public VesselType DEPLOYED_SCIENCE_PART¶
DeploedSciencePart.
- public VesselType DROPPED_PART¶
DroppedPart.
- public VesselType DEPLOYED_GROUND_PART¶
DeployedGroundPart.
- public enum VesselSituation¶
The situation a vessel is in. See
Vessel.getSituation()
.- public VesselSituation DOCKED¶
Vessel is docked to another.
- public VesselSituation ESCAPING¶
Escaping.
- public VesselSituation FLYING¶
Vessel is flying through an atmosphere.
- public VesselSituation LANDED¶
Vessel is landed on the surface of a body.
- public VesselSituation ORBITING¶
Vessel is orbiting a body.
- public VesselSituation PRE_LAUNCH¶
Vessel is awaiting launch.
- public VesselSituation SPLASHED¶
Vessel has splashed down in an ocean.
- public VesselSituation SUB_ORBITAL¶
Vessel is on a sub-orbital trajectory.
- public class CrewMember¶
Represents crew in a vessel. Can be obtained using
Vessel.getCrew()
.- CrewMemberType getType()¶
The type of crew member.
- boolean getOnMission()¶
Whether the crew member is on a mission.
- float getCourage()¶
- void setCourage(float value)¶
The crew members courage.
- float getStupidity()¶
- void setStupidity(float value)¶
The crew members stupidity.
- float getExperience()¶
- void setExperience(float value)¶
The crew members experience.
- boolean getBadass()¶
- void setBadass(boolean value)¶
Whether the crew member is a badass.
- boolean getVeteran()¶
- void setVeteran(boolean value)¶
Whether the crew member is a veteran.
- CrewMemberGender getGender()¶
The crew member’s gender.
- RosterStatus getRosterStatus()¶
The crew member’s current roster status.
- public enum CrewMemberType¶
The type of a crew member. See
CrewMember.getType()
.- public CrewMemberType APPLICANT¶
An applicant for crew.
- public CrewMemberType CREW¶
Rocket crew.
- public CrewMemberType TOURIST¶
A tourist.
- public CrewMemberType UNOWNED¶
An unowned crew member.
- public enum CrewMemberGender¶
A crew member’s gender. See
CrewMember.getGender()
.- public CrewMemberGender MALE¶
Male.
- public CrewMemberGender FEMALE¶
Female.
- public enum RosterStatus¶
A crew member’s roster status. See
CrewMember.getRosterStatus()
.- public RosterStatus AVAILABLE¶
Available.
- public RosterStatus ASSIGNED¶
Assigned.
- public RosterStatus DEAD¶
Dead.
- public RosterStatus MISSING¶
Missing.