Difference between revisions of "Scripting API Documentation"

From Space Engineers Wiki
Jump to: navigation, search
(Sandbox.ModAPI.Ingame: Updated descriptions. Lots and lots of descriptions. If anyone is sure about what a "slim block" is, please update that one.)
(Expanded the warning on the cuber documentation with more details.)
Line 1: Line 1:
 
In [[Update 01.063]], ''In-game Programming'' was introduced, allowing Engineers to make their own scripts to be compiled and ran by the [[Programmable Block]].  There is a limited API available to would-be coders which is described and documented here.
 
In [[Update 01.063]], ''In-game Programming'' was introduced, allowing Engineers to make their own scripts to be compiled and ran by the [[Programmable Block]].  There is a limited API available to would-be coders which is described and documented here.
  
An alternative documentation is available [https://jcuber.github.io/space-engineers-doc-collab/html/R_Project_SE_Ingame_API.htm to experienced c# developers here,] as explained [http://forums.keenswh.com/post/programmable-block-api-documentation-now-online-7224725?&trail=15 in this forum post here].
+
An alternative documentation is available [https://jcuber.github.io/space-engineers-doc-collab/html/R_Project_SE_Ingame_API.htm to experienced c# developers here], as explained [http://forums.keenswh.com/post/programmable-block-api-documentation-now-online-7224725?&trail=15 in this forum post here]. This documentation is made using Sandcastle, and is in the same format as [[http://msdn.microsoft.com/library|MSDN]] reference. At the moment, it is a work in progress and lacks any description of what anything does. If you don't know what a "decompiled DLL" is, that documentation is likely unhelpful.
  
 
==Sandbox.Common.ObjectBuilders==
 
==Sandbox.Common.ObjectBuilders==

Revision as of 00:34, 13 January 2015

In Update 01.063, In-game Programming was introduced, allowing Engineers to make their own scripts to be compiled and ran by the Programmable Block. There is a limited API available to would-be coders which is described and documented here.

An alternative documentation is available to experienced c# developers here, as explained in this forum post here. This documentation is made using Sandcastle, and is in the same format as [[1]] reference. At the moment, it is a work in progress and lacks any description of what anything does. If you don't know what a "decompiled DLL" is, that documentation is likely unhelpful.

Sandbox.Common.ObjectBuilders

Classes
Name Description
ModdableContentFile A class
MyConfigDedicatedData A class
MyObjectBuilder_AmmoMagazine A class
MyObjectBuilder_AngleGrinder A class
MyObjectBuilder_Assembler A class
MyObjectBuilder_AutomaticRifle A class
MyObjectBuilder_AutopilotBase A class
MyObjectBuilder_Base A class
MyObjectBuilder_Battery A class
MyObjectBuilder_BatteryBlock A class
MyObjectBuilder_Beacon A class
MyObjectBuilder_BlockGroup A class
MyObjectBuilder_ButtonPanel A class
MyObjectBuilder_CameraBlock A class
MyObjectBuilder_CargoContainer A class
MyObjectBuilder_Character A class
MyObjectBuilder_ChatHistory A class
MyObjectBuilder_ChatItem A class
MyObjectBuilder_Checkpoint A class
MyObjectBuilder_Client A class
MyObjectBuilder_Cockpit A class
MyObjectBuilder_Collector A class
MyObjectBuilder_Component A class
MyObjectBuilder_CompoundCubeBlock A class
MyObjectBuilder_ConstructionStockpile A class
MyObjectBuilder_ControlPanel A class
MyObjectBuilder_Conveyor A class
MyObjectBuilder_ConveyorConnector A class
MyObjectBuilder_ConveyorLine A class
MyObjectBuilder_ConveyorPacket A class
MyObjectBuilder_ConveyorTurretBase A class
MyObjectBuilder_CubeBlock A class
MyObjectBuilder_CubeGrid A class
MyObjectBuilder_CubePlacer A class
MyObjectBuilder_Decoy A class
MyObjectBuilder_DeviceBase A class
MyObjectBuilder_Door A class
MyObjectBuilder_Drill A class
MyObjectBuilder_Encounters A class
MyObjectBuilder_EntityBase A class
MyObjectBuilder_ExtendedPistonBase A class
MyObjectBuilder_FactionChatHistory A class
MyObjectBuilder_FactionCollection A class
MyObjectBuilder_FloatingObject A class
MyObjectBuilder_FracturedBlock A class
MyObjectBuilder_FracturedPiece A class
MyObjectBuilder_FunctionalBlock A class
MyObjectBuilder_GlobalChatHistory A class
MyObjectBuilder_GlobalEventBase A class
MyObjectBuilder_GlobalEvents A class
MyObjectBuilder_GravityGenerator A class
MyObjectBuilder_GravityGeneratorSphere A class
MyObjectBuilder_GunBase A class
MyObjectBuilder_GunBase.RemainingAmmoIns A class
MyObjectBuilder_Gyro A class
MyObjectBuilder_HandDrill A class
MyObjectBuilder_Identity A class
MyObjectBuilder_Ingot A class
MyObjectBuilder_InteriorLight A class
MyObjectBuilder_InteriorTurret A class
MyObjectBuilder_Inventory A class
MyObjectBuilder_InventoryItem A class
MyObjectBuilder_Ladder A class
MyObjectBuilder_LandingGear A class
MyObjectBuilder_LargeGatlingTurret A class
MyObjectBuilder_LargeMissileTurret A class
MyObjectBuilder_LastLoadedTimes A class
MyObjectBuilder_LastSession A class
MyObjectBuilder_LightingBlock A class
MyObjectBuilder_MedicalRoom A class
MyObjectBuilder_MergeBlock A class
MyObjectBuilder_Meteor A class
MyObjectBuilder_Missile A class
MyObjectBuilder_ModInfo A class
MyObjectBuilder_MotorAdvancedRotor A class
MyObjectBuilder_MotorAdvancedStator A class
MyObjectBuilder_MotorBase A class
MyObjectBuilder_MotorRotor A class
MyObjectBuilder_MotorStator A class
MyObjectBuilder_MotorSuspension A class
MyObjectBuilder_MyProgrammableBlock A class
MyObjectBuilder_Ore A class
MyObjectBuilder_OreDetector A class
MyObjectBuilder_Passage A class
MyObjectBuilder_PhysicalCubeBlockObject A class
MyObjectBuilder_PhysicalGunObject A class
MyObjectBuilder_PhysicalObject A class
MyObjectBuilder_PistonBase A class
MyObjectBuilder_PistonTop A class
MyObjectBuilder_Player A class
MyObjectBuilder_Player.CameraControllerSettings A class
MyObjectBuilder_PlayerChatHistory A class
MyObjectBuilder_ProductionBlock A class
MyObjectBuilder_Projector A class
MyObjectBuilder_RadioAntenna A class
MyObjectBuilder_Reactor A class
MyObjectBuilder_RealWheel A class
MyObjectBuilder_Refinery A class
MyObjectBuilder_ReflectorLight A class
MyObjectBuilder_RemoteControl A class
MyObjectBuilder_Sector A class
MyObjectBuilder_SensorBlock A class
MyObjectBuilder_SessionSettings A class
MyObjectBuilder_ShipConnector A class
MyObjectBuilder_ShipController A class
MyObjectBuilder_ShipGrinder A class
MyObjectBuilder_ShipToolBase A class
MyObjectBuilder_ShipWelder A class
MyObjectBuilder_SignalLight A class
MyObjectBuilder_SimpleAutopilot A class
MyObjectBuilder_SmallGatlingGun A class
MyObjectBuilder_SmallMissileLauncher A class
MyObjectBuilder_SmallMissileLauncherReload A class
MyObjectBuilder_SolarPanel A class
MyObjectBuilder_SoundBlock A class
MyObjectBuilder_SpaceBall A class
MyObjectBuilder_StockpileItem A class
MyObjectBuilder_TerminalBlock A class
MyObjectBuilder_Thrust A class
MyObjectBuilder_TimerBlock A class
MyObjectBuilder_Toolbar A class
MyObjectBuilder_ToolbarItem A class
MyObjectBuilder_ToolbarItemAnimation A class
MyObjectBuilder_ToolbarItemCubeBlock A class
MyObjectBuilder_ToolbarItemDefinition A class
MyObjectBuilder_ToolbarItemEmpty A class
MyObjectBuilder_ToolbarItemPrefabThrower A class
MyObjectBuilder_ToolbarItemTerminal A class
MyObjectBuilder_ToolbarItemTerminalBlock A class
MyObjectBuilder_ToolbarItemTerminalGroup A class
MyObjectBuilder_ToolbarItemWeapon A class
MyObjectBuilder_ToolbarItemVoxelHand A class
MyObjectBuilder_TurretBase A class
MyObjectBuilder_Warhead A class
MyObjectBuilder_Welder A class
MyObjectBuilder_Wheel A class
MyObjectBuilder_VirtualMass A class
MyObjectBuilder_World A class
MyObjectBuilderDefinitionAttribute A class
MyObjectBuilderExtensions A class
MyObjectBuilderType.ComparerType A class
MyRuntimeObjectBuilderId.IdComparerType A class
Structs
Name Description
BoneInfo A struct
MyEncounterId A struct
MyObjectBuilder_Checkpoint.ModItem A struct
MyObjectBuilder_Checkpoint.PlayerId A struct
MyObjectBuilder_Checkpoint.PlayerItem A struct
MyObjectBuilder_Checkpoint.RespawnCooldownItem A struct
MyObjectBuilder_CubeBlock.MySubBlockId A struct
MyObjectBuilder_FactionRelation A struct
MyObjectBuilder_FactionRequests A struct
MyObjectBuilder_FracturedBlock.ShapeB A struct
MyObjectBuilder_FracturedPiece.Shape A struct
MyObjectBuilder_ProductionBlock.QueueItem A struct
MyObjectBuilder_Toolbar.Slot A struct
MyObjectBuilderType A struct
MyOrientation A struct
MyPositionAndOrientation A struct
MyRuntimeObjectBuilderId A struct
Interfaces
Name Description
IMyRemapHelper An interface.
Enumerations
Name Description
MyBlockTopology An enum.
MyCameraControllerEnum An enum.
MyCharacterModelEnum An enum.
MyCubeSize An enum.
MyEnvironmentHostilityEnum An enum.
MyGameModeEnum An enum.
MyItemFlags An enum.
MyObjectBuilder_ConveyorLine.LineType An enum.
MyOnlineModeEnum An enum.
MyOwnershipShareModeEnum An enum.
MyPersistentEntityFlags2 An enum.
MySessionGameType Obsolete.
MySessionHarvestMode Obsolete.
MyToolbarType An enum.


Sandbox.ModAPI

Classes
Name Description
MyAPIGateway A class
Interfaces
Name Description
IMyButtonPanel An interface.
IMyConfigDedicated An interface.
IMyControllerInfo An interface.
IMyCubeBlock An interface.
IMyCubeBuilder An interface.
IMyCubeGrid An interface.
IMyDoor An interface.
IMyEntities An interface.
IMyEntity An interface.
IMyEntityController An interface.
IMyFaction An interface.
IMyFactionCollection An interface.
IMyFunctionalBlock An interface.
IMyGamePaths An interface.
IMyHudObjectiveLine An interface.
IMyIdentity An interface.
IMyInventory An interface.
IMyLandingGear An interface.
IMyMotorStator An interface.
IMyMultiplayer An interface.
IMyNetworkClient An interface.
IMyParallelTask An interface.
IMyPistonBase An interface.
IMyPlayer An interface.
IMyPlayerCollection An interface.
IMyProductionBlock An interface.
IMySensorBlock An interface.
IMySession An interface.
IMyShipMergeBlock An interface.
IMySlimBlock An interface.
IMyTerminalActionsHelper An interface.
IMyTerminalBlock An interface.
IMyUtilities An interface.
IMyVoxelMap An interface.
IMyVoxelMaps An interface.
Delegates
Name Description
MessageEnteredDel A Delegate.
Enumerations
Name Description
EntityFlags An enum.
ResultEnum An enum.


Sandbox.ModAPI.Ingame

Interfaces
Name Description
IMyAssembler Interface for assembler-class blocks.
IMyBatteryBlock Interface for battery-class blocks.
IMyBeacon

Interface for beacon-class blocks.

IMyBlockGroup Interface for block groups.
IMyButtonPanel Interface for button panel blocks.
IMyCameraBlock Interface for camera-class blocks.
IMyCargoContainer Interface for cargo container blocks (includes small, medium, and large).
IMyCockpit Interface for cockpit classes (includes pilot seat, cockpit, fighter cockpit, and control station).
IMyCollector Interface for collector-class blocks.
IMyControlPanel Interface for control panel blocks.
IMyCubeBlock Base class for all blocks.
IMyCubeGrid Base class for grids.
IMyDoor Interface for door-class blocks.
IMyFunctionalBlock Base class for all "functional" blocks. These include, but are not limited to: gyroscopes, assemblers, refineries, sensors, doors, thrusters, and sound blocks.
IMyGravityGenerator Interface for standard gravity generator blocks.
IMyGravityGeneratorBase Base class for all gravity generators.
IMyGravityGeneratorSphere Interface for spherical gravity generator blocks.
IMyGridTerminalSystem Static object that allows access to other blocks on the same and locally connected grids.
IMyGyro Interface for gyroscope-class blocks.
IMyInteriorLight Interface for interior light blocks.
IMyLandingGear Interface for landing gear blocks.
IMyLargeConveyorTurretBase Base class for all conveyor-connectable turrets.
IMyLargeGatlingTurret Interface for Gatling turrets.
IMyLargeInteriorTurret Interface for interior turrets.
IMyLargeMissileTurret Interface for large missile turrets.
IMyLargeTurretBase Base class for all large turrets.
IMyLightingBlock Base class for all light blocks (spotlights, interior lights).
IMyMedicalRoom Interface for medical bays.
IMyMotorAdvancedStator Interface for advanced rotors.
IMyMotorBase Base class for all motorized components (rotor, advanced rotor, wheel suspensions).
IMyMotorStator Interface for standard rotors.
IMyMotorSuspension Interface for wheel suspensions.
IMyOreDetector Interface for ore detectors.
IMyPistonBase Base class for pistons.
IMyProductionBlock Base class for production blocks (arc furnace, refinery, assembler)
IMyProgrammableBlock Interface for programmable blocks.
IMyProjector Interface for projector blocks.
IMyRadioAntenna Interface for antennas.
IMyReactor Interface for all reactors (large grid and small grid large and small reactors).
IMyRefinery Interface for refineries.
IMyReflectorLight Interface for spotlights.
IMyRemoteControl Interface for remote control blocks.
IMySensorBlock Interface for sensors.
IMyShipConnector Interface for connector blocks.
IMyShipController Base class for control station classes-- cockpits are included in this.
IMyShipDrill Interface for all ship drills.
IMyShipGrinder Interface for grinders.
IMyShipMergeBlock Interface for merge blocks.
IMyShipToolBase Base class for ship grinders and welders.
IMyShipWelder Interface for welders.
IMySlimBlock An interface. Block classes TBD.
IMySmallGatlingGun Interface for small ship Gatling guns.
IMySmallMissileLauncher Interface for missile launchers.
IMySmallMissileLauncherReload Interface for small ship reloadable missile launchers.
IMySolarPanel Interface for solar panels.
IMySoundBlock Interface for sound blocks.
IMyTerminalBlock Base class for any block that appears in the terminal (control panel screen).
IMyThrust Interface for thrusters (large and small).
IMyTimerBlock Interface for timer blocks.
IMyWarhead Interface for warheads.
IMyVirtualMass Interface for artificial mass blocks.

Sandbox.ModAPI.Interfaces

Interfaces
Name Description
IMyCameraController An interface.
IMyControllableEntity An interface.
IMyDestroyableObject An interface.
IMyInventory An interface.
IMyInventoryItem An interface.
IMyInventoryOwner An interface.
IMyStorage An interface.
ITerminalAction An interface.


Vrage.Math

Classes
Name Description
Base27Directions A class.
Base6Directions A class.
BoundingBox.ComparerType A class.
BoundingBoxD.ComparerType A class.
BoundingFrustum A class.
BoundingFrustumD A class.
ColorExtensions A class.
Curve A class.
CurveKey A class.
CurveKeyCollection A class.
DoubleExtensions A class.
FloatExtensions A class.
MathHelper A class.
MyDynamicAABBTree A class.
MyDynamicAABBTreeD A class.
MyLineSegmentOverlapResult<T>.MyLineSegmentOverlapResultComparer A class.
MyMortonCode3D A class.
Vector2I.ComparerClass A class.
Vector3I.EqualityComparer A class.
Vector3INormalEqualityComparer A class.
Vector3UByte.EqualityComparer A class.
Structs
Name Description
BoundingBox A struct.
BoundingBoxD A struct.
BoundingSphere A struct.
BoundingSphereD A struct.
Capsule A struct.
Color A struct.
Line A struct.
LineD A struct.
Matrix A struct.
MatrixD A struct.
MatrixI A struct.
MyBlockOrientation A struct.
MyBounds A struct.
MyLineSegmentOverlapResult<T> A struct.
MyOrientedBoundingBox A struct.
MyQuad A struct.
MyShort4 A struct.
MyTransform A struct.
MyUShort4 A struct.
Plane A struct.
PlaneD A struct.
Point A struct.
Quaternion A struct.
Ray A struct.
RayD A struct.
Rectangle A struct.
RectangleF A struct.
Vector2 A struct.
Vector2I A struct.
Vector3 A struct.
Vector3B A struct.
Vector3D A struct.
Vector3I A struct.
Vector3I.RangeIterator A struct.
Vector3S A struct.
Vector3UByte A struct.
Vector3Ushort A struct.
Vector4 A struct.
Vector4I A struct.
Vector4UByte A struct.
Enums
Name Description
Base27Directions.Direction An enum.
Base6Directions.Axis An enum.
Base6Directions.Direction An enum.
ContainmentType An enum.
CurveContinuity An enum.
CurveLoopType An enum.
CurveTangent An enum.
PlaneIntersectionType An enum.