Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

Sandbox.ModAPI.Ingame.IMyCockpit

Morten Aune Lyrstad edited this page Apr 16, 2022 · 69 revisions

IndexNamespace Index

IMyCockpit Interface

public interface IMyCockpit: IMyShipController, IMyTerminalBlock, IMyCubeBlock, IMyEntity, IMyTextSurfaceProvider

Describes cockpit block (PB scripting interface)

Namespace: Sandbox.ModAPI.Ingame
Assembly: Sandbox.Common.dll

Implements:

Inheritors:

Type Definitions:

  • MyObjectBuilder_Cockpit/BuggyCockpit
  • MyObjectBuilder_Cockpit/CockpitOpen
  • MyObjectBuilder_Cockpit/DBSmallBlockFighterCockpit
  • MyObjectBuilder_Cockpit/LargeBlockBathroom
  • MyObjectBuilder_Cockpit/LargeBlockBathroomOpen
  • MyObjectBuilder_Cockpit/LargeBlockCockpit
  • MyObjectBuilder_Cockpit/LargeBlockCockpitIndustrial
  • MyObjectBuilder_Cockpit/LargeBlockCockpitSeat
  • MyObjectBuilder_Cockpit/LargeBlockCouch
  • MyObjectBuilder_Cockpit/LargeBlockCouchCorner
  • MyObjectBuilder_Cockpit/LargeBlockDesk
  • MyObjectBuilder_Cockpit/LargeBlockDeskCorner
  • MyObjectBuilder_Cockpit/LargeBlockStandingCockpit
  • MyObjectBuilder_Cockpit/LargeBlockToilet
  • MyObjectBuilder_Cockpit/OpenCockpitLarge
  • MyObjectBuilder_Cockpit/OpenCockpitSmall
  • MyObjectBuilder_Cockpit/PassengerBench
  • MyObjectBuilder_Cockpit/PassengerSeatLarge
  • MyObjectBuilder_Cockpit/PassengerSeatSmallNew
  • MyObjectBuilder_Cockpit/PassengerSeatSmallOffset
  • MyObjectBuilder_Cockpit/RoverCockpit
  • MyObjectBuilder_Cockpit/SmallBlockCockpit
  • MyObjectBuilder_Cockpit/SmallBlockCockpitIndustrial
  • MyObjectBuilder_Cockpit/SmallBlockStandingCockpit

Properties

SerializableDefinitionId BlockDefinition { get; }

Gets definition.Id assigned to this block

Inherited from IMyCubeBlock

bool CanControlShip { get; }

Determines whether this specific ship controller is capable of controlling the ship it's installed on.

Inherited from IMyShipController

Vector3D CenterOfMass { get; }

Center of mass in world coordinates

Inherited from IMyShipController

bool Closed { get; }

True if the block has been removed from the world.

Inherited from IMyEntity

MyEntityComponentContainer Components { get; }

Gets blocks component logic container

Inherited from IMyEntity

bool ControlThrusters { get; set; }

Gets or sets whether thrusters are being controlled by this controller.

Inherited from IMyShipController

bool ControlWheels { get; set; }

Gets or sets whether wheels are being controlled by this controller.

Inherited from IMyShipController

IMyCubeGrid CubeGrid { get; }

Grid in which the block is placed

Inherited from IMyCubeBlock

string CustomData { get; set; }

Gets or sets the Custom Data string. NOTE: Only use this for user input. For storing large mod configs, create your own MyModStorageComponent

Inherited from IMyTerminalBlock

string CustomInfo { get; }

Gets information about block status (available from mods) Sandbox.ModAPI.IMyTerminalBlock.AppendingCustomInfo Sandbox.ModAPI.IMyTerminalBlock.RefreshCustomInfo .

Inherited from IMyTerminalBlock

string CustomName { get; set; }

Gets or sets how block is named in Terminal menu

Inherited from IMyTerminalBlock

string CustomNameWithFaction { get; }

Gets or sets how block is named in Terminal menu. Work only for Cockpit, LaserAntenna RadioAntenna, SpaceBall, Beacon

Inherited from IMyTerminalBlock

bool DampenersOverride { get; set; }

Gets or sets whether dampeners are currently enabled.

Inherited from IMyShipController

string DefinitionDisplayNameText { get; }

Definition name

Inherited from IMyCubeBlock

string DetailedInfo { get; }

Gets information about block status. In Control panel bottom right text

Inherited from IMyTerminalBlock

float DisassembleRatio { get; }

Is set in definition Ratio at which is the block disassembled (grinding) Bigger values - longer grinding

Inherited from IMyCubeBlock

string DisplayName { get; }

Gets user friendly name of entity. May be null For block terminal name use DisplayNameText

Inherited from IMyEntity

string DisplayNameText { get; }

Translated block name

Inherited from IMyCubeBlock

long EntityId { get; }

Id of entity

Inherited from IMyEntity

bool HandBrake { get; set; }

Gets or sets the current state of the handbrake.

Inherited from IMyShipController

bool HasInventory { get; }

Returns true if this entity has got at least one inventory. Note that one aggregate inventory can contain zero simple inventories => zero will be returned even if GetInventory() != null.

Inherited from IMyEntity

bool HasWheels { get; }

Determines whether there are any wheels on this ship.

Inherited from IMyShipController

int InventoryCount { get; }

Returns the count of the number of inventories this entity has.

Inherited from IMyEntity

bool IsBeingHacked { get; }

Hacking of the block is in progress

Inherited from IMyCubeBlock

bool IsFunctional { get; }

Gets if integrity is above breaking threshold

Inherited from IMyCubeBlock

bool IsMainCockpit { get; set; }

Gets or sets if this controller is the main one for current ship Setter checks if there is any other main cockpit on the ship before proceeding

Inherited from IMyShipController

bool IsUnderControl { get; }

Indicates whether a block is locally or remotely controlled.

Inherited from IMyShipController

bool IsWorking { get; }

True if block is able to do its work depening on block type (is functional, powered, enabled, etc...)

Inherited from IMyCubeBlock

float Mass { get; }

Block mass

Inherited from IMyCubeBlock

Vector3I Max { get; }

Maximum coordinates of grid cells occupied by this block

Inherited from IMyCubeBlock

Vector3I Min { get; }

Minimum coordinates of grid cells occupied by this block

Inherited from IMyCubeBlock

Vector3 MoveIndicator { get; }

Directional input from user/autopilot. Values can be very large with high controller sensitivity

Inherited from IMyShipController

string Name { get; }

Some entities can have uniq name, and game can find them by name VRage.ModAPI.IMyEntities.TryGetEntityByName(System.String,VRage.ModAPI.IMyEntity@)

Inherited from IMyEntity

int NumberInGrid { get; }

Order in which were the blocks of same type added to grid Used in default display name

Inherited from IMyCubeBlock

MyBlockOrientation Orientation { get; }

Returns block orientation in base 6 directions

Inherited from IMyCubeBlock

long OwnerId { get; }

IdentityId of player owning block (not steam Id)

Inherited from IMyCubeBlock

float OxygenCapacity { get; }

Gets the maximum oxygen capacity of this cockpit.

float OxygenFilledRatio { get; }

Gets the current oxygen level of this cockpit, as a value between 0 (empty) and 1 (full).

Vector3I Position { get; }

Position in grid coordinates

Inherited from IMyCubeBlock

float RollIndicator { get; }

Roll input from user/autopilot. Values can be very large with high controller sensitivity

Inherited from IMyShipController

Vector2 RotationIndicator { get; }

Pitch, yaw input from user/autopilot. Values can be very large with high controller sensitivity

Inherited from IMyShipController

bool ShowHorizonIndicator { get; set; }

Gets or sets whether the horizon indicator should be displayed for this block.

Inherited from IMyShipController

bool ShowInInventory { get; set; }

Represent terminal gui toggle Show block in Inventory Screen. Gets or sets its value

Inherited from IMyTerminalBlock

bool ShowInTerminal { get; set; }

Represent terminal gui toggle Show block in terminal. Gets or sets its value

Inherited from IMyTerminalBlock

bool ShowInToolbarConfig { get; set; }

Represent terminal gui toggle Show in toolbar config. Gets or sets its value

Inherited from IMyTerminalBlock

bool ShowOnHUD { get; set; }

Represent terminal gui toggle Show On HUD. Gets or sets its value

Inherited from IMyTerminalBlock

int SurfaceCount { get; }

Get surfaces count

Inherited from IMyTextSurfaceProvider

bool UseGenericLcd { get; }

Whether generic LCD terminal controls should be created

Inherited from IMyTextSurfaceProvider

BoundingBoxD WorldAABB { get; }

Gets world axis-aligned bounding box

Inherited from IMyEntity

BoundingBoxD WorldAABBHr { get; }

Gets world axis-aligned bounding box

Inherited from IMyEntity

MatrixD WorldMatrix { get; }

Gets world matrix of this entity

Inherited from IMyEntity

BoundingSphereD WorldVolume { get; }

Gets bounding sphere of this entity

Inherited from IMyEntity

BoundingSphereD WorldVolumeHr { get; }

Gets bounding sphere of this entity

Inherited from IMyEntity

Methods

MyShipMass CalculateShipMass()

Gets information about the current mass of the ship.

Inherited from IMyShipController

void GetActions(List<ITerminalAction> resultList, Func<ITerminalAction, bool> collect = null)

Get all terminal actions available for block

Inherited from IMyTerminalBlock

ITerminalAction GetActionWithName(string name)

Get first found terminal action with name

Inherited from IMyTerminalBlock

Vector3D GetArtificialGravity()

Gets the detected artificial gravity vector and power at the current location.

Inherited from IMyShipController

IMyInventory GetInventory()

Simply get the MyInventoryBase component stored in this entity.

Inherited from IMyEntity

IMyInventory GetInventory(int index)

Search for inventory component with maching index.

Inherited from IMyEntity

Vector3D GetNaturalGravity()

Gets the detected natural gravity vector and power at the current location.

Inherited from IMyShipController

string GetOwnerFactionTag()

Tag of faction owning block

Inherited from IMyCubeBlock

MyRelationsBetweenPlayerAndBlock GetPlayerRelationToOwner()

Obsolete: GetPlayerRelationToOwner() is useless ingame. Mods should use the one in ModAPI.IMyCubeBlock

Relation of local player to the block Should not be called on Dedicated Server.

Inherited from IMyCubeBlock

Vector3D GetPosition()

Gets position in world coordinates

Inherited from IMyEntity

void GetProperties(List<ITerminalProperty> resultList, Func<ITerminalProperty, bool> collect = null)

Get all terminal actions available for block.

Inherited from IMyTerminalBlock

ITerminalProperty GetProperty(string id)

Finds terminal property with provided id

Inherited from IMyTerminalBlock

double GetShipSpeed()

Gets the basic ship speed in meters per second, for when you just need to know how fast you're going.

Inherited from IMyShipController

MyShipVelocities GetShipVelocities()

Determines the linear velocities in meters per second and angular velocities in radians per second. Provides a more accurate representation of the directions and axis speeds.

Inherited from IMyShipController

IMyTextSurface GetSurface(int index)

Get surface by index

Inherited from IMyTextSurfaceProvider

Vector3D GetTotalGravity()

Gets the total accumulated gravity vector and power at the current location, taking both natural and artificial gravity into account.

Inherited from IMyShipController

MyRelationsBetweenPlayerAndBlock GetUserRelationToOwner(long playerId, MyRelationsBetweenPlayerAndBlock defaultNoUser = MyRelationsBetweenPlayerAndBlock.NoOwnership)

Gets relation to owner of block

Inherited from IMyCubeBlock

bool HasLocalPlayerAccess()

Returns if local player can use block. Executes HasPlayerAccess(long, MyRelationsBetweenPlayerAndBlock = MyRelationsBetweenPlayerAndBlock.NoOwnership) with local player identityId. On Dedicated Server as identityId it is using 0 as playerId

Inherited from IMyTerminalBlock

bool HasPlayerAccess(long playerId, MyRelationsBetweenPlayerAndBlock defaultNoUser = MyRelationsBetweenPlayerAndBlock.NoOwnership)

Returns if local player can use block. It is also checking for admin access.

Inherited from IMyTerminalBlock

bool IsSameConstructAs(IMyTerminalBlock other)

Determines whether this block is VRage.Game.ModAPI.GridLinkTypeEnum.Mechanical connected to the other. This is any block connected with rotors or pistons or other mechanical devices, but not things like connectors. This will in most cases constitute your complete construct.

Be aware that using merge blocks combines grids into one, so this function will not filter out grids connected that way. Also be aware that detaching the heads of pistons and rotors will cause this connection to change.

Inherited from IMyTerminalBlock

void SearchActionsOfName(string name, List<ITerminalAction> resultList, Func<ITerminalAction, bool> collect = null)

Get all terminal actions available for block. NOTE: First called `

and then

` check

Inherited from IMyTerminalBlock

void SetCustomName(string text)

Obsolete: Use the setter of Customname

Inherited from IMyTerminalBlock

void SetCustomName(StringBuilder text)

Obsolete: Use the setter of Customname

Inherited from IMyTerminalBlock

bool TryGetPlanetElevation(MyPlanetElevation detail, out double elevation)

Attempts to get the elevation of the ship in relation to the nearest planet. This method is only available when a ship is within the gravity well of a planet.

Inherited from IMyShipController

bool TryGetPlanetPosition(out Vector3D position)

Attempts to get the world position of the nearest planet. This method is only available when a ship is within the gravity well of a planet.

Inherited from IMyShipController

void UpdateIsWorking()

Obsolete

Force refresh working state. Call if you change block state that could affect its working status.

Inherited from IMyCubeBlock

void UpdateVisual()

Obsolete

Updates block visuals (ie. block emissivity)

Inherited from IMyCubeBlock

Clone this wiki locally