Difference between revisions of "Programmable Block"

From Space Engineers Wiki
Jump to: navigation, search
(Add some of the API)
Line 44: Line 44:
 
This is a list of all API functions currently available<ref>http://steamcommunity.com/sharedfiles/filedetails/?id=360966557</ref>.
 
This is a list of all API functions currently available<ref>http://steamcommunity.com/sharedfiles/filedetails/?id=360966557</ref>.
  
==== GridTerminalSystem ====
+
=== GridTerminalSystem ===
  
 
Currently only following “built-in” variable that user can use: GridTerminalSystem. This is entry point of entire grid terminal system.
 
Currently only following “built-in” variable that user can use: GridTerminalSystem. This is entry point of entire grid terminal system.
 +
 +
==== Properties ====
  
 
{| class="wikitable"
 
{| class="wikitable"
! Method/Property
+
! Property
 
! Return Type
 
! Return Type
 
! Description
 
! Description
 +
! get
 +
! set
 
|-
 
|-
 
| Blocks
 
| Blocks
 
| List<IMyTerminalBlock>
 
| List<IMyTerminalBlock>
 
| Returns a list of all blocks on the grid
 
| Returns a list of all blocks on the grid
 +
| V
 +
| X
 
|-
 
|-
 
| BlockGroups
 
| BlockGroups
 
| List<IMyBlockGroup>
 
| List<IMyBlockGroup>
 
| Returns a list of all groups in the grid.
 
| Returns a list of all groups in the grid.
 +
| V
 +
| X
 +
|}
 +
 +
==== Methods ====
 +
 +
{| class="wikitable"
 +
! Method
 +
! Return Type
 +
! Description
 
|-
 
|-
 
| GetBlocksOfType<T>(List<IMyTerminalBlock> blocks, Func<IMyTerminalBlock, bool> collect = null)
 
| GetBlocksOfType<T>(List<IMyTerminalBlock> blocks, Func<IMyTerminalBlock, bool> collect = null)
Line 74: Line 90:
 
|}
 
|}
  
==== IMyCubeBlock ====
+
=== IMyCubeBlock ===
  
 
IMyCubeBlock is base class for every terminal block.
 
IMyCubeBlock is base class for every terminal block.
 +
 +
==== Properties ====
  
 
{| class="wikitable"
 
{| class="wikitable"
! Method/Property
+
! Property
 
! Return Type
 
! Return Type
 
! Description
 
! Description
 +
! get
 +
! set
 
|-
 
|-
 
| IsBeingHacked
 
| IsBeingHacked
 
| boolean
 
| boolean
 
| Returns true if block is being hacked
 
| Returns true if block is being hacked
 +
| V
 +
| X
 
|-
 
|-
 
| IsFunctional  
 
| IsFunctional  
 
| boolean  
 
| boolean  
 
| Returns true if current block is operational
 
| Returns true if current block is operational
 +
| V
 +
| X
 
|-
 
|-
 
| IsWorking  
 
| IsWorking  
 
| boolean
 
| boolean
 
| Returns true if current block is powered
 
| Returns true if current block is powered
 +
| V
 +
| X
 
|-
 
|-
 
| Position  
 
| Position  
 
| VRageMath.Vector3I
 
| VRageMath.Vector3I
 
| Returns current position
 
| Returns current position
 +
| V
 +
| X
 +
|}
 +
 +
=== IMyTerminalBlock ===
 +
 +
MyTerminalBlock is base class for every terminal block.
 +
 +
==== Properties ====
 +
 +
{| class="wikitable"
 +
! Property
 +
! Return Type
 +
! Description
 +
! get
 +
! set
 +
|-
 +
| CustomName
 +
| String
 +
| Returns name of the block
 +
| V
 +
| X
 +
|-
 +
| CustomNameWithFaction
 +
| String
 +
| ...
 +
| V
 +
| X
 +
|-
 +
| DetailedInfo
 +
| String
 +
| ...
 +
| V
 +
| X
 +
|-
 +
| ShowOnHUD
 +
| boolean
 +
| Whether block shows up on hud
 +
| V
 +
| X
 +
|}
 +
 +
==== Methods ====
 +
 +
{| class="wikitable"
 +
! Method
 +
! Return Type
 +
! Description
 +
|-
 +
| HasLocalPlayerAccess()
 +
| boolean
 +
| ...
 +
|-
 +
| HasPlayerAccess(long playerId)
 +
| boolean
 +
| ...
 +
|-
 +
| RequestShowOnHUD(bool enable)
 +
| void
 +
| ...
 +
|-
 +
| SetCustomName(string text)
 +
| void
 +
| Set the name of the block
 +
|-
 +
| SetCustomName(StringBuilder text)
 +
| void
 +
| Set the name of the block
 +
|-
 +
| GetActions(List<ITerminalAction> resultList, Func<ITerminalAction, bool> collect = null)
 +
| void
 +
| Populates list with available actions
 +
|-
 +
| SearchActionsOfName(string name,List<ITerminalAction> resultList, Func<ITerminalAction, bool> collect = null)
 +
| void
 +
| Populates list with available actions matching the name (Case Insensitive)
 +
|-
 +
| GetActionWithName(string name)
 +
| ITerminalAction
 +
| Returns action with specified name (Case Sensitive)
 +
|}
 +
 +
=== ITerminalAction ===
 +
 +
ITerminal action is representation of concrete action that can be triggered.
 +
 +
==== Properties ====
 +
 +
{| class="wikitable"
 +
! Property
 +
! Return Type
 +
! Description
 +
! get
 +
! set
 +
|-
 +
| Id
 +
| String
 +
| Returns id of the action
 +
| V
 +
| X
 +
|-
 +
| Name
 +
| StringBuilder
 +
| Returns the name of the action
 +
| V
 +
| X
 +
|}
 +
 +
==== Methods ====
 +
 +
{| class="wikitable"
 +
! Method
 +
! Return Type
 +
! Description
 +
|-
 +
| Apply(IMyCubeBlock block)
 +
| void
 +
| Apply the action on a block
 +
|}
 +
 +
=== IMyFunctionalBlock ===
 +
 +
IMyFunctionalBlock is base class for every block that can be turned on or off, it’s derived from IMyTerminal block e.g. every Functional block is Terminal block but not all terminal blocks can be turned on or off.
 +
 +
==== Properties ====
 +
 +
{| class="wikitable"
 +
! Property
 +
! Return Type
 +
! Description
 +
! get
 +
! set
 +
|-
 +
| Enabled
 +
| boolean
 +
| Returns true if the block is turned on
 +
| V
 +
| X
 
|}
 
|}
  
 +
== Action List ==
 +
 +
All terminal blocks have the following properties:
 +
Interface name: this name is the name of the block in code, it can differ from the name as displayed in the building screen. E.g. Antenna interface name is IMyRadioAntenna - you need to use this interface if you want to get all antennas.
 +
 +
'''Parent:''' this is parent of the block (all blocks have IMyTerminalBlock as parent), this can be used for getting type of blocks instead of concrete block type. E.g. if you want to get all lights in grid you will use IMyLightingBlock, if you want only interior light you can use IMyInteriorLight.
 +
 +
'''Field:''' this is read only field available for block e.g. for IMyBeacon you can get Radius property. Based on this property you can increase/decrease radius of beacon.
 +
 +
'''Actions:''' these are all available actions for block with their names in game, so if you want to increase broadcast radius for antenna, you need to execute DecreaseRadius action for block.
 +
 +
=== Antenna ===
 +
 +
'''Interface name:''' IMyRadioAntenna<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' float Radius
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseRadius -> Increase Broadcast radius<br />
 +
DecreaseRadius -> Decrease Broadcast radius
 +
 +
=== Arc Furnace ===
 +
 +
'''Interface name:''' IMyRefinery<br />
 +
'''Parent:''' IMyProductionBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  bool UseConveyorSystem
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Artificial Mass ===
 +
 +
'''Interface name:''' IMyVirtualMass<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  None
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off
 +
 +
=== Assembler ===
 +
 +
'''Interface name:''' IMyAssembler<br />
 +
'''Parent:''' IMyProductionBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  bool UseConveyorSystem
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Battery ===
 +
 +
'''Interface name:''' IMyBatteryBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  bool HasCapacityRemaining
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Recharge -> Recharge On/Off
 +
 +
=== Beacon ===
 +
 +
'''Interface name:''' IMyBeacon<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  float Radius
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseRadius -> Increase Broadcast radius<br />
 +
DecreaseRadius -> Decrease Broadcast radius
 +
 +
=== Button Panel ===
 +
 +
'''Interface name:''' IMyButtonPanel<br />
 +
'''Fields:'''  bool AnyoneCanUse
 +
 +
'''Actions'''
 +
AnyoneCanUse -> Anyone Can Use On/Off
 +
 +
=== Camera
 +
'''Interface name:''' IMyCameraBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  None
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
View -> View
 +
 +
=== Cockpit ===
 +
 +
'''Interface name:''' IMyCockpit<br />
 +
'''Parent:''' IMyShipController<br />
 +
'''Fields:''' <br />
 +
bool ControlWheels<br />
 +
bool ControlThrusters<br />
 +
bool HandBrake <br />
 +
bool DampenersOverride
 +
 +
'''Actions'''
 +
ControlThrusters -> Control thrusters On/Off<br />
 +
ControlWheels -> Control wheels On/Off<br />
 +
HandBrake -> Handbrake On/Off<br />
 +
DampenersOverride -> Inertia dampeners On/Off
 +
 +
=== Collector ===
 +
 +
'''Interface name:''' IMyCollector<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  bool UseConveyorSystem
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Connector ===
 +
 +
'''Interface name:''' IMyShipConnector<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br />
 +
bool ThrowOut <br />
 +
bool CollectAll <br />
 +
bool IsLocked
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
ThrowOut -> Throw Out On/Off<br />
 +
CollectAll -> Collect All On/Off<br />
 +
SwitchLock -> Switch lock
 +
 +
=== Control Panel ===
 +
 +
'''Interface name:''' IMyControlPanel<br />
 +
'''Fields:'''  None<br />
 +
Actions: None
 +
 +
=== Control Station ===
 +
 +
'''Interface name:''' IMyCockpit<br />
 +
'''Parent:''' IMyShipController<br />
 +
'''Fields:''' <br />
 +
bool ControlWheels<br />
 +
bool ControlThrusters<br />
 +
bool HandBrake <br />
 +
bool DampenersOverride
 +
 +
'''Actions'''
 +
ControlThrusters -> Control thrusters On/Off<br />
 +
ControlWheels -> Control wheels On/Off<br />
 +
HandBrake -> Handbrake On/Off<br />
 +
DampenersOverride -> Inertia dampeners On/Off
 +
 +
=== Door ===
 +
 +
'''Interface name:''' IMyDoor<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  bool Open
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Open -> Open/Closed<br />
 +
Open_On -> Open<br />
 +
Open_Off -> Closed
 +
 +
=== Drill ===
 +
 +
'''Interface name:''' IMyShipDrill<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  bool UseConveyorSystem
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Flight Seat ===
 +
 +
'''Interface name:''' IMyCockpit<br />
 +
'''Parent:''' IMyShipController<br />
 +
'''Fields:''' <br />
 +
bool ControlWheels<br />
 +
bool ControlThrusters<br />
 +
bool HandBrake <br />
 +
bool DampenersOverride
 +
 +
'''Actions'''
 +
ControlThrusters -> Control thrusters On/Off<br />
 +
ControlWheels -> Control wheels On/Off<br />
 +
HandBrake -> Handbrake On/Off<br />
 +
DampenersOverride -> Inertia dampeners On/Off
 +
 +
=== Gatling Turret ===
 +
 +
'''Interface name:''' IMyLargeGatlingTurret<br />
 +
'''Parent:''' IMyLargeConveyorTurretBase<br />
 +
'''Parent:''' IMyLargeTurretBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br />
 +
bool UseConveyorSystem <br />
 +
bool CanControl<br />
 +
float Range
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Control -> Control<br />
 +
IncreaseRange -> Increase Radius<br />
 +
DecreaseRange -> Decrease Radius<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Gravity Generator ===
 +
 +
'''Interface name:''' IMyGravityGenerator<br />
 +
'''Parent:''' IMyGravityGeneratorBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br />
 +
float FieldWidth <br />
 +
float FieldHeight <br />
 +
float FieldDepth <br />
 +
float Gravity
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseWidth -> Increase Field width<br />
 +
DecreaseWidth -> Decrease Field width<br />
 +
IncreaseHeight -> Increase Field height<br />
 +
DecreaseHeight -> Decrease Field height<br />
 +
IncreaseDepth -> Increase Field depth<br />
 +
DecreaseDepth -> Decrease Field depth<br />
 +
IncreaseGravity -> Increase Acceleration<br />
 +
DecreaseGravity -> Decrease Acceleration
 +
 +
=== Grinder ===
 +
 +
'''Interface name:''' IMyShipGrinder<br />
 +
'''Parent:''' IMyShipToolBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''  None
 +
 +
'''Actions'''
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Gyroscope ===
 +
 +
'''Interface name:''' IMyGyro<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br />
 +
float GyroPower <br />
 +
bool GyroOverride <br />
 +
float Yaw <br />
 +
float Pitch <br />
 +
float Roll
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreasePower -> Increase Power<br />
 +
DecreasePower -> Decrease Power<br />
 +
Override -> Override controls On/Off<br />
 +
IncreaseYaw -> Increase Yaw override<br />
 +
DecreaseYaw -> Decrease Yaw override<br />
 +
IncreasePitch -> Increase Pitch override<br />
 +
DecreasePitch -> Decrease Pitch override<br />
 +
IncreaseRoll -> Increase Roll override<br />
 +
DecreaseRoll -> Decrease Roll override
 +
 +
=== Interior Light ===
 +
 +
'''Interface name:''' IMyInteriorLight<br />
 +
'''Parent:''' IMyLightingBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float Radius<br />
 +
float Intensity<br />
 +
float BlinkIntervalSeconds<br />
 +
float BlinkLenght<br />
 +
float BlinkOffset
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseRadius -> Increase Radius<br />
 +
DecreaseRadius -> Decrease Radius<br />
 +
IncreaseBlink Interval -> Increase Blink Interval<br />
 +
DecreaseBlink Interval -> Decrease Blink Interval<br />
 +
IncreaseBlink Lenght -> Increase Blink Length<br />
 +
DecreaseBlink Lenght -> Decrease Blink Length<br />
 +
IncreaseBlink Offset -> Increase Blink Offset<br />
 +
DecreaseBlink Offset -> Decrease Blink Offset
 +
 +
=== Interior Turret ===
 +
 +
'''Interface name:''' IMyLargeInteriorTurret<br />
 +
'''Parent:''' IMyLargeTurretBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
bool CanControl<br />
 +
float Range
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Control -> Control<br />
 +
IncreaseRange -> Increase Radius<br />
 +
DecreaseRange -> Decrease Radius
 +
 +
=== Landing Gear ===
 +
 +
'''Interface name:''' IMyLandingGear<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float BreakForce
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Lock -> Lock<br />
 +
Unlock -> Unlock<br />
 +
SwitchLock -> Switch lock<br />
 +
Autolock -> Autolock On/Off<br />
 +
IncreaseBreakForce -> Increase Break Force<br />
 +
DecreaseBreakForce -> Decrease Break Force
 +
 +
=== Small Cargo Container ===
 +
 +
'''Interface name:''' IMyCargoContainer<br />
 +
'''Fields:''' None<br />
 +
Actions: None
 +
 +
=== Medium Cargo Container ===
 +
 +
'''Interface name:''' IMyCargoContainer<br />
 +
'''Fields:''' None<br />
 +
Actions:None
 +
 +
=== Large Cargo Container ===
 +
 +
'''Interface name:''' IMyCargoContainer<br />
 +
'''Fields:''' None<br />
 +
Actions: None
 +
 +
=== Small Reactor ===
 +
 +
'''Interface name:''' IMyReactor<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
bool UseConveyorSystem
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Large Reactor ===
 +
 +
'''Interface name:''' IMyReactor<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' bool UseConveyorSystem
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Small Thruster ===
 +
 +
'''Interface name:''' IMyThrust<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' float ThrustOverride
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseOverride -> Increase Thrust override<br />
 +
DecreaseOverride -> Decrease Thrust override
 +
 +
=== Large Thruster ===
 +
 +
'''Interface name:''' IMyThrust<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' float ThrustOverride
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseOverride -> Increase Thrust override<br />
 +
DecreaseOverride -> Decrease Thrust override
 +
 +
=== Medical Room ===
 +
 +
'''Interface name:''' IMyMedicalRoom<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' None
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off
 +
 +
=== Merge Block ===
 +
 +
'''Interface name:''' IMyShipMergeBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' None
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off
 +
 +
=== Missile Turret ===
 +
 +
'''Interface name:''' IMyLargeMissileTurret<br />
 +
'''Parent:''' IMyLargeConveyorTurretBase<br />
 +
'''Parent:''' IMyLargeTurretBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
bool UseConveyorSystem <br />
 +
bool CanControl<br />
 +
float Range
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Control -> Control<br />
 +
IncreaseRange -> Increase Radius<br />
 +
DecreaseRange -> Decrease Radius<br />
 +
UseConveyor -> Use Conveyor System On/Of
 +
<br />
 +
Ore Detector<br />
 +
Interace name: IMyOreDetector<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float Range <br />
 +
bool BroadcastUsingAntennas
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off
 +
 +
=== Passenger Seat ===
 +
 +
'''Interface name:''' IMyCockpit<br />
 +
'''Parent:''' IMyShipController<br />
 +
'''Fields:'''<br />
 +
bool ControlWheels<br />
 +
bool ControlThrusters<br />
 +
bool HandBrake <br />
 +
bool DampenersOverride
 +
 +
'''Actions'''<br />
 +
ControlThrusters -> Control thrusters On/Off<br />
 +
ControlWheels -> Control wheels On/Off<br />
 +
HandBrake -> Handbrake On/Off<br />
 +
DampenersOverride -> Inertia dampeners On/Off
 +
 +
=== Piston ===
 +
 +
'''Interface name:''' IMyPistonBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float Velocity <br />
 +
float MinLimit <br />
 +
float MaxLimit
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Reverse -> Reverse<br />
 +
IncreaseVelocity -> Increase Velocity<br />
 +
DecreaseVelocity -> Decrease Velocity<br />
 +
ResetVelocity -> Reset Velocity<br />
 +
IncreaseUpperLimit -> Increase Maximal distance<br />
 +
DecreaseUpperLimit -> Decrease Maximal distance<br />
 +
IncreaseLowerLimit -> Increase Minimal distance<br />
 +
DecreaseLowerLimit -> Decrease Minimal distance
 +
 +
=== Programmable block ===
 +
 +
'''Interface name:''' IMyProgrammableBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' bool IsRunning
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Run -> Run
 +
 +
=== Refinery ===
 +
 +
'''Interface name:''' IMyRefinery<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Parent:''' IMyProductionBlock<br />
 +
'''Fields:''' bool UseConveyorSystem
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Spotlight ===
 +
 +
'''Interface name:''' IMyReflectorLight<br />
 +
'''Parent:''' IMyLightingBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float Radius<br />
 +
float Intensity<br />
 +
float BlinkIntervalSeconds<br />
 +
float BlinkLenght<br />
 +
float BlinkOffset
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseRadius -> Increase Radius<br />
 +
DecreaseRadius -> Decrease Radius<br />
 +
IncreaseBlink Interval -> Increase Blink Interval<br />
 +
DecreaseBlink Interval -> Decrease Blink Interval<br />
 +
IncreaseBlink Lenght -> Increase Blink Length<br />
 +
DecreaseBlink Lenght -> Decrease Blink Length<br />
 +
IncreaseBlink Offset -> Increase Blink Offset<br />
 +
DecreaseBlink Offset -> Decrease Blink Offset
 +
 +
=== Remote Control ===
 +
 +
'''Interface name:''' IMyRemoteControl<br />
 +
'''Parent:''' IMyShipController<br />
 +
'''Fields:'''<br />
 +
bool ControlWheels<br />
 +
bool ControlThrusters<br />
 +
bool HandBrake <br />
 +
bool DampenersOverride
 +
 +
'''Actions'''<br />
 +
ControlThrusters -> Control thrusters On/Off<br />
 +
ControlWheels -> Control wheels On/Off<br />
 +
HandBrake -> Handbrake On/Off<br />
 +
DampenersOverride -> Inertia dampeners On/Off<br />
 +
Control -> Control
 +
 +
=== Rocket Launcher ===
 +
 +
'''Interface name:''' IMySmallMissileLauncher<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' bool UseConveyorSystem
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Reloadable Rocket Launcher ===
 +
 +
'''Interface name:''' IMySmallMissileLauncherReload<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' bool UseConveyorSystem
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Rotor ===
 +
 +
'''Interface name:''' IMyMotorStator<br />
 +
'''Parent:''' IMyMotorBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
bool IsAttached <br />
 +
float Torque<br />
 +
float BrakingTorque <br />
 +
float Velocity <br />
 +
float LowerLimit <br />
 +
float UpperLimit <br />
 +
float Displacement
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Reverse -> Reverse<br />
 +
Detach -> Detach<br />
 +
Attach -> Attach<br />
 +
IncreaseTorque -> Increase Torque<br />
 +
DecreaseTorque -> Decrease Torque<br />
 +
IncreaseBrakingTorque -> Increase Braking tor.<br />
 +
DecreaseBrakingTorque -> Decrease Braking tor.<br />
 +
IncreaseVelocity -> Increase Velocity<br />
 +
DecreaseVelocity -> Decrease Velocity<br />
 +
ResetVelocity -> Reset Velocity<br />
 +
IncreaseLowerLimit -> Increase Lower limit<br />
 +
DecreaseLowerLimit -> Decrease Lower limit<br />
 +
IncreaseUpperLimit -> Increase Upper limit<br />
 +
DecreaseUpperLimit -> Decrease Upper limit<br />
 +
IncreaseDisplacement -> Increase Rotor displacement<br />
 +
DecreaseDisplacement -> Decrease Rotor displacement
 +
 +
=== Sensor ===
 +
 +
'''Interface name:''' IMySensorBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float LeftExtend <br />
 +
float RightExtend <br />
 +
float TopExtend <br />
 +
float BottomExtend <br />
 +
float FrontExtend <br />
 +
float BackExtend <br />
 +
bool DetectPlayers <br />
 +
bool DetectFloatingObjects <br />
 +
bool DetectSmallShips <br />
 +
bool DetectLargeShips <br />
 +
bool DetectStations <br />
 +
bool DetectAsteroids
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseLeft -> Increase Left extent<br />
 +
DecreaseLeft -> Decrease Left extent<br />
 +
IncreaseRight -> Increase Right extent<br />
 +
DecreaseRight -> Decrease Right extent<br />
 +
IncreaseBottom -> Increase Bottom extent<br />
 +
DecreaseBottom -> Decrease Bottom extent<br />
 +
IncreaseTop -> Increase Top extent<br />
 +
DecreaseTop -> Decrease Top extent<br />
 +
IncreaseBack -> Increase Back extent<br />
 +
DecreaseBack -> Decrease Back extent<br />
 +
IncreaseFront -> Increase Front extent<br />
 +
DecreaseFront -> Decrease Front extent<br />
 +
Detect Players -> Detect players On/Off<br />
 +
Detect Floating Objects -> Detect floating objects On/Off<br />
 +
Detect Small Ships -> Detect small ships On/Off<br />
 +
Detect Large Ships -> Detect large ships On/Off<br />
 +
Detect Stations -> Detect stations On/Off<br />
 +
Detect Asteroids -> Detect Asteroids On/Off
 +
 +
=== Solar Panel ===
 +
 +
'''Interface name:''' IMySolarPanel<br />
 +
'''Fields:'''None<br />
 +
Actions:None
 +
 +
=== Sound Block ===
 +
 +
'''Interface name:''' IMySoundBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float Volume <br />
 +
float Range <br />
 +
bool IsSoundSelected<br />
 +
float LoopPeriod
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseVolumeSlider -> Increase Volume<br />
 +
DecreaseVolumeSlider -> Decrease Volume<br />
 +
IncreaseRangeSlider -> Increase Range<br />
 +
DecreaseRangeSlider -> Decrease Range<br />
 +
PlaySound -> Play<br />
 +
StopSound -> Stop<br />
 +
IncreaseLoopableSlider -> Increase Loop time<br />
 +
DecreaseLoopableSlider -> Decrease Loop time
 +
 +
=== Spherical Gravity Generator ===
 +
 +
'''Interface name:''' IMyGravityGeneratorSphere<br />
 +
'''Parent:''' IMyGravityGeneratorBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float Radius <br />
 +
float Gravity
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseRadius -> Increase Radius<br />
 +
DecreaseRadius -> Decrease Radius<br />
 +
IncreaseGravity -> Increase Acceleration<br />
 +
DecreaseGravity -> Decrease Acceleration
 +
 +
=== Timer Block ===
 +
 +
'''Interface name:''' IMyTimerBlock<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
bool IsCountingDown <br />
 +
float TriggerDelay
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseTriggerDelay -> Increase Delay<br />
 +
DecreaseTriggerDelay -> Decrease Delay<br />
 +
TriggerNow -> Trigger now<br />
 +
Start -> Start<br />
 +
Stop -> Stop
 +
 +
=== Warhead ===
 +
 +
'''Interface name:''' IMyWarhead<br />
 +
'''Fields:'''<br />
 +
bool IsCountingDown <br />
 +
float DetonationTime
 +
 +
'''Actions'''<br />
 +
IncreaseDetonationTime -> Increase Detonation time<br />
 +
DecreaseDetonationTime -> Decrease Detonation time<br />
 +
StartCountdown -> Start countdown<br />
 +
StopCountdown -> Stop countdown<br />
 +
Safety -> Safety On/Off<br />
 +
Detonate -> Detonate
 +
 +
=== Welder ===
 +
 +
'''Interface name:''' IMyShipWelder<br />
 +
'''Parent:''' IMyShipToolBase<br />
 +
'''Parent:''' IMyFunctionalBlock
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
UseConveyor -> Use Conveyor System On/Off
 +
 +
=== Wheel Suspension 1x1 ===
 +
 +
'''Interface name:''' IMyMotorSuspension<br />
 +
'''Parent:''' IMyMotorBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
bool Steering <br />
 +
bool Propulsion <br />
 +
float Damping <br />
 +
float Strength <br />
 +
float Friction <br />
 +
float Power
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Steering -> Steering On/Off<br />
 +
Propulsion -> Propulsion On/Off<br />
 +
IncreaseDamping -> Increase Damping<br />
 +
DecreaseDamping -> Decrease Damping<br />
 +
IncreaseStrength -> Increase Strength<br />
 +
DecreaseStrength -> Decrease Strength<br />
 +
IncreaseFriction -> Increase Friction<br />
 +
DecreaseFriction -> Decrease Friction<br />
 +
IncreasePower -> Increase Power<br />
 +
DecreasePower -> Decrease Power
 +
 +
=== Wheel Suspension 3x3 ===
 +
 +
'''Interface name:''' IMyMotorSuspension<br />
 +
'''Parent:''' IMyMotorBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
bool Steering <br />
 +
bool Propulsion <br />
 +
float Damping <br />
 +
float Strength <br />
 +
float Friction <br />
 +
float Power
 +
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Steering -> Steering On/Off<br />
 +
Propulsion -> Propulsion On/Off<br />
 +
IncreaseDamping -> Increase Damping<br />
 +
DecreaseDamping -> Decrease Damping<br />
 +
IncreaseStrength -> Increase Strength<br />
 +
DecreaseStrength -> Decrease Strength<br />
 +
IncreaseFriction -> Increase Friction<br />
 +
DecreaseFriction -> Decrease Friction<br />
 +
IncreasePower -> Increase Power<br />
 +
DecreasePower -> Decrease Power
 +
 +
=== Wheel Suspension 5x5 ===
 +
 +
'''Interface name:''' IMyMotorSuspension<br />
 +
'''Parent:''' IMyMotorBase<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
bool Steering <br />
 +
bool Propulsion <br />
 +
float Damping <br />
 +
float Strength <br />
 +
float Friction <br />
 +
float Power
  
 +
'''Actions'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Steering -> Steering On/Off<br />
 +
Propulsion -> Propulsion On/Off<br />
 +
IncreaseDamping -> Increase Damping<br />
 +
DecreaseDamping -> Decrease Damping<br />
 +
IncreaseStrength -> Increase Strength<br />
 +
DecreaseStrength -> Decrease Strength<br />
 +
IncreaseFriction -> Increase Friction<br />
 +
DecreaseFriction -> Decrease Friction<br />
 +
IncreasePower -> Increase Power<br />
 +
DecreasePower -> Decrease Power
  
 
<references />
 
<references />

Revision as of 15:32, 2 January 2015


Programmable Block Icon.png
Large Ship Icon.png
Large Ship / Station
Programmable Block
 
Components
Required

 

 
 
1
 
 
Mass (kg):
0
 
Integrity:
0
 
Build time (seconds):
Unknown
Programmable Block Icon.png
Small Ship Icon.png
Small Ship
Programmable Block
 
Components
Required

 

 
 
1
 
 
Mass (kg):
0
 
Integrity:
0
 
Build time (seconds):
Unknown

A Programmable Block can be programmed to do different functions, like switching lights and controlling doors. It can also be used by entering the control panel in the Terminal. It has almost unlimited functionality. One of the biggest problems is that variables are not saved between world exit and loading.

API List

This is a list of all API functions currently available[1].

GridTerminalSystem

Currently only following “built-in” variable that user can use: GridTerminalSystem. This is entry point of entire grid terminal system.

Properties

Property Return Type Description get set
Blocks List<IMyTerminalBlock> Returns a list of all blocks on the grid V X
BlockGroups List<IMyBlockGroup> Returns a list of all groups in the grid. V X

Methods

Method Return Type Description
GetBlocksOfType<T>(List<IMyTerminalBlock> blocks, Func<IMyTerminalBlock, bool> collect = null) void Puts all found blocks of provided type in the list that are connected to the grid
SearchBlocksOfName(string name,List<IMyTerminalBlock> blocks, Func<IMyTerminalBlock, bool> collect = null) void Puts all found blocks of provided name in the list that are connected to the grid
GetBlockWithName(string name) IMyTerminalBlock Returns a block with provided name

IMyCubeBlock

IMyCubeBlock is base class for every terminal block.

Properties

Property Return Type Description get set
IsBeingHacked boolean Returns true if block is being hacked V X
IsFunctional boolean Returns true if current block is operational V X
IsWorking boolean Returns true if current block is powered V X
Position VRageMath.Vector3I Returns current position V X

IMyTerminalBlock

MyTerminalBlock is base class for every terminal block.

Properties

Property Return Type Description get set
CustomName String Returns name of the block V X
CustomNameWithFaction String ... V X
DetailedInfo String ... V X
ShowOnHUD boolean Whether block shows up on hud V X

Methods

Method Return Type Description
HasLocalPlayerAccess() boolean ...
HasPlayerAccess(long playerId) boolean ...
RequestShowOnHUD(bool enable) void ...
SetCustomName(string text) void Set the name of the block
SetCustomName(StringBuilder text) void Set the name of the block
GetActions(List<ITerminalAction> resultList, Func<ITerminalAction, bool> collect = null) void Populates list with available actions
SearchActionsOfName(string name,List<ITerminalAction> resultList, Func<ITerminalAction, bool> collect = null) void Populates list with available actions matching the name (Case Insensitive)
GetActionWithName(string name) ITerminalAction Returns action with specified name (Case Sensitive)

ITerminalAction

ITerminal action is representation of concrete action that can be triggered.

Properties

Property Return Type Description get set
Id String Returns id of the action V X
Name StringBuilder Returns the name of the action V X

Methods

Method Return Type Description
Apply(IMyCubeBlock block) void Apply the action on a block

IMyFunctionalBlock

IMyFunctionalBlock is base class for every block that can be turned on or off, it’s derived from IMyTerminal block e.g. every Functional block is Terminal block but not all terminal blocks can be turned on or off.

Properties

Property Return Type Description get set
Enabled boolean Returns true if the block is turned on V X

Action List

All terminal blocks have the following properties: Interface name: this name is the name of the block in code, it can differ from the name as displayed in the building screen. E.g. Antenna interface name is IMyRadioAntenna - you need to use this interface if you want to get all antennas.

Parent: this is parent of the block (all blocks have IMyTerminalBlock as parent), this can be used for getting type of blocks instead of concrete block type. E.g. if you want to get all lights in grid you will use IMyLightingBlock, if you want only interior light you can use IMyInteriorLight.

Field: this is read only field available for block e.g. for IMyBeacon you can get Radius property. Based on this property you can increase/decrease radius of beacon.

Actions: these are all available actions for block with their names in game, so if you want to increase broadcast radius for antenna, you need to execute DecreaseRadius action for block.

Antenna

Interface name: IMyRadioAntenna
Parent: IMyFunctionalBlock
Fields: float Radius

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseRadius -> Increase Broadcast radius
DecreaseRadius -> Decrease Broadcast radius

Arc Furnace

Interface name: IMyRefinery
Parent: IMyProductionBlock
Parent: IMyFunctionalBlock
Fields: bool UseConveyorSystem

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Artificial Mass

Interface name: IMyVirtualMass
Parent: IMyFunctionalBlock
Fields: None

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off

Assembler

Interface name: IMyAssembler
Parent: IMyProductionBlock
Parent: IMyFunctionalBlock
Fields: bool UseConveyorSystem

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Battery

Interface name: IMyBatteryBlock
Parent: IMyFunctionalBlock
Fields: bool HasCapacityRemaining

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Recharge -> Recharge On/Off

Beacon

Interface name: IMyBeacon
Parent: IMyFunctionalBlock
Fields: float Radius

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseRadius -> Increase Broadcast radius
DecreaseRadius -> Decrease Broadcast radius

Button Panel

Interface name: IMyButtonPanel
Fields: bool AnyoneCanUse

Actions AnyoneCanUse -> Anyone Can Use On/Off

=== Camera Interface name: IMyCameraBlock
Parent: IMyFunctionalBlock
Fields: None

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
View -> View

Cockpit

Interface name: IMyCockpit
Parent: IMyShipController
Fields:
bool ControlWheels
bool ControlThrusters
bool HandBrake
bool DampenersOverride

Actions ControlThrusters -> Control thrusters On/Off
ControlWheels -> Control wheels On/Off
HandBrake -> Handbrake On/Off
DampenersOverride -> Inertia dampeners On/Off

Collector

Interface name: IMyCollector
Parent: IMyFunctionalBlock
Fields: bool UseConveyorSystem

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Connector

Interface name: IMyShipConnector
Parent: IMyFunctionalBlock
Fields:
bool ThrowOut
bool CollectAll
bool IsLocked

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
ThrowOut -> Throw Out On/Off
CollectAll -> Collect All On/Off
SwitchLock -> Switch lock

Control Panel

Interface name: IMyControlPanel
Fields: None
Actions: None

Control Station

Interface name: IMyCockpit
Parent: IMyShipController
Fields:
bool ControlWheels
bool ControlThrusters
bool HandBrake
bool DampenersOverride

Actions ControlThrusters -> Control thrusters On/Off
ControlWheels -> Control wheels On/Off
HandBrake -> Handbrake On/Off
DampenersOverride -> Inertia dampeners On/Off

Door

Interface name: IMyDoor
Parent: IMyFunctionalBlock
Fields: bool Open

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Open -> Open/Closed
Open_On -> Open
Open_Off -> Closed

Drill

Interface name: IMyShipDrill
Parent: IMyFunctionalBlock
Fields: bool UseConveyorSystem

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Flight Seat

Interface name: IMyCockpit
Parent: IMyShipController
Fields:
bool ControlWheels
bool ControlThrusters
bool HandBrake
bool DampenersOverride

Actions ControlThrusters -> Control thrusters On/Off
ControlWheels -> Control wheels On/Off
HandBrake -> Handbrake On/Off
DampenersOverride -> Inertia dampeners On/Off

Gatling Turret

Interface name: IMyLargeGatlingTurret
Parent: IMyLargeConveyorTurretBase
Parent: IMyLargeTurretBase
Parent: IMyFunctionalBlock
Fields:
bool UseConveyorSystem
bool CanControl
float Range

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Control -> Control
IncreaseRange -> Increase Radius
DecreaseRange -> Decrease Radius
UseConveyor -> Use Conveyor System On/Off

Gravity Generator

Interface name: IMyGravityGenerator
Parent: IMyGravityGeneratorBase
Parent: IMyFunctionalBlock
Fields:
float FieldWidth
float FieldHeight
float FieldDepth
float Gravity

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseWidth -> Increase Field width
DecreaseWidth -> Decrease Field width
IncreaseHeight -> Increase Field height
DecreaseHeight -> Decrease Field height
IncreaseDepth -> Increase Field depth
DecreaseDepth -> Decrease Field depth
IncreaseGravity -> Increase Acceleration
DecreaseGravity -> Decrease Acceleration

Grinder

Interface name: IMyShipGrinder
Parent: IMyShipToolBase
Parent: IMyFunctionalBlock
Fields: None

Actions OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Gyroscope

Interface name: IMyGyro
Parent: IMyFunctionalBlock
Fields:
float GyroPower
bool GyroOverride
float Yaw
float Pitch
float Roll

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreasePower -> Increase Power
DecreasePower -> Decrease Power
Override -> Override controls On/Off
IncreaseYaw -> Increase Yaw override
DecreaseYaw -> Decrease Yaw override
IncreasePitch -> Increase Pitch override
DecreasePitch -> Decrease Pitch override
IncreaseRoll -> Increase Roll override
DecreaseRoll -> Decrease Roll override

Interior Light

Interface name: IMyInteriorLight
Parent: IMyLightingBlock
Parent: IMyFunctionalBlock
Fields:
float Radius
float Intensity
float BlinkIntervalSeconds
float BlinkLenght
float BlinkOffset

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseRadius -> Increase Radius
DecreaseRadius -> Decrease Radius
IncreaseBlink Interval -> Increase Blink Interval
DecreaseBlink Interval -> Decrease Blink Interval
IncreaseBlink Lenght -> Increase Blink Length
DecreaseBlink Lenght -> Decrease Blink Length
IncreaseBlink Offset -> Increase Blink Offset
DecreaseBlink Offset -> Decrease Blink Offset

Interior Turret

Interface name: IMyLargeInteriorTurret
Parent: IMyLargeTurretBase
Parent: IMyFunctionalBlock
Fields:
bool CanControl
float Range

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Control -> Control
IncreaseRange -> Increase Radius
DecreaseRange -> Decrease Radius

Landing Gear

Interface name: IMyLandingGear
Parent: IMyFunctionalBlock
Fields:
float BreakForce

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Lock -> Lock
Unlock -> Unlock
SwitchLock -> Switch lock
Autolock -> Autolock On/Off
IncreaseBreakForce -> Increase Break Force
DecreaseBreakForce -> Decrease Break Force

Small Cargo Container

Interface name: IMyCargoContainer
Fields: None
Actions: None

Medium Cargo Container

Interface name: IMyCargoContainer
Fields: None
Actions:None

Large Cargo Container

Interface name: IMyCargoContainer
Fields: None
Actions: None

Small Reactor

Interface name: IMyReactor
Parent: IMyFunctionalBlock
Fields:
bool UseConveyorSystem

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Large Reactor

Interface name: IMyReactor
Parent: IMyFunctionalBlock
Fields: bool UseConveyorSystem

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Small Thruster

Interface name: IMyThrust
Parent: IMyFunctionalBlock
Fields: float ThrustOverride

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseOverride -> Increase Thrust override
DecreaseOverride -> Decrease Thrust override

Large Thruster

Interface name: IMyThrust
Parent: IMyFunctionalBlock
Fields: float ThrustOverride

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseOverride -> Increase Thrust override
DecreaseOverride -> Decrease Thrust override

Medical Room

Interface name: IMyMedicalRoom
Parent: IMyFunctionalBlock
Fields: None

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off

Merge Block

Interface name: IMyShipMergeBlock
Parent: IMyFunctionalBlock
Fields: None

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off

Missile Turret

Interface name: IMyLargeMissileTurret
Parent: IMyLargeConveyorTurretBase
Parent: IMyLargeTurretBase
Parent: IMyFunctionalBlock
Fields:
bool UseConveyorSystem
bool CanControl
float Range

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Control -> Control
IncreaseRange -> Increase Radius
DecreaseRange -> Decrease Radius
UseConveyor -> Use Conveyor System On/Of
Ore Detector
Interace name: IMyOreDetector
Parent: IMyFunctionalBlock
Fields:
float Range
bool BroadcastUsingAntennas

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off

Passenger Seat

Interface name: IMyCockpit
Parent: IMyShipController
Fields:
bool ControlWheels
bool ControlThrusters
bool HandBrake
bool DampenersOverride

Actions
ControlThrusters -> Control thrusters On/Off
ControlWheels -> Control wheels On/Off
HandBrake -> Handbrake On/Off
DampenersOverride -> Inertia dampeners On/Off

Piston

Interface name: IMyPistonBase
Parent: IMyFunctionalBlock
Fields:
float Velocity
float MinLimit
float MaxLimit

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Reverse -> Reverse
IncreaseVelocity -> Increase Velocity
DecreaseVelocity -> Decrease Velocity
ResetVelocity -> Reset Velocity
IncreaseUpperLimit -> Increase Maximal distance
DecreaseUpperLimit -> Decrease Maximal distance
IncreaseLowerLimit -> Increase Minimal distance
DecreaseLowerLimit -> Decrease Minimal distance

Programmable block

Interface name: IMyProgrammableBlock
Parent: IMyFunctionalBlock
Fields: bool IsRunning

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Run -> Run

Refinery

Interface name: IMyRefinery
Parent: IMyFunctionalBlock
Parent: IMyProductionBlock
Fields: bool UseConveyorSystem

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Spotlight

Interface name: IMyReflectorLight
Parent: IMyLightingBlock
Parent: IMyFunctionalBlock
Fields:
float Radius
float Intensity
float BlinkIntervalSeconds
float BlinkLenght
float BlinkOffset

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseRadius -> Increase Radius
DecreaseRadius -> Decrease Radius
IncreaseBlink Interval -> Increase Blink Interval
DecreaseBlink Interval -> Decrease Blink Interval
IncreaseBlink Lenght -> Increase Blink Length
DecreaseBlink Lenght -> Decrease Blink Length
IncreaseBlink Offset -> Increase Blink Offset
DecreaseBlink Offset -> Decrease Blink Offset

Remote Control

Interface name: IMyRemoteControl
Parent: IMyShipController
Fields:
bool ControlWheels
bool ControlThrusters
bool HandBrake
bool DampenersOverride

Actions
ControlThrusters -> Control thrusters On/Off
ControlWheels -> Control wheels On/Off
HandBrake -> Handbrake On/Off
DampenersOverride -> Inertia dampeners On/Off
Control -> Control

Rocket Launcher

Interface name: IMySmallMissileLauncher
Parent: IMyFunctionalBlock
Fields: bool UseConveyorSystem

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Reloadable Rocket Launcher

Interface name: IMySmallMissileLauncherReload
Parent: IMyFunctionalBlock
Fields: bool UseConveyorSystem

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Rotor

Interface name: IMyMotorStator
Parent: IMyMotorBase
Parent: IMyFunctionalBlock
Fields:
bool IsAttached
float Torque
float BrakingTorque
float Velocity
float LowerLimit
float UpperLimit
float Displacement

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Reverse -> Reverse
Detach -> Detach
Attach -> Attach
IncreaseTorque -> Increase Torque
DecreaseTorque -> Decrease Torque
IncreaseBrakingTorque -> Increase Braking tor.
DecreaseBrakingTorque -> Decrease Braking tor.
IncreaseVelocity -> Increase Velocity
DecreaseVelocity -> Decrease Velocity
ResetVelocity -> Reset Velocity
IncreaseLowerLimit -> Increase Lower limit
DecreaseLowerLimit -> Decrease Lower limit
IncreaseUpperLimit -> Increase Upper limit
DecreaseUpperLimit -> Decrease Upper limit
IncreaseDisplacement -> Increase Rotor displacement
DecreaseDisplacement -> Decrease Rotor displacement

Sensor

Interface name: IMySensorBlock
Parent: IMyFunctionalBlock
Fields:
float LeftExtend
float RightExtend
float TopExtend
float BottomExtend
float FrontExtend
float BackExtend
bool DetectPlayers
bool DetectFloatingObjects
bool DetectSmallShips
bool DetectLargeShips
bool DetectStations
bool DetectAsteroids

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseLeft -> Increase Left extent
DecreaseLeft -> Decrease Left extent
IncreaseRight -> Increase Right extent
DecreaseRight -> Decrease Right extent
IncreaseBottom -> Increase Bottom extent
DecreaseBottom -> Decrease Bottom extent
IncreaseTop -> Increase Top extent
DecreaseTop -> Decrease Top extent
IncreaseBack -> Increase Back extent
DecreaseBack -> Decrease Back extent
IncreaseFront -> Increase Front extent
DecreaseFront -> Decrease Front extent
Detect Players -> Detect players On/Off
Detect Floating Objects -> Detect floating objects On/Off
Detect Small Ships -> Detect small ships On/Off
Detect Large Ships -> Detect large ships On/Off
Detect Stations -> Detect stations On/Off
Detect Asteroids -> Detect Asteroids On/Off

Solar Panel

Interface name: IMySolarPanel
Fields:None
Actions:None

Sound Block

Interface name: IMySoundBlock
Parent: IMyFunctionalBlock
Fields:
float Volume
float Range
bool IsSoundSelected
float LoopPeriod

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseVolumeSlider -> Increase Volume
DecreaseVolumeSlider -> Decrease Volume
IncreaseRangeSlider -> Increase Range
DecreaseRangeSlider -> Decrease Range
PlaySound -> Play
StopSound -> Stop
IncreaseLoopableSlider -> Increase Loop time
DecreaseLoopableSlider -> Decrease Loop time

Spherical Gravity Generator

Interface name: IMyGravityGeneratorSphere
Parent: IMyGravityGeneratorBase
Parent: IMyFunctionalBlock
Fields:
float Radius
float Gravity

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseRadius -> Increase Radius
DecreaseRadius -> Decrease Radius
IncreaseGravity -> Increase Acceleration
DecreaseGravity -> Decrease Acceleration

Timer Block

Interface name: IMyTimerBlock
Parent: IMyFunctionalBlock
Fields:
bool IsCountingDown
float TriggerDelay

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseTriggerDelay -> Increase Delay
DecreaseTriggerDelay -> Decrease Delay
TriggerNow -> Trigger now
Start -> Start
Stop -> Stop

Warhead

Interface name: IMyWarhead
Fields:
bool IsCountingDown
float DetonationTime

Actions
IncreaseDetonationTime -> Increase Detonation time
DecreaseDetonationTime -> Decrease Detonation time
StartCountdown -> Start countdown
StopCountdown -> Stop countdown
Safety -> Safety On/Off
Detonate -> Detonate

Welder

Interface name: IMyShipWelder
Parent: IMyShipToolBase
Parent: IMyFunctionalBlock

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off

Wheel Suspension 1x1

Interface name: IMyMotorSuspension
Parent: IMyMotorBase
Parent: IMyFunctionalBlock
Fields:
bool Steering
bool Propulsion
float Damping
float Strength
float Friction
float Power

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Steering -> Steering On/Off
Propulsion -> Propulsion On/Off
IncreaseDamping -> Increase Damping
DecreaseDamping -> Decrease Damping
IncreaseStrength -> Increase Strength
DecreaseStrength -> Decrease Strength
IncreaseFriction -> Increase Friction
DecreaseFriction -> Decrease Friction
IncreasePower -> Increase Power
DecreasePower -> Decrease Power

Wheel Suspension 3x3

Interface name: IMyMotorSuspension
Parent: IMyMotorBase
Parent: IMyFunctionalBlock
Fields:
bool Steering
bool Propulsion
float Damping
float Strength
float Friction
float Power

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Steering -> Steering On/Off
Propulsion -> Propulsion On/Off
IncreaseDamping -> Increase Damping
DecreaseDamping -> Decrease Damping
IncreaseStrength -> Increase Strength
DecreaseStrength -> Decrease Strength
IncreaseFriction -> Increase Friction
DecreaseFriction -> Decrease Friction
IncreasePower -> Increase Power
DecreasePower -> Decrease Power

Wheel Suspension 5x5

Interface name: IMyMotorSuspension
Parent: IMyMotorBase
Parent: IMyFunctionalBlock
Fields:
bool Steering
bool Propulsion
float Damping
float Strength
float Friction
float Power

Actions
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Steering -> Steering On/Off
Propulsion -> Propulsion On/Off
IncreaseDamping -> Increase Damping
DecreaseDamping -> Decrease Damping
IncreaseStrength -> Increase Strength
DecreaseStrength -> Decrease Strength
IncreaseFriction -> Increase Friction
DecreaseFriction -> Decrease Friction
IncreasePower -> Increase Power
DecreasePower -> Decrease Power

  1. http://steamcommunity.com/sharedfiles/filedetails/?id=360966557