Difference between revisions of "API Documentation"
From Space Engineers Wiki
(Created page based on the three easily dumped *.dll's. Will add the remainder + start working on pages shortly.) |
(added script mod API whitelist.) |
||
Line 2: | Line 2: | ||
The API consists of bindings that can be accessed through C# scripts, which themselves are distributed with mods. There are a handful of Windows *.dll's which collect and organize the objects and methods used in mods. A list of each *.dll namespace with the objects and methods they expose is listed below. | The API consists of bindings that can be accessed through C# scripts, which themselves are distributed with mods. There are a handful of Windows *.dll's which collect and organize the objects and methods used in mods. A list of each *.dll namespace with the objects and methods they expose is listed below. | ||
+ | |||
+ | ==Mod Whitelist== | ||
+ | Not every function can be called in downloadable mods, to prevent malicious damage. Thus only a select few functions/classes may be called and used. The current list is as follows: | ||
+ | |||
+ | * Current whitelist | ||
+ | |||
+ | * NullReferenceException | ||
+ | * ArgumentException | ||
+ | * ArgumentNullException | ||
+ | * InvalidOperationException | ||
+ | * FormatException | ||
+ | * System.Exception | ||
+ | * System.DivideByZeroException | ||
+ | * System.InvalidCastException | ||
+ | * System.Math | ||
+ | * System.Enum; | ||
+ | * System.Int32 | ||
+ | * System.Int16 | ||
+ | * System.Int64 | ||
+ | * System.UInt32 | ||
+ | * System.UInt16 | ||
+ | * System.UInt64 | ||
+ | * System.Double | ||
+ | * System.Single | ||
+ | * System.Boolean | ||
+ | * System.Char | ||
+ | * System.Byte | ||
+ | * System.SByte | ||
+ | * System.Decimal | ||
+ | * System.DateTime | ||
+ | * System.TimeSpan | ||
+ | * System.Object | ||
+ | * System.IDisposable | ||
+ | * System.Random | ||
+ | * System.Convert | ||
+ | * System.Nullable<> | ||
+ | |||
+ | * System.IO.Stream | ||
+ | * System.IO.TextWriter | ||
+ | * System.IO.TextReade | ||
+ | |||
+ | * System.Collections.IEnumerator | ||
+ | * System.Collections.Generic.IEnumerable<> | ||
+ | * System.Collections.Generic.HashSet<> | ||
+ | * System.Collections.Generic.Queue<> | ||
+ | |||
+ | * System.Linq.Enumerable | ||
+ | |||
+ | * System.Text.StringBuilder | ||
+ | * System.Text.RegularExpressions.Regex; | ||
+ | |||
+ | * System.Timers.Timer; | ||
+ | |||
+ | * System.Globalization.Calendar; | ||
+ | |||
+ | * System.Xml.Serialization.XmlElementAttribute | ||
+ | * System.Xml.Serialization.XmlAttributeAttribute | ||
+ | * System.Xml.Serialization.XmlArrayAttribute | ||
+ | * System.Xml.Serialization.XmlArrayItemAttribute | ||
+ | * System.Xml.Serialization.XmlAnyAttributeAttribute | ||
+ | * System.Xml.Serialization.XmlAnyElementAttribute | ||
+ | * System.Xml.Serialization.XmlAnyElementAttributes | ||
+ | * System.Xml.Serialization.XmlArrayItemAttributes | ||
+ | * System.Xml.Serialization.XmlAttributeEventArgs | ||
+ | * System.Xml.Serialization.XmlAttributeOverrides | ||
+ | * System.Xml.Serialization.XmlAttributes | ||
+ | * System.Xml.Serialization.XmlChoiceIdentifierAttribute | ||
+ | * System.Xml.Serialization.XmlElementAttributes | ||
+ | * System.Xml.Serialization.XmlElementEventArgs | ||
+ | * System.Xml.Serialization.XmlEnumAttribute | ||
+ | * System.Xml.Serialization.XmlIgnoreAttribute | ||
+ | * System.Xml.Serialization.XmlIncludeAttribute | ||
+ | * System.Xml.Serialization.XmlRootAttribute | ||
+ | * System.Xml.Serialization.XmlTextAttribute | ||
+ | * System.Xml.Serialization.XmlTypeAttribute | ||
+ | |||
+ | * Sandbox.ModAPI.Ingame.IMyCubeBlock | ||
+ | * Sandbox.ModAPI.IMySession | ||
+ | * Sandbox.ModAPI.Interfaces.IMyCameraController | ||
+ | * Sandbox.Common.MySessionComponentBase | ||
+ | * Sandbox.Common.ObjectBuilders.MyObjectBuilder_Base | ||
+ | * Sandbox.Common.ObjectBuilders.Voxels.MyObjectBuilder_VoxelMap | ||
+ | * Sandbox.Common.Components.MyComponentBase | ||
+ | * Sandbox.Common.Localization.MyTextsWrapper | ||
+ | * Sandbox.Definitions.MyDefinitionId | ||
+ | * Sandbox.Common.ObjectBuilders.VRageData.SerializableVector3 | ||
+ | * Sandbox.Common.ObjectBuilders.Definitions.SerializableDefinitionId | ||
+ | * VRageMath.Vector3 | ||
+ | * VRage.Voxels.MyStorageDataCache | ||
+ | * VRage.MyFixedPoint | ||
+ | * VRage.Collections.ListReader<> | ||
+ | * VRage.Common.Utils.MyStringId | ||
==Sandbox.Common== | ==Sandbox.Common== |
Latest revision as of 08:02, 6 November 2014
The official Modding API was introduced with Update 01.048. This is not to be confused with the SEModAPI, a community-built interface started several months earlier.
The API consists of bindings that can be accessed through C# scripts, which themselves are distributed with mods. There are a handful of Windows *.dll's which collect and organize the objects and methods used in mods. A list of each *.dll namespace with the objects and methods they expose is listed below.
Mod Whitelist
Not every function can be called in downloadable mods, to prevent malicious damage. Thus only a select few functions/classes may be called and used. The current list is as follows:
- Current whitelist
- NullReferenceException
- ArgumentException
- ArgumentNullException
- InvalidOperationException
- FormatException
- System.Exception
- System.DivideByZeroException
- System.InvalidCastException
- System.Math
- System.Enum;
- System.Int32
- System.Int16
- System.Int64
- System.UInt32
- System.UInt16
- System.UInt64
- System.Double
- System.Single
- System.Boolean
- System.Char
- System.Byte
- System.SByte
- System.Decimal
- System.DateTime
- System.TimeSpan
- System.Object
- System.IDisposable
- System.Random
- System.Convert
- System.Nullable<>
- System.IO.Stream
- System.IO.TextWriter
- System.IO.TextReade
- System.Collections.IEnumerator
- System.Collections.Generic.IEnumerable<>
- System.Collections.Generic.HashSet<>
- System.Collections.Generic.Queue<>
- System.Linq.Enumerable
- System.Text.StringBuilder
- System.Text.RegularExpressions.Regex;
- System.Timers.Timer;
- System.Globalization.Calendar;
- System.Xml.Serialization.XmlElementAttribute
- System.Xml.Serialization.XmlAttributeAttribute
- System.Xml.Serialization.XmlArrayAttribute
- System.Xml.Serialization.XmlArrayItemAttribute
- System.Xml.Serialization.XmlAnyAttributeAttribute
- System.Xml.Serialization.XmlAnyElementAttribute
- System.Xml.Serialization.XmlAnyElementAttributes
- System.Xml.Serialization.XmlArrayItemAttributes
- System.Xml.Serialization.XmlAttributeEventArgs
- System.Xml.Serialization.XmlAttributeOverrides
- System.Xml.Serialization.XmlAttributes
- System.Xml.Serialization.XmlChoiceIdentifierAttribute
- System.Xml.Serialization.XmlElementAttributes
- System.Xml.Serialization.XmlElementEventArgs
- System.Xml.Serialization.XmlEnumAttribute
- System.Xml.Serialization.XmlIgnoreAttribute
- System.Xml.Serialization.XmlIncludeAttribute
- System.Xml.Serialization.XmlRootAttribute
- System.Xml.Serialization.XmlTextAttribute
- System.Xml.Serialization.XmlTypeAttribute
- Sandbox.ModAPI.Ingame.IMyCubeBlock
- Sandbox.ModAPI.IMySession
- Sandbox.ModAPI.Interfaces.IMyCameraController
- Sandbox.Common.MySessionComponentBase
- Sandbox.Common.ObjectBuilders.MyObjectBuilder_Base
- Sandbox.Common.ObjectBuilders.Voxels.MyObjectBuilder_VoxelMap
- Sandbox.Common.Components.MyComponentBase
- Sandbox.Common.Localization.MyTextsWrapper
- Sandbox.Definitions.MyDefinitionId
- Sandbox.Common.ObjectBuilders.VRageData.SerializableVector3
- Sandbox.Common.ObjectBuilders.Definitions.SerializableDefinitionId
- VRageMath.Vector3
- VRage.Voxels.MyStorageDataCache
- VRage.MyFixedPoint
- VRage.Collections.ListReader<>
- VRage.Common.Utils.MyStringId