Difference between revisions of "Programming Guide/Action List"

From Space Engineers Wiki
Jump to: navigation, search
(Sensor: Adding field "IsActive" that tells if the sensor is detecting something or not)
m (Terminal Action and Property List)
 
(37 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{tocright}}
 
{{tocright}}
== Action List ==
+
{{Under Construction}}
 +
 
 +
In addition to interface methods and properties given in the interface API, the in-game programming also provides '''terminal actions''' and '''terminal properties'''. Those terminal actions and properties behave like the options in the terminal system ingame that players can interact with.
 +
 
 +
Notice that terminal actions and properties should be obsolete, because the most block interfaces now provide API methods and properties that users can invoke.
 +
 
 +
== Invoking Terminal Actions and Properties ==
 +
 
 +
The In-game Programming system provides methods for users to invoke the terminal properties, with a string parameter determining the name of the terminal action or property needed. Those methods belong to the IMyTerminalBlock interface. While all terminal blocks (Reactor, for example) are the sub-types of IMyTerminalBlock, they all have the methods. However, if the string parameter asks for the terminal action or property which does not exist in the given block, a '''NullReferenceException''' will be thrown<ref>https://github.com/malware-dev/MDK-SE/wiki/Terminal-Properties-and-Actions</ref>.
 +
 
 +
In the programming namespace, the terminal actions are accessed as '''ITerminalAction''' interface and the terminal properties are '''ITerminalProperty'''.
 +
 
 +
=== Terminal Actions ===
 +
 
 +
To make the block apply action, call
 +
 
 +
block.ApplyAction(string actionName)
 +
 
 +
For example:
 +
 
 +
// Turn off a light
 +
IMyInterior light;
 +
// codes that you assign the actual light you want to turn off.
 +
light.ApplyAction("OnOff_Off"); // turn off the light
 +
 
 +
=== Terminal Properties ===
 +
 
 +
To access the terminal properties, two methods are provided. Unlike the action method above, those property methods are generic, which means a extra type parameter is needed when calling the methods.
 +
 
 +
To get a property of a block, call
 +
 
 +
block.GetValue<T>(string propertyName)
 +
 
 +
For example:
 +
 
 +
// Get the color of a light
 +
IMyInteriorLight light;
 +
// codes that you assign the actual light you want to get color from.
 +
Color color = light.GetValue<Color>("Color"); // get color
 +
 
 +
To set a property of a block, call
 +
 
 +
block.SetValue<T>(string propertyName, T property)
 +
 
 +
For example:
 +
 
 +
// Set the color of a light
 +
Color color = new Color(50, 100, 200); // create a new color
 +
IMyInteriorLight light;
 +
// codes that you assign the actual light you want to set color
 +
light.SetValue<Color>("Color", color); // set color
 +
 
 +
== Terminal Action List (Old) ==
  
 
All terminal blocks have the following properties:
 
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.
+
 
 +
'''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.
 
'''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.
Line 9: Line 62:
 
'''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.
 
'''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.
+
'''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 IncreaseRadius action for block.
  
 
{| class="wikitable" style="text-align: center;"
 
{| class="wikitable" style="text-align: center;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
|  
 
|  
=== Antenna ===
+
=== Air Vent ===
 +
 
 +
'''Interface name:''' IMyAirVent<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br />
 +
bool CanPressurize { get; }<br />
 +
bool Depressurize { get; set; }<br />
 +
bool IsDepressurizing { get; } <b>Depreciated</b> <br />
 +
bool PressurizationEnabled { get; }<br />
 +
enum VentStatus Status { get; }<br />
 +
 
 +
'''Actions:'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off ->Toggle Block Off<br />
 +
Depressurize -> Depressurize On/Off<br />
 +
Depressurize_On -> Depressurize On<br />
 +
Depressurize_Off -> Depressurize Off<br />
 +
|
 +
 
 +
=== Advanced Rotor ===
  
'''Interface name:''' IMyRadioAntenna<br />
+
'''Interface name:''' IMyMotorAdvancedStator<br />
 +
'''Parent:''' IMyMotorBase <br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' float Radius
+
'''Fields:''' <br />
 +
float Angle { get; }<br />
 +
float BrakingTorque { get; set; }<br />
 +
float Displacement { get; set; }<br />
 +
float LowerLimitDeg { get; set; }<br />
 +
float LowerLimitRad { get; set; }<br />
 +
bool RotorLock { get; set; }<br />
 +
float TargetVelocityRad { get; set; }<br />
 +
float TargetVelocityRPM { get; set; }<br />
 +
float Torque { get; set; }<br />
 +
float UpperLimitDeg { get; set; }<br />
 +
float UpperLimitRad { get; set; }<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
OnOff_Off -> Toggle block Off<br />
+
OnOff_Off ->Toggle Block Off<br />
IncreaseRadius -> Increase Broadcast radius<br />
+
Reverse -> Reverse<br />
DecreaseRadius -> Decrease Broadcast radius
+
Attach -> Attach<br />
 +
IncreaseTorque -> Increase Torque<br />
 +
DecreaseTorque -> Decrease Torque<br />
 +
IncreaseBrakingTorque -> Increase Braking Torque<br />
 +
DecreaseBrakingTorque -> Decrease Braking Torque<br />
 +
IncreaseVelocity -> Increase 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<br />
 
|
 
|
=== Arc Furnace ===
 
  
'''Interface name:''' IMyRefinery<br />
+
=== Antenna ===
'''Parent:''' IMyProductionBlock<br />
+
 
 +
'''Interface name:''' IMyRadioAntenna<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' bool UseConveyorSystem
+
'''Fields:''' <br />
 +
long AttachedProgrammableBlock { get; set; }<br />
 +
bool EnableBroadcasting { get; set; }<br />
 +
bool IgnoreAlliedBroadcast { get; set; }<br />
 +
bool IgnoreOtherBroadcast { get; set; }<br />
 +
bool IsBroadcasting { get; }<br />
 +
float Radius { get; set; }<br />
 +
bool ShowShipName { get; set; }<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
UseConveyor -> Use Conveyor System On/Off
+
IncreaseRadius -> Increase Broadcast radius<br />
 +
DecreaseRadius -> Decrease Broadcast radius<br />
 +
EnableBroadCast -> Toggle Broadcast On/Off<br />
 +
ShowShipName -> Toggle Showing Ship Name <br />
 +
 
 +
 
 +
|- style="vertical-align:top;"
 
|
 
|
 +
 
=== Artificial Mass ===
 
=== Artificial Mass ===
  
 
'''Interface name:''' IMyVirtualMass<br />
 
'''Interface name:''' IMyVirtualMass<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' None
+
'''Fields:''' none <br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
OnOff_Off -> Toggle block Off
+
OnOff_Off -> Toggle block Off<br />
|- style="vertical-align:top;"
 
 
|
 
|
 +
 
=== Assembler ===
 
=== Assembler ===
  
Line 57: Line 168:
 
'''Parent:''' IMyProductionBlock<br />
 
'''Parent:''' IMyProductionBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''  bool UseConveyorSystem
+
'''Fields:''' <br />  
 +
bool CooperativeMode { get; set; }<br />
 +
float CurrentProgress { get; }<br />
 +
bool DisassembleEnabled { get; }<br />
 +
MyAssemblerMode Mode { get; set; }<br />
 +
bool Repeating { get; set; }<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
UseConveyor -> Use Conveyor System On/Off
+
UseConveyor -> Use Conveyor System On/Off<br />
 +
slaveMode -> Cooperative Mode On/Off <br />
 
|
 
|
 +
 
=== Battery ===
 
=== Battery ===
  
 
'''Interface name:''' IMyBatteryBlock<br />
 
'''Interface name:''' IMyBatteryBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''  bool HasCapacityRemaining
+
'''Fields:''' <br />  
 +
float CurrentInput { get; }<br />
 +
float CurrentOutput { get; }<br />
 +
float CurrentStoredPower { get; }<br />
 +
bool HasCapacityRemaining { get; }<br />
 +
bool IsCharging { get; }<br />
 +
float MaxInput { get; }<br />
 +
float MaxOutput { get; }<br />
 +
float MaxStoredPower { get; }<br />
 +
bool OnlyDischarge { get; set; }<br />
 +
bool OnlyRecharge { get; set; }<br />
 +
bool SemiautoEnabled { get; set; }<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
Recharge -> Recharge On/Off
+
Recharge -> Recharge On/Off<br />
 +
Discharge -> Discharge On/Off<br />
 +
SemiAuto -> Semi-auto On/Off<br />
 +
 
 +
|- style="vertical-align:top;"
 
|
 
|
 +
 
=== Beacon ===
 
=== Beacon ===
  
 
'''Interface name:''' IMyBeacon<br />
 
'''Interface name:''' IMyBeacon<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' float Radius  
+
'''Fields:''' <br />
 +
float Radius { get; set; }<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
 
IncreaseRadius -> Increase Broadcast radius<br />
 
IncreaseRadius -> Increase Broadcast radius<br />
DecreaseRadius -> Decrease Broadcast radius
+
DecreaseRadius -> Decrease Broadcast radius<br />
|- style="vertical-align:top;"
 
 
|
 
|
 +
 
=== Button Panel ===
 
=== Button Panel ===
  
 
'''Interface name:''' IMyButtonPanel<br />
 
'''Interface name:''' IMyButtonPanel<br />
'''Fields:''' bool AnyoneCanUse
+
'''Fields:''' <br />
 +
bool AnyoneCanUse { get; set; }
  
'''Actions'''<br />
+
'''Actions:'''<br />
AnyoneCanUse -> Anyone Can Use On/Off
+
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 
|
 
|
 +
 
=== Camera ===
 
=== Camera ===
 +
 
'''Interface name:''' IMyCameraBlock<br />
 
'''Interface name:''' IMyCameraBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' None
+
'''Fields:'''<br />
 +
double AvailableScanRange { get; }<br />
 +
bool EnableRaycast { get; set; }<br />
 +
bool IsActive { get; }<br />
 +
float RaycastConeLimit { get; }<br />
 +
double RaycastDistanceLimit { get; }<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
View -> View
+
View -> View<br />
 +
 
 +
|- style="vertical-align:top;"
 +
|
 +
 
 +
=== Cargo Containers ===
 +
 
 +
'''Interface name:''' IMyCargoContainer<br />
 +
'''Parent:''' IMyTerminalBlock<br />
 +
'''Fields:''' none<br />
 +
 
 +
'''Actions:''' none<br />
 
|
 
|
=== Cockpit ===
+
 
 +
=== Cockpit, Control Station, Flight Seat ===
  
 
'''Interface name:''' IMyCockpit<br />
 
'''Interface name:''' IMyCockpit<br />
Line 118: Line 275:
 
bool ControlThrusters<br />
 
bool ControlThrusters<br />
 
bool HandBrake <br />
 
bool HandBrake <br />
bool DampenersOverride
+
bool DampenersOverride <br />
 +
bool MainCockpit<br />
 +
bool HorizonIndicator<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
ControlThrusters -> Control thrusters On/Off<br />
 
ControlThrusters -> Control thrusters On/Off<br />
 
ControlWheels -> Control wheels On/Off<br />
 
ControlWheels -> Control wheels On/Off<br />
 
HandBrake -> Handbrake On/Off<br />
 
HandBrake -> Handbrake On/Off<br />
DampenersOverride -> Inertia dampeners On/Off
+
DampenersOverride -> Inertia dampeners On/Off<br />
|- style="vertical-align:top;"
+
MainCockpit -> Main Cockpit On/Off<br />
 +
HorizonIndicator -> Show Horizon and Altitude On/Off<br />
 
|
 
|
 +
 
=== Collector ===
 
=== Collector ===
  
 
'''Interface name:''' IMyCollector<br />
 
'''Interface name:''' IMyCollector<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''  bool UseConveyorSystem
+
'''Fields:''' <br /> bool UseConveyorSystem
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
 
UseConveyor -> Use Conveyor System On/Off
 
UseConveyor -> Use Conveyor System On/Off
 +
 +
|- style="vertical-align:top;"
 
|
 
|
 +
 
=== Connector ===
 
=== Connector ===
  
Line 146: Line 310:
 
bool ThrowOut <br />
 
bool ThrowOut <br />
 
bool CollectAll <br />
 
bool CollectAll <br />
bool IsLocked  
+
bool IsLocked <br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
OnOff -> Toggle block On/Off<br />
+
OnOff -> Toggle block On/Off <br />
OnOff_On -> Toggle block On<br />
+
OnOff_On -> Toggle block On <br />
OnOff_Off -> Toggle block Off<br />
+
OnOff_Off -> Toggle block Off <br />
ThrowOut -> Throw Out On/Off<br />
+
ThrowOut -> Throw Out On/Off <br />
CollectAll -> Collect All On/Off<br />
+
CollectAll -> Collect All On/Off <br />
SwitchLock -> Switch lock
+
SwitchLock -> Switch lock <br />
 
|
 
|
 +
 
=== Control Panel ===
 
=== Control Panel ===
  
 
'''Interface name:''' IMyControlPanel<br />
 
'''Interface name:''' IMyControlPanel<br />
'''Fields:''' None<br />
+
'''Fields:''' none<br />
'''Actions:''' None
+
'''Actions:'''none<br />
|- style="vertical-align:top;"
 
 
|
 
|
=== Control Station ===
 
  
'''Interface name:''' IMyCockpit<br />
+
=== Conveyor Sorter ===
'''Parent:''' IMyShipController<br />
+
 
'''Fields:''' <br />
+
'''Interface name:''' IMyConveyorSorter<br />
bool ControlWheels<br />
+
'''Fields:''' <br /> bool DrainAll<br />
bool ControlThrusters<br />
+
 
bool HandBrake <br />
+
'''Actions:'''<br />
bool DampenersOverride
+
OnOff -> Toggle block On/Off <br />
 +
OnOff_On -> Toggle block On <br />
 +
OnOff_Off -> Toggle block Off <br />
 +
DrainAll -> Drain All On/Off<br />
  
'''Actions'''<br />
+
|- style="vertical-align:top;"
ControlThrusters -> Control thrusters On/Off<br />
 
ControlWheels -> Control wheels On/Off<br />
 
HandBrake -> Handbrake On/Off<br />
 
DampenersOverride -> Inertia dampeners On/Off
 
 
|
 
|
 +
 
=== Door ===
 
=== Door ===
  
 
'''Interface name:''' IMyDoor<br />
 
'''Interface name:''' IMyDoor<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''  bool Open
+
'''Fields:''' <br /> bool Open
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
Open -> Open/Closed<br />
+
Open -> Open/Close Door<br />
Open_On -> Open<br />
+
Open_On -> Open Door<br />
Open_Off -> Closed
+
Open_Off -> Close Door<br />
 
|
 
|
 +
 
=== Drill ===
 
=== Drill ===
  
 
'''Interface name:''' IMyShipDrill<br />
 
'''Interface name:''' IMyShipDrill<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''  bool UseConveyorSystem
+
'''Fields:''' <br /> bool UseConveyorSystem<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
UseConveyor -> Use Conveyor System On/Off
+
UseConveyor -> Use Conveyor System On/Off<br />
|- style="vertical-align:top;"
 
 
|
 
|
=== Flight Seat ===
 
  
'''Interface name:''' IMyCockpit<br />
+
=== Gatling Gun ===
'''Parent:''' IMyShipController<br />
+
 
'''Fields:''' <br />
+
'''Interface name:''' IMySmallGatlingGun<br />
bool ControlWheels<br />
+
'''Parent:''' IMyUserControllableGun<br />
bool ControlThrusters<br />
+
'''Parent:''' IMyFunctionalBlock<br />
bool HandBrake <br />
+
'''Fields:''' <br />  
bool DampenersOverride
+
bool Shoot<br />
 +
bool UseConveyor<br />
 +
 
 +
'''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<br />
 +
ShootOnce -> Shoots Once<br />
 +
Shoot -> Shoot On/Off<br />
 +
Shoot_On -> Shoot On<br />
 +
Shoot_Off-> Shoot Off<br />
  
'''Actions'''<br />
+
|- style="vertical-align:top;"
ControlThrusters -> Control thrusters On/Off<br />
 
ControlWheels -> Control wheels On/Off<br />
 
HandBrake -> Handbrake On/Off<br />
 
DampenersOverride -> Inertia dampeners On/Off
 
 
|
 
|
 +
 
=== Gatling Turret ===
 
=== Gatling Turret ===
  
Line 227: Line 397:
 
'''Parent:''' IMyLargeConveyorTurretBase<br />
 
'''Parent:''' IMyLargeConveyorTurretBase<br />
 
'''Parent:''' IMyLargeTurretBase<br />
 
'''Parent:''' IMyLargeTurretBase<br />
 +
'''Parent:''' IMyUserControllableGun<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Fields:''' <br />
 
'''Fields:''' <br />
Line 232: Line 403:
 
bool CanControl<br />
 
bool CanControl<br />
 
float Range
 
float Range
 +
bool Shoot<br />
 +
bool EnableIdleMovement<br />
 +
bool TargetMeteors<br />
 +
bool TargetMoving<br />
 +
bool TargetMissiles<br />
 +
bool TargetSmallShips<br />
 +
bool TargetLargeShips<br />
 +
bool TargetCharacters<br />
 +
bool TargetStations<br />
 +
bool TargetNeutrals<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 240: Line 421:
 
IncreaseRange -> Increase Radius<br />
 
IncreaseRange -> Increase Radius<br />
 
DecreaseRange -> Decrease Radius<br />
 
DecreaseRange -> Decrease Radius<br />
UseConveyor -> Use Conveyor System On/Off
+
UseConveyor -> Use Conveyor System On/Off<br />
 +
ShootOnce -> Shoot once<br />
 +
Shoot -> Shoot On/Off<br />
 +
Shoot_On -> Shoot On<br />
 +
Shoot_Off -> Shoot Off<br />
 +
IncreaseRange -> Increase Aiming Radius<br />
 +
DecreaseRange -> Decrease Aiming Radius<br />
 +
EnableIdleMovement -> Idle Movement On/Off<br />
 +
EnableIdleMovement_On -> Idle Movement On<br />
 +
EnableIdleMovement_Off -> Idle Movement Off<br />
 +
TargetMeteors -> Target meteors On/Off<br />
 +
TargetMeteors_On -> Target meteors On<br />
 +
TargetMeteors_Off -> Target meteors Off<br />
 +
TargetMoving -> Target moving On/Off<br />
 +
TargetMoving_On -> Target moving On<br />
 +
TargetMoving_Off -> Target moving Off<br />
 +
TargetMissiles -> Target missiles On/Off<br />
 +
TargetMissiles_On -> Target missiles On<br />
 +
TargetMissiles_Off -> Target missiles Off<br />
 +
TargetSmallShips -> Target small ships On/Off<br />
 +
TargetSmallShips_On -> Target small ships On<br />
 +
TargetSmallShips_Off -> Target small ships Off<br />
 +
TargetLargeShips -> Target large ship On/Off<br />
 +
TargetLargeShips_On -> Target large ship On<br />
 +
TargetLargeShips_Off -> Target large ship Off<br />
 +
TargetCharacters -> Target characters On/Off<br />
 +
TargetCharacters_On -> Target characters On<br />
 +
TargetCharacters_Off -> Target characters Off<br />
 +
TargetStations -> Target stations On/Off<br />
 +
TargetStations_On -> Target stations On<br />
 +
TargetStations_Off -> Target stations Off<br />
 +
TargetNeutrals -> Target neutrals On/Off<br />
 +
TargetNeutrals_On -> Target neutrals On<br />
 +
TargetNeutrals_Off -> Target neutrals Off<br />
 
|
 
|
 +
 
=== Gravity Generator ===
 
=== Gravity Generator ===
  
Line 253: Line 468:
 
float Gravity  
 
float Gravity  
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 264: Line 479:
 
DecreaseDepth -> Decrease Field depth<br />
 
DecreaseDepth -> Decrease Field depth<br />
 
IncreaseGravity -> Increase Acceleration<br />
 
IncreaseGravity -> Increase Acceleration<br />
DecreaseGravity -> Decrease Acceleration
+
DecreaseGravity -> Decrease Acceleration<br />
|- style="vertical-align:top;"
 
 
|
 
|
 +
 
=== Grinder ===
 
=== Grinder ===
  
Line 272: Line 487:
 
'''Parent:''' IMyShipToolBase<br />
 
'''Parent:''' IMyShipToolBase<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' None
+
'''Fields:''' none <br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
UseConveyor -> Use Conveyor System On/Off
+
UseConveyor -> Use Conveyor System On/Off<br />
 +
 
 +
|- style="vertical-align:top;"
 
|
 
|
 +
 
=== Gyroscope ===
 
=== Gyroscope ===
  
 
'''Interface name:''' IMyGyro<br />
 
'''Interface name:''' IMyGyro<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' <br />
+
'''Fields:'''<br />
 
float GyroPower <br />
 
float GyroPower <br />
 
bool GyroOverride <br />
 
bool GyroOverride <br />
Line 291: Line 509:
 
float Roll  
 
float Roll  
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 305: Line 523:
 
DecreaseRoll -> Decrease Roll override
 
DecreaseRoll -> Decrease Roll override
 
|
 
|
 +
 
=== Interior Light ===
 
=== Interior Light ===
  
Line 310: Line 529:
 
'''Parent:''' IMyLightingBlock<br />
 
'''Parent:''' IMyLightingBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
float Radius<br />
+
float BlinkIntervalSeconds { get; set; }<br />
float Intensity<br />
+
float BlinkLength { get; set; }<br />
float BlinkIntervalSeconds<br />
+
float BlinkOffset { get; set; }<br />
float BlinkLenght<br />
+
Color Color { get; set; }<br />
float BlinkOffset
+
float Falloff { get; set; }<br />
 +
float Intensity { get; set; }<br />
 +
float Radius { get; set; }<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 329: Line 550:
 
IncreaseBlink Offset -> Increase Blink Offset<br />
 
IncreaseBlink Offset -> Increase Blink Offset<br />
 
DecreaseBlink Offset -> Decrease Blink Offset
 
DecreaseBlink Offset -> Decrease Blink Offset
|- style="vertical-align:top;"
 
 
|
 
|
 +
 
=== Interior Turret ===
 
=== Interior Turret ===
  
 
'''Interface name:''' IMyLargeInteriorTurret<br />
 
'''Interface name:''' IMyLargeInteriorTurret<br />
 
'''Parent:''' IMyLargeTurretBase<br />
 
'''Parent:''' IMyLargeTurretBase<br />
 +
'''Parent:''' IMyUserControllableGun<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
bool CanControl<br />
 
bool CanControl<br />
float Range
+
float Range<br />
 +
bool Shoot<br />
 +
bool EnableIdleMovement<br />
 +
bool TargetMeteors<br />
 +
bool TargetMoving<br />
 +
bool TargetMissiles<br />
 +
bool TargetSmallShips<br />
 +
bool TargetLargeShips<br />
 +
bool TargetCharacters<br />
 +
bool TargetStations<br />
 +
bool TargetNeutrals<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 346: Line 578:
 
Control -> Control<br />
 
Control -> Control<br />
 
IncreaseRange -> Increase Radius<br />
 
IncreaseRange -> Increase Radius<br />
DecreaseRange -> Decrease Radius
+
DecreaseRange -> Decrease Radius<br />
 +
ShootOnce -> Shoot once<br />
 +
Shoot -> Shoot On/Off<br />
 +
Shoot_On -> Shoot On<br />
 +
Shoot_Off -> Shoot Off<br />
 +
IncreaseRange -> Increase Aiming Radius<br />
 +
DecreaseRange -> Decrease Aiming Radius<br />
 +
EnableIdleMovement -> Idle Movement On/Off<br />
 +
EnableIdleMovement_On -> Idle Movement On<br />
 +
EnableIdleMovement_Off -> Idle Movement Off<br />
 +
TargetMeteors -> Target meteors On/Off<br />
 +
TargetMeteors_On -> Target meteors On<br />
 +
TargetMeteors_Off -> Target meteors Off<br />
 +
TargetMoving -> Target moving On/Off<br />
 +
TargetMoving_On -> Target moving On<br />
 +
TargetMoving_Off -> Target moving Off<br />
 +
TargetMissiles -> Target missiles On/Off<br />
 +
TargetMissiles_On -> Target missiles On<br />
 +
TargetMissiles_Off -> Target missiles Off<br />
 +
TargetSmallShips -> Target small ships On/Off<br />
 +
TargetSmallShips_On -> Target small ships On<br />
 +
TargetSmallShips_Off -> Target small ships Off<br />
 +
TargetLargeShips -> Target large ship On/Off<br />
 +
TargetLargeShips_On -> Target large ship On<br />
 +
TargetLargeShips_Off -> Target large ship Off<br />
 +
TargetCharacters -> Target characters On/Off<br />
 +
TargetCharacters_On -> Target characters On<br />
 +
TargetCharacters_Off -> Target characters Off<br />
 +
TargetStations -> Target stations On/Off<br />
 +
TargetStations_On -> Target stations On<br />
 +
TargetStations_Off -> Target stations Off<br />
 +
TargetNeutrals -> Target neutrals On/Off<br />
 +
TargetNeutrals_On -> Target neutrals On<br />
 +
TargetNeutrals_Off -> Target neutrals Off<br />
 +
 
 +
|- style="vertical-align:top;"
 +
|
 +
 
 +
=== Jump Drive ===
 +
'''Interface name:''' IMyJumpDrive<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br />
 +
bool Recharge<br />
 +
bool JumpDistance<br />
 +
 
 +
'''Actions:'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
Recharge -> Recharge On/Off<br />
 +
Recharge_On -> Recharge On<br />
 +
Recharge_Off -> Recharge Off<br />
 +
IncreaseJumpDistance -> Increase jump distance<br />
 +
DecreaseJumpDistance -> Decrease jump distance<br />
 
|
 
|
 +
 
=== Landing Gear ===
 
=== Landing Gear ===
  
 
'''Interface name:''' IMyLandingGear<br />
 
'''Interface name:''' IMyLandingGear<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
float BreakForce
+
bool Autolock<br />
 +
float BreakForce<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 364: Line 651:
 
Autolock -> Autolock On/Off<br />
 
Autolock -> Autolock On/Off<br />
 
IncreaseBreakForce -> Increase Break Force<br />
 
IncreaseBreakForce -> Increase Break Force<br />
DecreaseBreakForce -> Decrease Break Force
+
DecreaseBreakForce -> Decrease Break Force<br />
 
|
 
|
=== Small Cargo Container ===
 
  
'''Interface name:''' IMyCargoContainer<br />
+
=== Laser Antenna ===
'''Fields:''' None<br />
 
'''Actions:''' None
 
|- style="vertical-align:top;"
 
|
 
=== Medium Cargo Container ===
 
  
'''Interface name:''' IMyCargoContainer<br />
+
'''Interface name:''' IMyLaserAntenna<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 />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
bool UseConveyorSystem
+
bool isPerm<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
UseConveyor -> Use Conveyor System On/Off
+
Idle -> Idle<br />
 +
PasteGpsCoords -> Paste coordinates<br />
 +
ConnectGPS -> Connect to coordinates<br />
 +
isPerm -> Permanent connection On/Off<br />
 +
 
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
|
 
|
=== Large Reactor ===
 
  
'''Interface name:''' IMyReactor<br />
+
=== Medical Room===
 +
 
 +
'''Interface name:''' IMyMedicalRoom<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' bool UseConveyorSystem
+
'''Fields:''' <br />
 
+
bool TakeOwnership<br />
'''Actions'''<br />
+
bool SetFaction<br />
 +
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
UseConveyor -> Use Conveyor System On/Off
 
 
|
 
|
=== Small Thruster ===
 
  
'''Interface name:''' IMyThrust<br />
+
=== Merge Block ===
 +
 
 +
'''Interface name:''' IMyShipMergeBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' float ThrustOverride
+
'''Fields:''' none<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
IncreaseOverride -> Increase Thrust override<br />
 
DecreaseOverride -> Decrease Thrust override
 
 
|
 
|
=== Large Thruster ===
 
  
'''Interface name:''' IMyThrust<br />
+
=== Missile Turret ===
 +
 
 +
'''Interface name:''' IMyMissileTurret<br />
 +
'''Parent:''' IMyLargeConveyorTurretBase<br />
 +
'''Parent:''' IMyLargeTurretBase<br />
 +
'''Parent:''' IMyUserControllableGun<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' float ThrustOverride
+
'''Fields:''' <br />
 +
bool CanControl<br />
 +
float Range<br />
 +
bool Shoot<br />
 +
bool EnableIdleMovement<br />
 +
bool TargetMeteors<br />
 +
bool TargetMoving<br />
 +
bool TargetMissiles<br />
 +
bool TargetSmallShips<br />
 +
bool TargetLargeShips<br />
 +
bool TargetCharacters<br />
 +
bool TargetStations<br />
 +
bool TargetNeutrals<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
IncreaseOverride -> Increase Thrust override<br />
+
Control -> Control<br />
DecreaseOverride -> Decrease Thrust override
+
IncreaseRange -> Increase Radius<br />
 +
DecreaseRange -> Decrease Radius<br />
 +
ShootOnce -> Shoot once<br />
 +
Shoot -> Shoot On/Off<br />
 +
Shoot_On -> Shoot On<br />
 +
Shoot_Off -> Shoot Off<br />
 +
IncreaseRange -> Increase Aiming Radius<br />
 +
DecreaseRange -> Decrease Aiming Radius<br />
 +
UseConveyor -> Use Conveyor System On/Off<br />
 +
EnableIdleMovement -> Idle Movement On/Off<br />
 +
EnableIdleMovement_On -> Idle Movement On<br />
 +
EnableIdleMovement_Off -> Idle Movement Off<br />
 +
TargetMeteors -> Target meteors On/Off<br />
 +
TargetMeteors_On -> Target meteors On<br />
 +
TargetMeteors_Off -> Target meteors Off<br />
 +
TargetMoving -> Target moving On/Off<br />
 +
TargetMoving_On -> Target moving On<br />
 +
TargetMoving_Off -> Target moving Off<br />
 +
TargetMissiles -> Target missiles On/Off<br />
 +
TargetMissiles_On -> Target missiles On<br />
 +
TargetMissiles_Off -> Target missiles Off<br />
 +
TargetSmallShips -> Target small ships On/Off<br />
 +
TargetSmallShips_On -> Target small ships On<br />
 +
TargetSmallShips_Off -> Target small ships Off<br />
 +
TargetLargeShips -> Target large ship On/Off<br />
 +
TargetLargeShips_On -> Target large ship On<br />
 +
TargetLargeShips_Off -> Target large ship Off<br />
 +
TargetCharacters -> Target characters On/Off<br />
 +
TargetCharacters_On -> Target characters On<br />
 +
TargetCharacters_Off -> Target characters Off<br />
 +
TargetStations -> Target stations On/Off<br />
 +
TargetStations_On -> Target stations On<br />
 +
TargetStations_Off -> Target stations Off<br />
 +
TargetNeutrals -> Target neutrals On/Off<br />
 +
TargetNeutrals_On -> Target neutrals On<br />
 +
TargetNeutrals_Off -> Target neutrals Off<br />
 +
 
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
|
 
|
=== Medical Room ===
 
  
'''Interface name:''' IMyMedicalRoom<br />
+
=== Ore Detector ===
 +
'''Interface name:''' IMyOreDetector<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' None
+
'''Fields:''' <br />
 +
bool BroadcastUsingAntennas<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
OnOff_Off -> Toggle block Off
+
OnOff_Off -> Toggle block Off<br />
 +
BroadcastUsingAntennas -> Broadcast using antennas On/Off<br />
 
|
 
|
=== Merge Block ===
 
  
'''Interface name:''' IMyShipMergeBlock<br />
+
=== Oxygen Farm ===
'''Parent:''' IMyFunctionalBlock<br />
+
'''Interface name:''' IMyOxygenFarm<br />
'''Fields:''' None
+
'''Parent: ''' IMyFunctionalBlock<br />
 +
'''Fields:''' none<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
OnOff_Off -> Toggle block Off
+
OnOff_Off -> Toggle block Off<br />
 
|
 
|
=== Missile Turret ===
 
  
'''Interface name:''' IMyLargeMissileTurret<br />
+
=== Oxygen Generator ===
'''Parent:''' IMyLargeConveyorTurretBase<br />
+
'''Interface name:''' IMyOxygenGenerator<br />
'''Parent:''' IMyLargeTurretBase<br />
 
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
bool UseConveyorSystem <br />
+
bool Auto-Refill<br />
bool CanControl<br />
 
float Range
 
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
Control -> Control<br />
+
Refill -> Refill Bottles<br />
IncreaseRange -> Increase Radius<br />
+
Auto-Refill -> Auto-Refill On/Off<br />
DecreaseRange -> Decrease Radius<br />
+
 
UseConveyor -> Use Conveyor System On/Of
 
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
|
 
|
=== Ore Detector ===
 
  
Interace name: IMyOreDetector<br />
+
=== Oxygen/Hydrogen Tank ===
 +
'''Interface name:''' IMyOxygenTank<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
float Range <br />
+
bool Stockpile<br />
bool BroadcastUsingAntennas
+
bool Auto-Refill<br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
OnOff_Off -> Toggle block Off
+
OnOff_Off -> Toggle block Off<br />
 +
Stockpile -> Stockpile On/Off<br />
 +
Stockpile_On -> Stockpile On<br />
 +
Stockpile_Off -> Stockpile Off<br />
 +
Refill -> Refill Bottles<br />
 +
Auto-Refill -> Auto-Refill On/Off<br />
 
|
 
|
 +
 
=== Passenger Seat ===
 
=== Passenger Seat ===
  
 
'''Interface name:''' IMyCockpit<br />
 
'''Interface name:''' IMyCockpit<br />
 
'''Parent:''' IMyShipController<br />
 
'''Parent:''' IMyShipController<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
bool ControlWheels<br />
 
bool ControlWheels<br />
 
bool ControlThrusters<br />
 
bool ControlThrusters<br />
Line 504: Line 832:
 
bool DampenersOverride
 
bool DampenersOverride
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
ControlThrusters -> Control thrusters On/Off<br />
 
ControlThrusters -> Control thrusters On/Off<br />
 
ControlWheels -> Control wheels On/Off<br />
 
ControlWheels -> Control wheels On/Off<br />
Line 510: Line 838:
 
DampenersOverride -> Inertia dampeners On/Off
 
DampenersOverride -> Inertia dampeners On/Off
 
|
 
|
 +
 
=== Piston ===
 
=== Piston ===
  
 
'''Interface name:''' IMyPistonBase<br />
 
'''Interface name:''' IMyPistonBase<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 +
bool OnOff<br />
 +
bool ShowInTerminal<br />
 +
bool ShowInToolbarConfig<br />
 +
bool ShowOnHUD<br />
 
float Velocity <br />
 
float Velocity <br />
float MinLimit <br />
+
float MinLimit "LowerLimit"<br />
float MaxLimit  
+
float MaxLimit "UpperLimit"<br />
 +
PistonStatus Status<br />
 +
float "Weld speed"<br />
 +
bool "Force weld"<br /><br />
 +
Strings to be used in methods like "bool GetValueBool(string propertyId)"
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
 
Reverse -> Reverse<br />
 
Reverse -> Reverse<br />
 +
Extend -> Extend<br />
 +
Retract -> Retract<br />
 
IncreaseVelocity -> Increase Velocity<br />
 
IncreaseVelocity -> Increase Velocity<br />
 
DecreaseVelocity -> Decrease Velocity<br />
 
DecreaseVelocity -> Decrease Velocity<br />
Line 530: Line 869:
 
DecreaseUpperLimit -> Decrease Maximal distance<br />
 
DecreaseUpperLimit -> Decrease Maximal distance<br />
 
IncreaseLowerLimit -> Increase Minimal distance<br />
 
IncreaseLowerLimit -> Increase Minimal distance<br />
DecreaseLowerLimit -> Decrease Minimal distance
+
DecreaseLowerLimit -> Decrease Minimal distance<br />
 +
IncreaseWeld speed -> Increase Safety lock speed<br />
 +
DecreaseWeld speed -> Decrease Safety lock speed<br />
 +
IncreaseMaxImpulseAxis<br />
 +
DecreaseMaxImpulseAxis<br />
 +
IncreaseMaxImpulseNonAxis<br />
 +
DecreaseMaxImpulseNonAxis<br />
 +
Force weld -> Safety override lock On/Off<br />
 +
Force weld<br />
 +
IncreaseSafetyDetach<br />
 +
DecreaseSafetyDetach<br />
 +
ShareInertiaTensor<br />
 +
Add Top Part<br />
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
|
 
|
 +
 
=== Programmable block ===
 
=== Programmable block ===
  
 
'''Interface name:''' IMyProgrammableBlock<br />
 
'''Interface name:''' IMyProgrammableBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' bool IsRunning
+
'''Fields:''' <br /> bool IsRunning
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
Run -> Run
+
Run -> Run<br />
 +
RunWithDefaultArgument -> Run with default argument<br />
 
|
 
|
=== Refinery ===
+
 
 +
=== Projector ===
 +
 
 +
'''Interface name:''' IMyProjector<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br />
 +
bool OnOff<br />
 +
bool ShowInTerminal<br />
 +
bool ShowInToolbarConfig<br />
 +
bool ShowOnHUD<br />
 +
bool KeepProjection<br />
 +
bool ShowOnlyBuildable<br />
 +
float X<br />
 +
float Y<br />
 +
float Z<br />
 +
float RotX<br />
 +
float RotY<br />
 +
float RotZ<br />
 +
bool InstantBuilding<br />
 +
bool GetOwnership<br />
 +
float NumberOfProjections<br />
 +
float NumberOfBlocks<br />
 +
 
 +
'''Actions:'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
KeepProjection -> Keep Projection On/Off<br />
 +
IncreaseX -> Increase horizontal offset<br />
 +
DecreaseX -> Decrease horizontal offset<br />
 +
IncreaseY -> Increase vertical offset<br />
 +
DecreaseY -> Decrease vertical offset<br />
 +
IncreaseZ -> Increase forward offset<br />
 +
DecreaseZ -> Decrease forward offset<br />
 +
IncreaseRotX -> Increase Pitch<br />
 +
DecreaseRotX -> Decrease Pitch<br />
 +
IncreaseRotY -> Increase Yaw<br />
 +
DecreaseRotY -> Decrease Yaw<br />
 +
IncreaseRotZ -> Increase Roll<br />
 +
DecreaseRotZ -> Decrease Roll<br />
 +
IncreaseScale<br />
 +
DecreaseScale<br />
 +
SpawnProjection -> Spawn projection<br />
 +
IncreaseFontSize<br />
 +
DecreaseFontSize<br />
 +
IncreaseTextPaddingSlider<br />
 +
DecreaseTextPaddingSlider<br />
 +
IncreaseChangeIntervalSlider<br />
 +
DecreaseChangeIntervalSlider<br />
 +
PreserveAspectRatio<br />
 +
|
 +
 
 +
=== Reactor (Small, Large) ===
 +
 
 +
'''Interface name:''' IMyReactor<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br /> bool UseConveyorSystem<br />
 +
 
 +
'''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
 +
 
 +
|- style="vertical-align:top;"
 +
|
 +
 
 +
=== Refinery and Arc Furnace===
  
 
'''Interface name:''' IMyRefinery<br />
 
'''Interface name:''' IMyRefinery<br />
 +
'''Parent:''' IMyProductionBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Parent:''' IMyProductionBlock<br />
+
'''Fields:''' <br /> bool UseConveyorSystem<br />
'''Fields:''' bool UseConveyorSystem
 
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
UseConveyor -> Use Conveyor System On/Off
+
UseConveyor -> Use Conveyor System On/Off<br />
 
|
 
|
=== Spotlight ===
 
  
'''Interface name:''' IMyReflectorLight<br />
+
=== Reloadable Rocket Launcher ===
'''Parent:''' IMyLightingBlock<br />
+
 
 +
'''Interface name:''' IMySmallMissileLauncherReload<br />
 +
'''Parent:''' IMySmallMissileLauncherReload<br />
 +
'''Parent:''' IMySmallMissileLauncher<br />
 +
'''Parent:''' IMyUserControllableGun<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Fields:'''<br />
 
'''Fields:'''<br />
float Radius<br />
+
bool Shoot<br />
float Intensity<br />
 
float BlinkIntervalSeconds<br />
 
float BlinkLenght<br />
 
float BlinkOffset
 
  
'''Actions'''<br />
+
'''Actions:'''<br />
OnOff -> Toggle block On/Off<br />
+
Off -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
IncreaseRadius -> Increase Radius<br />
+
UseConveyor -> Use Conveyor System On/Off<br />
DecreaseRadius -> Decrease Radius<br />
+
ShootOnce -> Shoot once<br />
IncreaseBlink Interval -> Increase Blink Interval<br />
+
Shoot -> Shoot On/Off<br />
DecreaseBlink Interval -> Decrease Blink Interval<br />
+
Shoot_On -> Shoot On<br />
IncreaseBlink Lenght -> Increase Blink Length<br />
+
Shoot_Off -> Shoot Off<br />
DecreaseBlink Lenght -> Decrease Blink Length<br />
 
IncreaseBlink Offset -> Increase Blink Offset<br />
 
DecreaseBlink Offset -> Decrease Blink Offset
 
|- style="vertical-align:top;"
 
 
|
 
|
 +
 
=== Remote Control ===
 
=== Remote Control ===
  
 
'''Interface name:''' IMyRemoteControl<br />
 
'''Interface name:''' IMyRemoteControl<br />
 
'''Parent:''' IMyShipController<br />
 
'''Parent:''' IMyShipController<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
bool ShowInTerminal<br />
 
bool ShowInToolbarConfig<br />
 
bool ShowOnHUD<br />
 
 
bool ControlThrusters<br />
 
bool ControlThrusters<br />
 
bool ControlWheels<br />
 
bool ControlWheels<br />
Line 602: Line 1,015:
 
bool DockingMode<br />
 
bool DockingMode<br />
  
 
+
'''Actions:'''<br />
'''Actions'''<br />
 
 
ControlThrusters -> Control thrusters On/Off<br />
 
ControlThrusters -> Control thrusters On/Off<br />
 
ControlWheels -> Control wheels On/Off<br />
 
ControlWheels -> Control wheels On/Off<br />
 
HandBrake -> Handbrake On/Off<br />
 
HandBrake -> Handbrake On/Off<br />
 
DampenersOverride -> Inertia dampeners On/Off<br />
 
DampenersOverride -> Inertia dampeners On/Off<br />
Control -> Control<br />
 
 
MainCockpit -> Main cockpit On/Off<br />
 
MainCockpit -> Main cockpit On/Off<br />
HorizonIndicator -> Show horizon and altitude On/Off<br />
 
 
AutoPilot -> Autopilot On/Off<br />
 
AutoPilot -> Autopilot On/Off<br />
 
AutoPilot_On -> Autopilot On<br />
 
AutoPilot_On -> Autopilot On<br />
Line 616: Line 1,026:
 
CollisionAvoidance -> Collision avoidance On/Off<br />
 
CollisionAvoidance -> Collision avoidance On/Off<br />
 
CollisionAvoidance_On -> Collision avoidance On<br />
 
CollisionAvoidance_On -> Collision avoidance On<br />
CollisionAvoidance_Off -> Collision avoidance Off<br />
+
CollisionAvoicance_Off -> Collision avoidance Off<br />
DockingMode -> Precision Mode On/Off<br />
+
DockingMode -> Precision mode On/Off<br />
DockingMode_On -> Precision Mode On<br />
+
DockingMode_On -> Precision mode On<br />
DockingMode_Off -> Precision Mode Off<br />
+
DockingMode_Off -> Precision mode Off<br />
Forward -> Forward<br />
+
Forward -> Set front part of remote control as reference for autopilot<br />
Backward -> Backward<br />
+
Backward -> Set rear part of remote control as reference for autopilot<br />
Left -> Left<br />
+
Left -> Set left part of remote control as reference for autopilot<br />
Right -> Right<br />
+
Right -> Set right part of remote control as reference for autopilot<br />
Up -> Up<br />
+
Up -> Set top part of remote control as reference for autopilot<br />
Down -> Down
+
Down -> Set bottom part of remote control as reference for autopilot<br />
 +
 
 +
|- style="vertical-align:top;"
 
|
 
|
 +
 
=== Rocket Launcher ===
 
=== Rocket Launcher ===
  
 
'''Interface name:''' IMySmallMissileLauncher<br />
 
'''Interface name:''' IMySmallMissileLauncher<br />
 +
'''Parent:''' IMyUserControllableGun<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:''' bool UseConveyorSystem
+
'''Fields:''' <br />
 +
bool Shoot<br />s
  
'''Actions'''<br />
+
'''Actions:'''<br />
OnOff -> Toggle block On/Off<br />
+
Off -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_Off -> Toggle block Off<br />
 
OnOff_Off -> Toggle block Off<br />
UseConveyor -> Use Conveyor System On/Off
+
UseConveyor -> Use Conveyor System On/Off<br />
 +
ShootOnce -> Shoot once<br />
 +
Shoot -> Shoot On/Off<br />
 +
Shoot_On -> Shoot On<br />
 +
Shoot_Off -> Shoot Off<br />
 
|
 
|
=== 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
 
|- style="vertical-align:top;"
 
|
 
 
=== Rotor ===
 
=== Rotor ===
  
Line 657: Line 1,064:
 
'''Parent:''' IMyMotorBase<br />
 
'''Parent:''' IMyMotorBase<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
bool IsAttached <br />
 
bool IsAttached <br />
 
float Torque<br />
 
float Torque<br />
Line 666: Line 1,073:
 
float Displacement  
 
float Displacement  
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 687: Line 1,094:
 
DecreaseDisplacement -> Decrease Rotor displacement
 
DecreaseDisplacement -> Decrease Rotor displacement
 
|
 
|
 +
 
=== Sensor ===
 
=== Sensor ===
  
 
'''Interface name:''' IMySensorBlock<br />
 
'''Interface name:''' IMySensorBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
float LeftExtend <br />
 
float LeftExtend <br />
 
float RightExtend <br />
 
float RightExtend <br />
Line 704: Line 1,112:
 
bool DetectStations <br />
 
bool DetectStations <br />
 
bool DetectAsteroids <br />
 
bool DetectAsteroids <br />
bool IsActive
+
bool IsActive <br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 727: Line 1,135:
 
Detect Large Ships -> Detect large ships On/Off<br />
 
Detect Large Ships -> Detect large ships On/Off<br />
 
Detect Stations -> Detect stations On/Off<br />
 
Detect Stations -> Detect stations On/Off<br />
Detect Asteroids -> Detect Asteroids On/Off
+
Detect Asteroids -> Detect Asteroids On/Off<br />
 +
 
 +
|- style="vertical-align:top;"
 
|
 
|
  
Line 733: Line 1,143:
  
 
'''Interface name:''' IMySolarPanel<br />
 
'''Interface name:''' IMySolarPanel<br />
'''Fields:'''None<br />
+
'''Fields:''' none<br />
'''Actions:''' None
+
'''Actions:''' none<br />
|- style="vertical-align:top;"
 
 
|
 
|
 +
 
=== Sound Block ===
 
=== Sound Block ===
  
 
'''Interface name:''' IMySoundBlock<br />
 
'''Interface name:''' IMySoundBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
float Volume <br />
 
float Volume <br />
 
float Range <br />
 
float Range <br />
Line 747: Line 1,157:
 
float LoopPeriod  
 
float LoopPeriod  
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 760: Line 1,170:
 
DecreaseLoopableSlider -> Decrease Loop time
 
DecreaseLoopableSlider -> Decrease Loop time
 
|
 
|
 +
 +
=== Space Balls ===
 +
'''Interface name:''' IMySpaceball<br />
 +
'''Parent:''' IMyVirtualMass<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float VirtualMass<br />
 +
bool EnableBroadCast<br />
 +
 +
'''Actions:'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseVirtualMass -> Increase Virtual Mass<br />
 +
DecreaseVirtualMass -> Decrease Virtual Mass<br />
 +
EnableBroadCast -> Enable broadcasting On/Off<br />
 +
 +
|- style="vertical-align:top;"
 +
|
 +
 
=== Spherical Gravity Generator ===
 
=== Spherical Gravity Generator ===
  
Line 765: Line 1,195:
 
'''Parent:''' IMyGravityGeneratorBase<br />
 
'''Parent:''' IMyGravityGeneratorBase<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
float Radius <br />
 
float Radius <br />
float Gravity  
+
float Gravity <br />
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 776: Line 1,206:
 
DecreaseRadius -> Decrease Radius<br />
 
DecreaseRadius -> Decrease Radius<br />
 
IncreaseGravity -> Increase Acceleration<br />
 
IncreaseGravity -> Increase Acceleration<br />
DecreaseGravity -> Decrease Acceleration
+
DecreaseGravity -> Decrease Acceleration<br />
 +
|
 +
 
 +
=== 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<br />
 
|
 
|
 +
 +
=== Text Panel, LCD, Wide LCD ===
 +
 +
'''Interface name:''' IMyTextPanel<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:''' <br />
 +
float FontSize<br />
 +
String FontColor<br />
 +
String BackgroundColor<br />
 +
float ChangeIntervalSlider<br />
 +
 +
'''Actions:'''<br />
 +
OnOff -> Toggle block On/Off<br />
 +
OnOff_On -> Toggle block On<br />
 +
OnOff_Off -> Toggle block Off<br />
 +
IncreaseFontSize -> Increase Font Size<br />
 +
DecreaseFontSize -> Decrease Font Size<br />
 +
IncreaseChangeIntervalSlider -> Increase Image change interval<br />
 +
DecreaseChangeIntervalSlider -> Decrease Image change interval<br />
 +
 +
|- style="vertical-align:top;"
 +
|
 +
 +
=== Thruster (Ion, Hydrogen, Atmospheric) ===
 +
'''Interface name:''' IMyThrust<br />
 +
'''Parent:''' IMyFunctionalBlock<br />
 +
'''Fields:'''<br />
 +
float Override<br />
 +
 +
'''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<br />
 +
|
 +
 
=== Timer Block ===
 
=== Timer Block ===
  
 
'''Interface name:''' IMyTimerBlock<br />
 
'''Interface name:''' IMyTimerBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
bool IsCountingDown <br />
 
bool IsCountingDown <br />
 
float TriggerDelay  
 
float TriggerDelay  
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 794: Line 1,287:
 
TriggerNow -> Trigger now<br />
 
TriggerNow -> Trigger now<br />
 
Start -> Start<br />
 
Start -> Start<br />
Stop -> Stop
+
Stop -> Stop<br />
|- style="vertical-align:top;"
 
 
|
 
|
 +
 
=== Warhead ===
 
=== Warhead ===
  
 
'''Interface name:''' IMyWarhead<br />
 
'''Interface name:''' IMyWarhead<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
bool IsCountingDown <br />
 
bool IsCountingDown <br />
 
float DetonationTime  
 
float DetonationTime  
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
IncreaseDetonationTime -> Increase Detonation time<br />
 
IncreaseDetonationTime -> Increase Detonation time<br />
 
DecreaseDetonationTime -> Decrease Detonation time<br />
 
DecreaseDetonationTime -> Decrease Detonation time<br />
Line 811: Line 1,304:
 
Safety -> Safety On/Off<br />
 
Safety -> Safety On/Off<br />
 
Detonate -> Detonate
 
Detonate -> Detonate
 +
 +
|- style="vertical-align:top;"
 
|
 
|
 +
 
=== Welder ===
 
=== Welder ===
  
Line 818: Line 1,314:
 
'''Parent:''' IMyFunctionalBlock
 
'''Parent:''' IMyFunctionalBlock
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 824: Line 1,320:
 
UseConveyor -> Use Conveyor System On/Off
 
UseConveyor -> Use Conveyor System On/Off
 
|
 
|
=== Wheel Suspension 1x1 ===
+
 
 +
=== Wheel Suspension (1x1, 3x3, 5x5) ===
  
 
'''Interface name:''' IMyMotorSuspension<br />
 
'''Interface name:''' IMyMotorSuspension<br />
 
'''Parent:''' IMyMotorBase<br />
 
'''Parent:''' IMyMotorBase<br />
 
'''Parent:''' IMyFunctionalBlock<br />
 
'''Parent:''' IMyFunctionalBlock<br />
'''Fields:'''<br />
+
'''Fields:''' <br />
 
bool Steering <br />
 
bool Steering <br />
 
bool Propulsion <br />
 
bool Propulsion <br />
Line 837: Line 1,334:
 
float Power  
 
float Power  
  
'''Actions'''<br />
+
'''Actions:'''<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff -> Toggle block On/Off<br />
 
OnOff_On -> Toggle block On<br />
 
OnOff_On -> Toggle block On<br />
Line 851: Line 1,348:
 
IncreasePower -> Increase Power<br />
 
IncreasePower -> Increase Power<br />
 
DecreasePower -> Decrease Power
 
DecreasePower -> Decrease Power
|- style="vertical-align:top;"
 
 
|
 
|
=== Wheel Suspension 3x3 ===
+
|}
 +
 
 +
== Terminal Action and Property List ==
 +
 
 +
All terminal blocks have terminal actions and properties. Sub-interfaces share their parent interface's terminal actions and properties. Therefore, as IMyTerminalBlock has OnOff action, all blocks also have it. To save space, any content a parent interface has will NOT be listed in the sub-interfaces.
 +
 
 +
The tables in this wiki page had been redone (06/28/2020) to better display the information needed. The tables will show the fields and methods that have the same purposes as the terminal properties and actions. notice that not all fields or methods will be shown, only those which have terminal functions will be.
 +
 
 +
In the tables listed below, some properties will be displayed (not to confuse with terminal properties):
 +
 
 +
'''Interface Name:''' the name of the interface in the ingame scripting API.
 +
 
 +
'''Terminal Action:''' the names of terminal actions and their descrptions.
 +
 
 +
'''Method:''' the methods in the interface API that do the same thing as terminal actions. It is recommanded to use interface methods.
 +
 
 +
'''Terminal Property:''' the names of terminal properties.
 +
 
 +
'''Field:''' the fields in the interface API that do the same thing as terminal properties. It is recommanded to use interface fields.
 +
 
 +
=== IMyTerminalBlock ===
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Actions
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|Toggle Show on HUD On/Off
 +
|<pre>"ShowOnHUD"</pre>
 +
|rowspan="3"|<pre></pre>
 +
|rowspan="3"|<pre>bool "ShowOnHUD"</pre>
 +
|rowspan="3"|<pre>bool ShowOnHUD {get; set;}</pre>
 +
|-
 +
|Show on HUD On
 +
|<pre>"ShowOnHUD_On"</pre>
 +
|-
 +
|Show on HUD On
 +
|<pre>"ShowOnHUD_Off"</pre>
 +
|-
 +
|Name
 +
|<pre></pre>
 +
|<pre></pre>
 +
|<pre>StringBuilder "Name"</pre>
 +
|<pre>string Name {get;}</pre>
 +
|-
 +
|Show in Inventory
 +
|<pre></pre>
 +
|<pre></pre>
 +
|<pre>bool "ShowInInventory"</pre>
 +
|<pre>bool ShowInInventory {get; set;}</pre>
 +
|-
 +
|Show in Terminal
 +
|<pre></pre>
 +
|<pre></pre>
 +
|<pre>bool "ShowInTerminal"</pre>
 +
|<pre>bool ShowInTerminal {get; set;}</pre>
 +
|-
 +
|Show in Toolbar Config
 +
|<pre></pre>
 +
|<pre></pre>
 +
|<pre>bool "ShowInToolbarConfig"</pre>
 +
|<pre>bool ShowInToolbarConfig {get; set;}</pre>
 +
|}
 +
 
 +
==== IMyCargoContainer ====
 +
 
 +
Cargo Container does not have it's own members except those inherited from IMyTerminalBlock.
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|}
 +
 
 +
==== IMyFunctionalBlock ====
 +
 
 +
IMyFunctionalBlock is the parent of most terminal blocks. It can be turned on and off.
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|Toggle Block On/Off
 +
|<pre>"OnOff"</pre>
 +
|rowspan="3"|<pre>void RequestEnable(bool enable) Obsolete: Use the setter of Enabled</pre>
 +
|rowspan="3"|<pre>bool "OnOff"</pre>
 +
|rowspan="3"|<pre>bool Enabled {get; set;}</pre>
 +
|-
 +
|Toggle Block On
 +
|<pre>"OnOff_ON"</pre>
 +
|-
 +
|Toggle Block Off
 +
|<pre>"OnOff_Off"</pre>
 +
|}
 +
 
 +
===== IMyAirVent =====
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|Toggle Depressurize On/Off
 +
|<pre>"Depressurize"</pre>
 +
|rowspan="3"|<pre></pre>
 +
|rowspan="3"|<pre>bool "Depressurize"</pre>
 +
|rowspan="3"|<pre>bool Depressurize {get; set;}</pre>
 +
|-
 +
|Depressurize On
 +
|<pre>"Depressurize_On"</pre>
 +
|-
 +
|Depressurize Off
 +
|<pre>"Depressurize_Off"</pre>
 +
|}
  
'''Interface name:''' IMyMotorSuspension<br />
+
===== IMyAritificialMassBlock =====
'''Parent:''' IMyMotorBase<br />
+
 
'''Parent:''' IMyFunctionalBlock<br />
+
{| class="wikitable"
'''Fields:'''<br />
+
|Description
bool Steering <br />
+
|Terminal Action
bool Propulsion <br />
+
|Method
float Damping <br />
+
|Terminal Property
float Strength <br />
+
|Field
float Friction <br />
+
|-
float Power
+
|}
 +
 
 +
===== IMyBatteryBlock =====
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|Enable Auto
 +
|<pre>"Auto"</pre>
 +
|rowspan="3"|<pre></pre>
 +
|rowspan="3"|<pre>long "ChargeMode"</pre>
 +
|<pre>ChargeMode ChargeMode {get; set;}</pre>
 +
|-
 +
|Toggle Recharge On/Off
 +
|<pre>"Recharge"</pre>
 +
|<pre>bool OnlyRecharge {get; set;} Obsolete: Use ChargeMode instead</pre>
 +
|-
 +
|Toggle Discharge On/Off
 +
|<pre>"Discharge"</pre>
 +
|<pre>bool OnlyDischarge {get; set;} Obsolete: Use ChargeMode instead</pre>
 +
|}
 +
 
 +
===== IMyBeacon =====
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|Increase Broadcast Radius
 +
|<pre>"IncreaseRadius"</pre>
 +
|rowspan="2"|<pre></pre>
 +
|rowspan="2"|<pre>float "Radius"</pre>
 +
|rowspan="2"|<pre>float Radius {get; set;}</pre>
 +
|-
 +
|Decrease Broadcast Radius
 +
|<pre>"DecreaseRadius"</pre>
 +
|-
 +
|Text Show On HUD
 +
|<pre></pre>
 +
|<pre></pre>
 +
|<pre>StringBuilder "HudText"</pre>
 +
|<pre>string HudText {get; set;}</pre>
 +
|}
 +
 
 +
===== IMyDoor =====
 +
 
 +
There are different types of doors. They have similar behaviors.
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|Toggle Anyone Can Use On/Off
 +
|<pre>"AnyoneCanUse"</pre>
 +
|<pre></pre>
 +
|<pre>bool "AnyoneCanUse"</pre>
 +
|<pre></pre>
 +
|-
 +
|Toggle Door Open/Closed
 +
|<pre>"Open"</pre>
 +
|<pre>void ToggleDoor()</pre>
 +
|rowspan="3"|<pre>bool "Open"</pre>
 +
|rowspan="3"|
 +
bool Open {get;} Obsolete: Use the Status instead
 +
DoorStatus Status {get;}
 +
|-
 +
|Open Door
 +
|<pre>"Open_On"</pre>
 +
|<pre>void OpenDoor()</pre>
 +
|-
 +
|Close Door
 +
|<pre>"Open_Off"</pre>
 +
|<pre>void CloseDoor()</pre>
 +
|}
 +
 
 +
====== IMyAdvancedDoor ======
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|}
 +
 
 +
====== IMyAirtightHangarDoor ======
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|}
 +
 
 +
====== IMyAirtightSlideDoor ======
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|}
 +
 
 +
===== IMyProductionBlock =====
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|Toggle Use Conveyor System On/Off
 +
|<pre>"UseConveyor"</pre>
 +
|<pre></pre>
 +
|<pre>bool "UseConveyor"</pre>
 +
|<pre>bool UseConveyorSystem {get; set;}</pre>
 +
|}
 +
 
 +
====== IMyAssembler ======
 +
 
 +
{| class="wikitable"
 +
|Description
 +
|Terminal Action
 +
|Method
 +
|Terminal Property
 +
|Field
 +
|-
 +
|Cooperative Mode On/Off
 +
|<pre>"slaveMode"</pre>
 +
|<pre></pre>
 +
|<pre>bool "slaveMode"</pre>
 +
|<pre>bool CooperativeMode {get; set;}</pre>
 +
|}
 +
 
 +
====== IMyRefinery ======
  
'''Actions'''<br />
+
{| class="wikitable"
OnOff -> Toggle block On/Off<br />
+
|Description
OnOff_On -> Toggle block On<br />
+
|Terminal Action
OnOff_Off -> Toggle block Off<br />
+
|Method
Steering -> Steering On/Off<br />
+
|Terminal Property
Propulsion -> Propulsion On/Off<br />
+
|Field
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 />
+
==== IMyWarhead ====
'''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 />
+
{| class="wikitable"
OnOff -> Toggle block On/Off<br />
+
|Description
OnOff_On -> Toggle block On<br />
+
|Terminal Action
OnOff_Off -> Toggle block Off<br />
+
|Method
Steering -> Steering On/Off<br />
+
|Terminal Property
Propulsion -> Propulsion On/Off<br />
+
|Field
IncreaseDamping -> Increase Damping<br />
+
|-
DecreaseDamping -> Decrease Damping<br />
+
|Increase Detonation Time
IncreaseStrength -> Increase Strength<br />
+
|<pre>"IncreaseDetonationTime"</pre>
DecreaseStrength -> Decrease Strength<br />
+
|rowspan="2"|<pre></pre>
IncreaseFriction -> Increase Friction<br />
+
|rowspan="2"|<pre>float "DetonationTime"</pre>
DecreaseFriction -> Decrease Friction<br />
+
|rowspan="2"|<pre>float DetonationTime {get; set;}</pre>
IncreasePower -> Increase Power<br />
+
|-
DecreasePower -> Decrease Power
+
|Decrease Detonation Time
|
+
|<pre>"DecreaseDetonationTime"</pre>
 +
|-
 +
|Detonate
 +
|<pre>"Detonate"</pre>
 +
|<pre>void Detonate()</pre>
 +
|<pre></pre>
 +
|<pre></pre>
 +
|-
 +
|Toggle Arm Warhead On/Off
 +
|<pre>"Safety"</pre>
 +
|<pre></pre>
 +
|<pre>bool "Safety"</pre>
 +
|<pre>bool IsArmed {get; set;}</pre>
 +
|-
 +
|Start Countdown
 +
|<pre>"StartCountdown"</pre>
 +
|<pre>bool StartCountdown()</pre>
 +
|rowspan="2"|<pre></pre>
 +
|rowspan="2"|<pre>bool IsCountingDown {get;}</pre>
 +
|-
 +
|Stop Countdown
 +
|<pre>"StopCountdown</pre>
 +
|<pre>bool StopCountdown()</pre>
 
|}
 
|}
<references />
 

Latest revision as of 20:29, 22 February 2021

Contents

🚧🚧🚧 Under Construction 🚧🚧🚧
Attention - This page is currently being actively worked on, and may contain incomplete information


In addition to interface methods and properties given in the interface API, the in-game programming also provides terminal actions and terminal properties. Those terminal actions and properties behave like the options in the terminal system ingame that players can interact with.

Notice that terminal actions and properties should be obsolete, because the most block interfaces now provide API methods and properties that users can invoke.

Invoking Terminal Actions and Properties

The In-game Programming system provides methods for users to invoke the terminal properties, with a string parameter determining the name of the terminal action or property needed. Those methods belong to the IMyTerminalBlock interface. While all terminal blocks (Reactor, for example) are the sub-types of IMyTerminalBlock, they all have the methods. However, if the string parameter asks for the terminal action or property which does not exist in the given block, a NullReferenceException will be thrown[1].

In the programming namespace, the terminal actions are accessed as ITerminalAction interface and the terminal properties are ITerminalProperty.

Terminal Actions

To make the block apply action, call

block.ApplyAction(string actionName)

For example:

// Turn off a light
IMyInterior light;
// codes that you assign the actual light you want to turn off. 
light.ApplyAction("OnOff_Off"); // turn off the light

Terminal Properties

To access the terminal properties, two methods are provided. Unlike the action method above, those property methods are generic, which means a extra type parameter is needed when calling the methods.

To get a property of a block, call

block.GetValue<T>(string propertyName)

For example:

// Get the color of a light
IMyInteriorLight light;
// codes that you assign the actual light you want to get color from. 
Color color = light.GetValue<Color>("Color"); // get color

To set a property of a block, call

block.SetValue<T>(string propertyName, T property)

For example:

// Set the color of a light
Color color = new Color(50, 100, 200); // create a new color
IMyInteriorLight light;
// codes that you assign the actual light you want to set color
light.SetValue<Color>("Color", color); // set color

Terminal Action List (Old)

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 IncreaseRadius action for block.

Air Vent

Interface name: IMyAirVent
Parent: IMyFunctionalBlock
Fields:
bool CanPressurize { get; }
bool Depressurize { get; set; }
bool IsDepressurizing { get; } Depreciated
bool PressurizationEnabled { get; }
enum VentStatus Status { get; }

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off ->Toggle Block Off
Depressurize -> Depressurize On/Off
Depressurize_On -> Depressurize On
Depressurize_Off -> Depressurize Off

Advanced Rotor

Interface name: IMyMotorAdvancedStator
Parent: IMyMotorBase
Parent: IMyFunctionalBlock
Fields:
float Angle { get; }
float BrakingTorque { get; set; }
float Displacement { get; set; }
float LowerLimitDeg { get; set; }
float LowerLimitRad { get; set; }
bool RotorLock { get; set; }
float TargetVelocityRad { get; set; }
float TargetVelocityRPM { get; set; }
float Torque { get; set; }
float UpperLimitDeg { get; set; }
float UpperLimitRad { get; set; }

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off ->Toggle Block Off
Reverse -> Reverse
Attach -> Attach
IncreaseTorque -> Increase Torque
DecreaseTorque -> Decrease Torque
IncreaseBrakingTorque -> Increase Braking Torque
DecreaseBrakingTorque -> Decrease Braking Torque
IncreaseVelocity -> Increase 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

Antenna

Interface name: IMyRadioAntenna
Parent: IMyFunctionalBlock
Fields:
long AttachedProgrammableBlock { get; set; }
bool EnableBroadcasting { get; set; }
bool IgnoreAlliedBroadcast { get; set; }
bool IgnoreOtherBroadcast { get; set; }
bool IsBroadcasting { get; }
float Radius { get; set; }
bool ShowShipName { get; set; }

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseRadius -> Increase Broadcast radius
DecreaseRadius -> Decrease Broadcast radius
EnableBroadCast -> Toggle Broadcast On/Off
ShowShipName -> Toggle Showing Ship Name


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 CooperativeMode { get; set; }
float CurrentProgress { get; }
bool DisassembleEnabled { get; }
MyAssemblerMode Mode { get; set; }
bool Repeating { get; set; }

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off
slaveMode -> Cooperative Mode On/Off

Battery

Interface name: IMyBatteryBlock
Parent: IMyFunctionalBlock
Fields:
float CurrentInput { get; }
float CurrentOutput { get; }
float CurrentStoredPower { get; }
bool HasCapacityRemaining { get; }
bool IsCharging { get; }
float MaxInput { get; }
float MaxOutput { get; }
float MaxStoredPower { get; }
bool OnlyDischarge { get; set; }
bool OnlyRecharge { get; set; }
bool SemiautoEnabled { get; set; }

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Recharge -> Recharge On/Off
Discharge -> Discharge On/Off
SemiAuto -> Semi-auto On/Off

Beacon

Interface name: IMyBeacon
Parent: IMyFunctionalBlock
Fields:
float Radius { get; set; }

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 { get; set; }

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

Camera

Interface name: IMyCameraBlock
Parent: IMyFunctionalBlock
Fields:
double AvailableScanRange { get; }
bool EnableRaycast { get; set; }
bool IsActive { get; }
float RaycastConeLimit { get; }
double RaycastDistanceLimit { get; }

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

Cargo Containers

Interface name: IMyCargoContainer
Parent: IMyTerminalBlock
Fields: none

Actions: none

Cockpit, Control Station, Flight Seat

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

Actions:
ControlThrusters -> Control thrusters On/Off
ControlWheels -> Control wheels On/Off
HandBrake -> Handbrake On/Off
DampenersOverride -> Inertia dampeners On/Off
MainCockpit -> Main Cockpit On/Off
HorizonIndicator -> Show Horizon and Altitude 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

Conveyor Sorter

Interface name: IMyConveyorSorter
Fields:
bool DrainAll

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
DrainAll -> Drain All 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/Close Door
Open_On -> Open Door
Open_Off -> Close Door

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

Gatling Gun

Interface name: IMySmallGatlingGun
Parent: IMyUserControllableGun
Parent: IMyFunctionalBlock
Fields:
bool Shoot
bool UseConveyor

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off
ShootOnce -> Shoots Once
Shoot -> Shoot On/Off
Shoot_On -> Shoot On
Shoot_Off-> Shoot Off

Gatling Turret

Interface name: IMyLargeGatlingTurret
Parent: IMyLargeConveyorTurretBase
Parent: IMyLargeTurretBase
Parent: IMyUserControllableGun
Parent: IMyFunctionalBlock
Fields:
bool UseConveyorSystem
bool CanControl
float Range bool Shoot
bool EnableIdleMovement
bool TargetMeteors
bool TargetMoving
bool TargetMissiles
bool TargetSmallShips
bool TargetLargeShips
bool TargetCharacters
bool TargetStations
bool TargetNeutrals

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
ShootOnce -> Shoot once
Shoot -> Shoot On/Off
Shoot_On -> Shoot On
Shoot_Off -> Shoot Off
IncreaseRange -> Increase Aiming Radius
DecreaseRange -> Decrease Aiming Radius
EnableIdleMovement -> Idle Movement On/Off
EnableIdleMovement_On -> Idle Movement On
EnableIdleMovement_Off -> Idle Movement Off
TargetMeteors -> Target meteors On/Off
TargetMeteors_On -> Target meteors On
TargetMeteors_Off -> Target meteors Off
TargetMoving -> Target moving On/Off
TargetMoving_On -> Target moving On
TargetMoving_Off -> Target moving Off
TargetMissiles -> Target missiles On/Off
TargetMissiles_On -> Target missiles On
TargetMissiles_Off -> Target missiles Off
TargetSmallShips -> Target small ships On/Off
TargetSmallShips_On -> Target small ships On
TargetSmallShips_Off -> Target small ships Off
TargetLargeShips -> Target large ship On/Off
TargetLargeShips_On -> Target large ship On
TargetLargeShips_Off -> Target large ship Off
TargetCharacters -> Target characters On/Off
TargetCharacters_On -> Target characters On
TargetCharacters_Off -> Target characters Off
TargetStations -> Target stations On/Off
TargetStations_On -> Target stations On
TargetStations_Off -> Target stations Off
TargetNeutrals -> Target neutrals On/Off
TargetNeutrals_On -> Target neutrals On
TargetNeutrals_Off -> Target neutrals 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 BlinkIntervalSeconds { get; set; }
float BlinkLength { get; set; }
float BlinkOffset { get; set; }
Color Color { get; set; }
float Falloff { get; set; }
float Intensity { get; set; }
float Radius { get; set; }

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: IMyUserControllableGun
Parent: IMyFunctionalBlock
Fields:
bool CanControl
float Range
bool Shoot
bool EnableIdleMovement
bool TargetMeteors
bool TargetMoving
bool TargetMissiles
bool TargetSmallShips
bool TargetLargeShips
bool TargetCharacters
bool TargetStations
bool TargetNeutrals

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Control -> Control
IncreaseRange -> Increase Radius
DecreaseRange -> Decrease Radius
ShootOnce -> Shoot once
Shoot -> Shoot On/Off
Shoot_On -> Shoot On
Shoot_Off -> Shoot Off
IncreaseRange -> Increase Aiming Radius
DecreaseRange -> Decrease Aiming Radius
EnableIdleMovement -> Idle Movement On/Off
EnableIdleMovement_On -> Idle Movement On
EnableIdleMovement_Off -> Idle Movement Off
TargetMeteors -> Target meteors On/Off
TargetMeteors_On -> Target meteors On
TargetMeteors_Off -> Target meteors Off
TargetMoving -> Target moving On/Off
TargetMoving_On -> Target moving On
TargetMoving_Off -> Target moving Off
TargetMissiles -> Target missiles On/Off
TargetMissiles_On -> Target missiles On
TargetMissiles_Off -> Target missiles Off
TargetSmallShips -> Target small ships On/Off
TargetSmallShips_On -> Target small ships On
TargetSmallShips_Off -> Target small ships Off
TargetLargeShips -> Target large ship On/Off
TargetLargeShips_On -> Target large ship On
TargetLargeShips_Off -> Target large ship Off
TargetCharacters -> Target characters On/Off
TargetCharacters_On -> Target characters On
TargetCharacters_Off -> Target characters Off
TargetStations -> Target stations On/Off
TargetStations_On -> Target stations On
TargetStations_Off -> Target stations Off
TargetNeutrals -> Target neutrals On/Off
TargetNeutrals_On -> Target neutrals On
TargetNeutrals_Off -> Target neutrals Off

Jump Drive

Interface name: IMyJumpDrive
Parent: IMyFunctionalBlock
Fields:
bool Recharge
bool JumpDistance

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Recharge -> Recharge On/Off
Recharge_On -> Recharge On
Recharge_Off -> Recharge Off
IncreaseJumpDistance -> Increase jump distance
DecreaseJumpDistance -> Decrease jump distance

Landing Gear

Interface name: IMyLandingGear
Parent: IMyFunctionalBlock
Fields:
bool Autolock
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

Laser Antenna

Interface name: IMyLaserAntenna
Parent: IMyFunctionalBlock
Fields:
bool isPerm

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Idle -> Idle
PasteGpsCoords -> Paste coordinates
ConnectGPS -> Connect to coordinates
isPerm -> Permanent connection On/Off

Medical Room

Interface name: IMyMedicalRoom
Parent: IMyFunctionalBlock
Fields:
bool TakeOwnership
bool SetFaction
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: IMyMissileTurret
Parent: IMyLargeConveyorTurretBase
Parent: IMyLargeTurretBase
Parent: IMyUserControllableGun
Parent: IMyFunctionalBlock
Fields:
bool CanControl
float Range
bool Shoot
bool EnableIdleMovement
bool TargetMeteors
bool TargetMoving
bool TargetMissiles
bool TargetSmallShips
bool TargetLargeShips
bool TargetCharacters
bool TargetStations
bool TargetNeutrals

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Control -> Control
IncreaseRange -> Increase Radius
DecreaseRange -> Decrease Radius
ShootOnce -> Shoot once
Shoot -> Shoot On/Off
Shoot_On -> Shoot On
Shoot_Off -> Shoot Off
IncreaseRange -> Increase Aiming Radius
DecreaseRange -> Decrease Aiming Radius
UseConveyor -> Use Conveyor System On/Off
EnableIdleMovement -> Idle Movement On/Off
EnableIdleMovement_On -> Idle Movement On
EnableIdleMovement_Off -> Idle Movement Off
TargetMeteors -> Target meteors On/Off
TargetMeteors_On -> Target meteors On
TargetMeteors_Off -> Target meteors Off
TargetMoving -> Target moving On/Off
TargetMoving_On -> Target moving On
TargetMoving_Off -> Target moving Off
TargetMissiles -> Target missiles On/Off
TargetMissiles_On -> Target missiles On
TargetMissiles_Off -> Target missiles Off
TargetSmallShips -> Target small ships On/Off
TargetSmallShips_On -> Target small ships On
TargetSmallShips_Off -> Target small ships Off
TargetLargeShips -> Target large ship On/Off
TargetLargeShips_On -> Target large ship On
TargetLargeShips_Off -> Target large ship Off
TargetCharacters -> Target characters On/Off
TargetCharacters_On -> Target characters On
TargetCharacters_Off -> Target characters Off
TargetStations -> Target stations On/Off
TargetStations_On -> Target stations On
TargetStations_Off -> Target stations Off
TargetNeutrals -> Target neutrals On/Off
TargetNeutrals_On -> Target neutrals On
TargetNeutrals_Off -> Target neutrals Off

Ore Detector

Interface name: IMyOreDetector
Parent: IMyFunctionalBlock
Fields:
bool BroadcastUsingAntennas

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
BroadcastUsingAntennas -> Broadcast using antennas On/Off

Oxygen Farm

Interface name: IMyOxygenFarm
Parent: IMyFunctionalBlock
Fields: none

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

Oxygen Generator

Interface name: IMyOxygenGenerator
Parent: IMyFunctionalBlock
Fields:
bool Auto-Refill

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Refill -> Refill Bottles
Auto-Refill -> Auto-Refill On/Off

Oxygen/Hydrogen Tank

Interface name: IMyOxygenTank
Parent: IMyFunctionalBlock
Fields:
bool Stockpile
bool Auto-Refill

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Stockpile -> Stockpile On/Off
Stockpile_On -> Stockpile On
Stockpile_Off -> Stockpile Off
Refill -> Refill Bottles
Auto-Refill -> Auto-Refill On/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:
bool OnOff
bool ShowInTerminal
bool ShowInToolbarConfig
bool ShowOnHUD
float Velocity
float MinLimit "LowerLimit"
float MaxLimit "UpperLimit"
PistonStatus Status
float "Weld speed"
bool "Force weld"

Strings to be used in methods like "bool GetValueBool(string propertyId)"

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
Reverse -> Reverse
Extend -> Extend
Retract -> Retract
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
IncreaseWeld speed -> Increase Safety lock speed
DecreaseWeld speed -> Decrease Safety lock speed
IncreaseMaxImpulseAxis
DecreaseMaxImpulseAxis
IncreaseMaxImpulseNonAxis
DecreaseMaxImpulseNonAxis
Force weld -> Safety override lock On/Off
Force weld
IncreaseSafetyDetach
DecreaseSafetyDetach
ShareInertiaTensor
Add Top Part

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
RunWithDefaultArgument -> Run with default argument

Projector

Interface name: IMyProjector
Parent: IMyFunctionalBlock
Fields:
bool OnOff
bool ShowInTerminal
bool ShowInToolbarConfig
bool ShowOnHUD
bool KeepProjection
bool ShowOnlyBuildable
float X
float Y
float Z
float RotX
float RotY
float RotZ
bool InstantBuilding
bool GetOwnership
float NumberOfProjections
float NumberOfBlocks

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
KeepProjection -> Keep Projection On/Off
IncreaseX -> Increase horizontal offset
DecreaseX -> Decrease horizontal offset
IncreaseY -> Increase vertical offset
DecreaseY -> Decrease vertical offset
IncreaseZ -> Increase forward offset
DecreaseZ -> Decrease forward offset
IncreaseRotX -> Increase Pitch
DecreaseRotX -> Decrease Pitch
IncreaseRotY -> Increase Yaw
DecreaseRotY -> Decrease Yaw
IncreaseRotZ -> Increase Roll
DecreaseRotZ -> Decrease Roll
IncreaseScale
DecreaseScale
SpawnProjection -> Spawn projection
IncreaseFontSize
DecreaseFontSize
IncreaseTextPaddingSlider
DecreaseTextPaddingSlider
IncreaseChangeIntervalSlider
DecreaseChangeIntervalSlider
PreserveAspectRatio

Reactor (Small, Large)

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

Refinery and 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

Reloadable Rocket Launcher

Interface name: IMySmallMissileLauncherReload
Parent: IMySmallMissileLauncherReload
Parent: IMySmallMissileLauncher
Parent: IMyUserControllableGun
Parent: IMyFunctionalBlock
Fields:
bool Shoot

Actions:
Off -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off
ShootOnce -> Shoot once
Shoot -> Shoot On/Off
Shoot_On -> Shoot On
Shoot_Off -> Shoot Off

Remote Control

Interface name: IMyRemoteControl
Parent: IMyShipController
Fields:
bool ControlThrusters
bool ControlWheels
bool HandBrake
bool DampenersOverride
bool MainCockpit
bool HorizonIndicator
bool AutoPilot
bool CollisionAvoidance
bool DockingMode

Actions:
ControlThrusters -> Control thrusters On/Off
ControlWheels -> Control wheels On/Off
HandBrake -> Handbrake On/Off
DampenersOverride -> Inertia dampeners On/Off
MainCockpit -> Main cockpit On/Off
AutoPilot -> Autopilot On/Off
AutoPilot_On -> Autopilot On
AutoPilot_Off -> Autopilot Off
CollisionAvoidance -> Collision avoidance On/Off
CollisionAvoidance_On -> Collision avoidance On
CollisionAvoicance_Off -> Collision avoidance Off
DockingMode -> Precision mode On/Off
DockingMode_On -> Precision mode On
DockingMode_Off -> Precision mode Off
Forward -> Set front part of remote control as reference for autopilot
Backward -> Set rear part of remote control as reference for autopilot
Left -> Set left part of remote control as reference for autopilot
Right -> Set right part of remote control as reference for autopilot
Up -> Set top part of remote control as reference for autopilot
Down -> Set bottom part of remote control as reference for autopilot

Rocket Launcher

Interface name: IMySmallMissileLauncher
Parent: IMyUserControllableGun
Parent: IMyFunctionalBlock
Fields:
bool Shoot
s

Actions:
Off -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
UseConveyor -> Use Conveyor System On/Off
ShootOnce -> Shoot once
Shoot -> Shoot On/Off
Shoot_On -> Shoot On
Shoot_Off -> Shoot 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
bool IsActive

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

Space Balls

Interface name: IMySpaceball
Parent: IMyVirtualMass
Parent: IMyFunctionalBlock
Fields:
float VirtualMass
bool EnableBroadCast

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseVirtualMass -> Increase Virtual Mass
DecreaseVirtualMass -> Decrease Virtual Mass
EnableBroadCast -> Enable broadcasting On/Off

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

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

Text Panel, LCD, Wide LCD

Interface name: IMyTextPanel
Parent: IMyFunctionalBlock
Fields:
float FontSize
String FontColor
String BackgroundColor
float ChangeIntervalSlider

Actions:
OnOff -> Toggle block On/Off
OnOff_On -> Toggle block On
OnOff_Off -> Toggle block Off
IncreaseFontSize -> Increase Font Size
DecreaseFontSize -> Decrease Font Size
IncreaseChangeIntervalSlider -> Increase Image change interval
DecreaseChangeIntervalSlider -> Decrease Image change interval

Thruster (Ion, Hydrogen, Atmospheric)

Interface name: IMyThrust
Parent: IMyFunctionalBlock
Fields:
float Override

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

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, 3x3, 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

Terminal Action and Property List

All terminal blocks have terminal actions and properties. Sub-interfaces share their parent interface's terminal actions and properties. Therefore, as IMyTerminalBlock has OnOff action, all blocks also have it. To save space, any content a parent interface has will NOT be listed in the sub-interfaces.

The tables in this wiki page had been redone (06/28/2020) to better display the information needed. The tables will show the fields and methods that have the same purposes as the terminal properties and actions. notice that not all fields or methods will be shown, only those which have terminal functions will be.

In the tables listed below, some properties will be displayed (not to confuse with terminal properties):

Interface Name: the name of the interface in the ingame scripting API.

Terminal Action: the names of terminal actions and their descrptions.

Method: the methods in the interface API that do the same thing as terminal actions. It is recommanded to use interface methods.

Terminal Property: the names of terminal properties.

Field: the fields in the interface API that do the same thing as terminal properties. It is recommanded to use interface fields.

IMyTerminalBlock

Description Terminal Actions Method Terminal Property Field
Toggle Show on HUD On/Off
"ShowOnHUD"

bool "ShowOnHUD"
bool ShowOnHUD {get; set;}
Show on HUD On
"ShowOnHUD_On"
Show on HUD On
"ShowOnHUD_Off"
Name


StringBuilder "Name"
string Name {get;}
Show in Inventory


bool "ShowInInventory"
bool ShowInInventory {get; set;}
Show in Terminal


bool "ShowInTerminal"
bool ShowInTerminal {get; set;}
Show in Toolbar Config


bool "ShowInToolbarConfig"
bool ShowInToolbarConfig {get; set;}

IMyCargoContainer

Cargo Container does not have it's own members except those inherited from IMyTerminalBlock.

Description Terminal Action Method Terminal Property Field

IMyFunctionalBlock

IMyFunctionalBlock is the parent of most terminal blocks. It can be turned on and off.

Description Terminal Action Method Terminal Property Field
Toggle Block On/Off
"OnOff"
void RequestEnable(bool enable) Obsolete: Use the setter of Enabled
bool "OnOff"
bool Enabled {get; set;}
Toggle Block On
"OnOff_ON"
Toggle Block Off
"OnOff_Off"
IMyAirVent
Description Terminal Action Method Terminal Property Field
Toggle Depressurize On/Off
"Depressurize"

bool "Depressurize"
bool Depressurize {get; set;}
Depressurize On
"Depressurize_On"
Depressurize Off
"Depressurize_Off"
IMyAritificialMassBlock
Description Terminal Action Method Terminal Property Field
IMyBatteryBlock
Description Terminal Action Method Terminal Property Field
Enable Auto
"Auto"

long "ChargeMode"
ChargeMode ChargeMode {get; set;}
Toggle Recharge On/Off
"Recharge"
bool OnlyRecharge {get; set;} Obsolete: Use ChargeMode instead
Toggle Discharge On/Off
"Discharge"
bool OnlyDischarge {get; set;} Obsolete: Use ChargeMode instead
IMyBeacon
Description Terminal Action Method Terminal Property Field
Increase Broadcast Radius
"IncreaseRadius"

float "Radius"
float Radius {get; set;}
Decrease Broadcast Radius
"DecreaseRadius"
Text Show On HUD


StringBuilder "HudText"
string HudText {get; set;}
IMyDoor

There are different types of doors. They have similar behaviors.

Description Terminal Action Method Terminal Property Field
Toggle Anyone Can Use On/Off
"AnyoneCanUse"

bool "AnyoneCanUse"

Toggle Door Open/Closed
"Open"
void ToggleDoor()
bool "Open"
bool Open {get;} Obsolete: Use the Status instead
DoorStatus Status {get;}
Open Door
"Open_On"
void OpenDoor()
Close Door
"Open_Off"
void CloseDoor()
IMyAdvancedDoor
Description Terminal Action Method Terminal Property Field
IMyAirtightHangarDoor
Description Terminal Action Method Terminal Property Field
IMyAirtightSlideDoor
Description Terminal Action Method Terminal Property Field
IMyProductionBlock
Description Terminal Action Method Terminal Property Field
Toggle Use Conveyor System On/Off
"UseConveyor"

bool "UseConveyor"
bool UseConveyorSystem {get; set;}
IMyAssembler
Description Terminal Action Method Terminal Property Field
Cooperative Mode On/Off
"slaveMode"

bool "slaveMode"
bool CooperativeMode {get; set;}
IMyRefinery
Description Terminal Action Method Terminal Property Field

IMyWarhead

Description Terminal Action Method Terminal Property Field
Increase Detonation Time
"IncreaseDetonationTime"

float "DetonationTime"
float DetonationTime {get; set;}
Decrease Detonation Time
"DecreaseDetonationTime"
Detonate
"Detonate"
void Detonate()


Toggle Arm Warhead On/Off
"Safety"

bool "Safety"
bool IsArmed {get; set;}
Start Countdown
"StartCountdown"
bool StartCountdown()

bool IsCountingDown {get;}
Stop Countdown
"StopCountdown
bool StopCountdown()
  1. https://github.com/malware-dev/MDK-SE/wiki/Terminal-Properties-and-Actions