Show / Hide Table of Contents

Interface IMyCubeGrid

Declares grid interface. (mods interface) Grid - an entity that consist of IMySlimBlock. Blocks like rotor, piston, hinge, motor suspension, on their creation creates top part, that belongs to another grid. Player created ships, can consist of many grids.

Inherited Members
IMyEntity.GetFriendlyName()
IMyEntity.Close()
IMyEntity.Delete()
IMyEntity.GetObjectBuilder(Boolean)
IMyEntity.BeforeSave()
IMyEntity.GetTopMostParent(Type)
IMyEntity.SetLocalMatrix(Matrix, Object)
IMyEntity.GetChildren(List<IMyEntity>, Func<IMyEntity, Boolean>)
IMyEntity.GetSubpart(String)
IMyEntity.TryGetSubpart(String, MyEntitySubpart)
IMyEntity.GetDiffuseColor()
IMyEntity.IsVisible()
IMyEntity.DebugDraw()
IMyEntity.DebugDrawInvalidTriangles()
IMyEntity.EnableColorMaskForSubparts(Boolean)
IMyEntity.SetColorMaskForSubparts(Vector3)
IMyEntity.SetTextureChangesForSubparts(Dictionary<MyStringId, MyTextureChange>)
IMyEntity.SetTextureChangesForSubparts(Dictionary<String, MyTextureChange>)
IMyEntity.SetEmissiveParts(String, Color, Single)
IMyEntity.SetEmissivePartsForSubparts(String, Color, Single)
IMyEntity.GetDistanceBetweenCameraAndBoundingSphere()
IMyEntity.GetDistanceBetweenCameraAndPosition()
IMyEntity.GetLargestDistanceBetweenCameraAndBoundingSphere()
IMyEntity.GetSmallestDistanceBetweenCameraAndBoundingSphere()
IMyEntity.OnRemovedFromScene(Object)
IMyEntity.OnAddedToScene(Object)
IMyEntity.GetViewMatrix()
IMyEntity.GetWorldMatrixNormalizedInv()
IMyEntity.SetWorldMatrix(MatrixD, Object)
IMyEntity.SetPosition(Vector3D)
IMyEntity.Teleport(MatrixD, Object, Boolean)
IMyEntity.GetIntersectionWithLine(LineD, Nullable<MyIntersectionResultLineTriangleEx>, IntersectionFlags)
IMyEntity.GetIntersectionWithLineAndBoundingSphere(LineD, Single)
IMyEntity.GetIntersectionWithSphere(BoundingSphereD)
IMyEntity.GetIntersectionWithAABB(BoundingBoxD)
IMyEntity.GetTrianglesIntersectingSphere(BoundingSphere, Nullable<Vector3>, Nullable<Single>, List<MyTriangle_Vertex_Normals>, Int32)
IMyEntity.DoOverlapSphereTest(Single, Vector3D)
IMyEntity.GetInventory()
IMyEntity.GetInventory(Int32)
IMyEntity.AddToGamePruningStructure()
IMyEntity.RemoveFromGamePruningStructure()
IMyEntity.UpdateGamePruningStructure()
IMyEntity.Physics
IMyEntity.PositionComp
IMyEntity.Render
IMyEntity.GameLogic
IMyEntity.Hierarchy
IMyEntity.SyncObject
IMyEntity.Storage
IMyEntity.Flags
IMyEntity.EntityId
IMyEntity.Name
IMyEntity.MarkedForClose
IMyEntity.DebugAsyncLoading
IMyEntity.Save
IMyEntity.PersistentFlags
IMyEntity.Model
IMyEntity.ModelCollision
IMyEntity.Synchronized
IMyEntity.NeedsUpdate
IMyEntity.Parent
IMyEntity.LocalMatrix
IMyEntity.NearFlag
IMyEntity.CastShadows
IMyEntity.FastCastShadowResolve
IMyEntity.NeedsResolveCastShadow
IMyEntity.MaxGlassDistSq
IMyEntity.NeedsDraw
IMyEntity.NeedsDrawFromParent
IMyEntity.Transparent
IMyEntity.ShadowBoxLod
IMyEntity.SkipIfTooSmall
IMyEntity.Visible
IMyEntity.NeedsWorldMatrix
IMyEntity.InScene
IMyEntity.InvalidateOnMove
IMyEntity.WorldMatrix
IMyEntity.WorldMatrixInvScaled
IMyEntity.WorldMatrixNormalizedInv
IMyEntity.IsVolumetric
IMyEntity.LocalAABB
IMyEntity.LocalAABBHr
IMyEntity.LocalVolume
IMyEntity.LocalVolumeOffset
IMyEntity.LocationForHudMarker
IMyEntity.IsCCDForProjectiles
IMyEntity.DisplayName
IMyEntity.StopPhysicsActivation
IMyEntity.OnClose
IMyEntity.OnClosing
IMyEntity.OnMarkForClose
IMyEntity.OnPhysicsChanged
IMyCubeGrid.CubeExists(Vector3I)
IMyCubeGrid.GridIntegerToWorld(Vector3I)
IMyCubeGrid.WorldToGridInteger(Vector3D)
IMyCubeGrid.IsSameConstructAs(IMyCubeGrid)
IMyCubeGrid.GridSize
IMyCubeGrid.GridSizeEnum
IMyCubeGrid.Max
IMyCubeGrid.Min
IMyCubeGrid.LinearVelocity
IMyCubeGrid.Speed
IMyEntity.GetPosition()
IMyEntity.Components
IMyEntity.HasInventory
IMyEntity.InventoryCount
IMyEntity.Closed
IMyEntity.WorldAABB
IMyEntity.WorldAABBHr
IMyEntity.WorldVolume
IMyEntity.WorldVolumeHr
Namespace: VRage.Game.ModAPI
Assembly: VRage.Game.dll
Syntax
public interface IMyCubeGrid : IMyEntity, IMyCubeGrid, IMyEntity

Properties

BigOwners

List of players with majority of blocks on grid

Declaration
List<long> BigOwners { get; }
Property Value
Type Description
System.Collections.Generic.List<System.Int64>

ControlSystem

Gets grid-group control system

Declaration
IMyGridControlSystem ControlSystem { get; }
Property Value
Type Description
IMyGridControlSystem

ConveyorSystem

Gets grid-group conveyor system

Declaration
IMyGridConveyorSystem ConveyorSystem { get; }
Property Value
Type Description
IMyGridConveyorSystem

CustomName

Display name of the grid (as seen in Info terminal tab)

Declaration
string CustomName { get; set; }
Property Value
Type Description
System.String

GasSystem

Gets grid-group gas system

Declaration
IMyGridGasSystem GasSystem { get; }
Property Value
Type Description
IMyGridGasSystem

GridPresenceTier

Gets grid presence tier

Declaration
MyUpdateTiersGridPresence GridPresenceTier { get; }
Property Value
Type Description
MyUpdateTiersGridPresence

IsBlockTrasferInProgress

Gets whether the move block transfer from one grid to another is in progress. This happens during the split operation.

Declaration
bool IsBlockTrasferInProgress { get; }
Property Value
Type Description
System.Boolean

IsNpcSpawnedGrid

Gets if this grid is NPC spawned grid by the system (cargo ship, encounter, etc)

Declaration
bool IsNpcSpawnedGrid { get; }
Property Value
Type Description
System.Boolean

IsRespawnGrid

Gets or sets if this grid is a respawn grid (can be cleaned up automatically when player leaves)

Declaration
bool IsRespawnGrid { get; set; }
Property Value
Type Description
System.Boolean

IsStatic

Gets or sets if the grid is static (station)

Declaration
bool IsStatic { get; set; }
Property Value
Type Description
System.Boolean
Remarks

Be careful not to set it on stations which are embedded in voxels!

JumpSystem

Gets grid-group jump system

Declaration
IMyGridJumpDriveSystem JumpSystem { get; }
Property Value
Type Description
IMyGridJumpDriveSystem

NaturalGravity

Gets natural gravity around the grid

Declaration
Vector3 NaturalGravity { get; }
Property Value
Type Description
Vector3

PlayerPresenceTier

Gets player presence tier

Declaration
MyUpdateTiersPlayerPresence PlayerPresenceTier { get; }
Property Value
Type Description
MyUpdateTiersPlayerPresence

ResourceDistributor

Gets grid-group resource distributor

Declaration
IMyResourceDistributorComponent ResourceDistributor { get; }
Property Value
Type Description
IMyResourceDistributorComponent

RvoAgentId

Gets RVO Agent ID used for collision avoidance algorithm

Declaration
int RvoAgentId { get; }
Property Value
Type Description
System.Int32

SmallOwners

List of players with any blocks on grid

Declaration
List<long> SmallOwners { get; }
Property Value
Type Description
System.Collections.Generic.List<System.Int64>

WeaponSystem

Gets grid-group weapon system

Declaration
IMyGridWeaponSystem WeaponSystem { get; }
Property Value
Type Description
IMyGridWeaponSystem

XSymmetryOdd

Gets or sets if the symmetry plane is offset from the block center

Declaration
bool XSymmetryOdd { get; set; }
Property Value
Type Description
System.Boolean
Remarks

True if symmetry plane is at block border; false if center of block

XSymmetryPlane

Gets or sets X-Axis build symmetry plane

Declaration
Nullable<Vector3I> XSymmetryPlane { get; set; }
Property Value
Type Description
System.Nullable<Vector3I>

YSymmetryOdd

Gets or sets if the symmetry plane is offset from the block center

Declaration
bool YSymmetryOdd { get; set; }
Property Value
Type Description
System.Boolean
Remarks

True if symmetry plane is at block border; false if center of block

YSymmetryPlane

Gets or sets Y-Axis build symmetry plane

Declaration
Nullable<Vector3I> YSymmetryPlane { get; set; }
Property Value
Type Description
System.Nullable<Vector3I>

ZSymmetryOdd

Gets or sets if the symmetry plane is offset from the block center

Declaration
bool ZSymmetryOdd { get; set; }
Property Value
Type Description
System.Boolean
Remarks

True if symmetry plane is at block border; false if center of block

ZSymmetryPlane

Gets or sets Z-Axis build symmetry plane

Declaration
Nullable<Vector3I> ZSymmetryPlane { get; set; }
Property Value
Type Description
System.Nullable<Vector3I>

Methods

AddBlock(MyObjectBuilder_CubeBlock, Boolean)

Add a cubeblock to the grid

Declaration
IMySlimBlock AddBlock(MyObjectBuilder_CubeBlock objectBuilder, bool testMerge)
Parameters
Type Name Description
MyObjectBuilder_CubeBlock objectBuilder

Object builder of cube to add

System.Boolean testMerge

test for grid merging

Returns
Type Description
IMySlimBlock

Created block

ApplyDeformation(Single, Single, Single, Vector3, Vector3, MyStringHash, out Int32, Single, Single, Int64)

Declaration
bool ApplyDeformation(float deformationOffset, float softAreaPlanar, float softAreaVertical, Vector3 localPos, Vector3 localNormal, MyStringHash damageType, out int blocksDestroyedByThisCp, float offsetThreshold = 0F, float lowerRatioLimit = 0F, long attackerId = 0L)
Parameters
Type Name Description
System.Single deformationOffset
System.Single softAreaPlanar
System.Single softAreaVertical
Vector3 localPos
Vector3 localNormal
MyStringHash damageType
System.Int32 blocksDestroyedByThisCp
System.Single offsetThreshold
System.Single lowerRatioLimit
System.Int64 attackerId
Returns
Type Description
System.Boolean

ApplyDestructionDeformation(IMySlimBlock)

Applies random deformation to given block

Declaration
void ApplyDestructionDeformation(IMySlimBlock block)
Parameters
Type Name Description
IMySlimBlock block

block to be deformed

CalculateMergeTransform(IMyCubeGrid, Vector3I)

Transformation matrix that has to be applied to grid blocks to correctly merge it used because ie. ships can be turned 90 degrees along X axis when being merged

Declaration
MatrixI CalculateMergeTransform(IMyCubeGrid gridToMerge, Vector3I gridOffset)
Parameters
Type Name Description
IMyCubeGrid gridToMerge
Vector3I gridOffset
Returns
Type Description
MatrixI

CanAddCube(Vector3I)

Tests if a cubeblock can be added at the specific location

Declaration
bool CanAddCube(Vector3I pos)
Parameters
Type Name Description
Vector3I pos

Position where you want add cube

Returns
Type Description
System.Boolean

true if block can be added

CanAddCubes(Vector3I, Vector3I)

Test if the range of positions are not occupied by any blocks

Declaration
bool CanAddCubes(Vector3I min, Vector3I max)
Parameters
Type Name Description
Vector3I min

Start position

Vector3I max

End position

Returns
Type Description
System.Boolean

true if blocks can be added in that range

CanMergeCubes(IMyCubeGrid, Vector3I)

Determines if merge between grids is possible with given offset

Declaration
bool CanMergeCubes(IMyCubeGrid gridToMerge, Vector3I gridOffset)
Parameters
Type Name Description
IMyCubeGrid gridToMerge
Vector3I gridOffset

offset to merged grid (in grid space)

Returns
Type Description
System.Boolean

True whether grids could be merged

Remarks

Can be extremely slow on large grids, that can't be merged

ChangeGridOwnership(Int64, MyOwnershipShareModeEnum)

Changes owner of all blocks on grid Call only on server!

Declaration
void ChangeGridOwnership(long playerId, MyOwnershipShareModeEnum shareMode)
Parameters
Type Name Description
System.Int64 playerId

new owner id (IdentityId)

MyOwnershipShareModeEnum shareMode

new share mode

ClearSymmetries()

Clears symmetry planes

Declaration
void ClearSymmetries()

ColorBlocks(Vector3I, Vector3I, Vector3)

Sets given color mask to range of blocks

Declaration
void ColorBlocks(Vector3I min, Vector3I max, Vector3 newHSV)
Parameters
Type Name Description
Vector3I min

Starting coordinates of colored area

Vector3I max

End coordinates of colored area

Vector3 newHSV

new color mask (Saturation and Value are offsets)

FixTargetCube(out Vector3I, Vector3)

Clamps fractional grid position to nearest cell (prefers neighboring occupied cell before empty)

Declaration
void FixTargetCube(out Vector3I cube, Vector3 fractionalGridPosition)
Parameters
Type Name Description
Vector3I cube

Return value

Vector3 fractionalGridPosition

Fractional position in grid space

GetBlocks(List<IMySlimBlock>, Func<IMySlimBlock, Boolean>)

Returns blocks in grid

Declaration
void GetBlocks(List<IMySlimBlock> blocks, Func<IMySlimBlock, bool> collect = null)
Parameters
Type Name Description
System.Collections.Generic.List<IMySlimBlock> blocks

List of returned blocks. Can be null, if function always returns false

System.Func<IMySlimBlock, System.Boolean> collect

Filter - function called on each block telling if it should be added to result. When it is null, all blocks are added

GetBlocksInsideSphere(ref BoundingSphereD)

Returns blocks intersects with given sphere (world space)

Declaration
List<IMySlimBlock> GetBlocksInsideSphere(ref BoundingSphereD sphere)
Parameters
Type Name Description
BoundingSphereD sphere
Returns
Type Description
System.Collections.Generic.List<IMySlimBlock>

List of blocks, that intersects with given sphere

GetClosestCorner(Vector3I, Vector3)

Gets position of closest cell corner

Declaration
Vector3 GetClosestCorner(Vector3I gridPos, Vector3 position)
Parameters
Type Name Description
Vector3I gridPos

Cell coordinates

Vector3 position

Position to find nearest corner to. Grid space

Returns
Type Description
Vector3

Fractional position of corner in grid space

GetCubeBlock(Vector3I)

Get cube block at given position

Declaration
IMySlimBlock GetCubeBlock(Vector3I pos)
Parameters
Type Name Description
Vector3I pos

Block position

Returns
Type Description
IMySlimBlock

Block or null if none is present at given position

GetFatBlocks<T>()

Get all blocks in grid, inherit from this specific type

Declaration
IEnumerable<T> GetFatBlocks<T>()
    where T : class, IMyCubeBlock
Returns
Type Description
System.Collections.Generic.IEnumerable<T>

Enumerable of blocks

Type Parameters
Name Description
T

Blocks must be inherit from this type T

GetGridGroup(GridLinkTypeEnum)

Gets grid group of grids connected by provided link type

Declaration
IMyGridGroupData GetGridGroup(GridLinkTypeEnum linkTypeEnum)
Parameters
Type Name Description
GridLinkTypeEnum linkTypeEnum

Type of grid connection

Returns
Type Description
IMyGridGroupData

Grid group data

See Also
IMyGridGroupData

GetLineIntersectionExactAll(ref LineD, out Double, out IMySlimBlock)

Returns point of intersection with line

Declaration
Nullable<Vector3D> GetLineIntersectionExactAll(ref LineD line, out double distance, out IMySlimBlock intersectedBlock)
Parameters
Type Name Description
LineD line

Intersecting line

System.Double distance

Distance of intersection

IMySlimBlock intersectedBlock

Returns intersected block, or null if there was no intersection

Returns
Type Description
System.Nullable<Vector3D>

Point of intersection

GetLineIntersectionExactGrid(ref LineD, ref Vector3I, ref Double)

Same as GetLineIntersectionExactAll just without intersected block

Declaration
bool GetLineIntersectionExactGrid(ref LineD line, ref Vector3I position, ref double distanceSquared)
Parameters
Type Name Description
LineD line

Line, that should intersect any block

Vector3I position

Position of block, intersected with line would be returned into that variable

System.Double distanceSquared

Squared distance of intersection would be returned into that variable

Returns
Type Description
System.Boolean

GetMaxThrustInDirection(Base6Directions.Direction)

Gets max thrust (Newtons) in direction.

Declaration
float GetMaxThrustInDirection(Base6Directions.Direction direction)
Parameters
Type Name Description
Base6Directions.Direction direction

Direction of thrust, based on grid direction

Returns
Type Description
System.Single

InvokeDepressurizeEffect(Vector3I, Vector3I)

Invokes de-pressurize effect on clients

Declaration
void InvokeDepressurizeEffect(Vector3I from, Vector3I to)
Parameters
Type Name Description
Vector3I from

from cube vector

Vector3I to

to cube vector

IsInSameLogicalGroupAs(IMyCubeGrid)

Determines whether this grid is in the same logical group as the other, meaning they're connected either mechanically or via blocks like connectors. Be aware that using merge blocks combines grids into one, so this function will not filter out grids connected that way.

Declaration
bool IsInSameLogicalGroupAs(IMyCubeGrid other)
Parameters
Type Name Description
IMyCubeGrid other

Other grid

Returns
Type Description
System.Boolean

If grids connected logically

IsRoomAtPositionAirtight(Vector3I)

Is room at specified position airtight

Declaration
bool IsRoomAtPositionAirtight(Vector3I vector3I)
Parameters
Type Name Description
Vector3I vector3I

position

Returns
Type Description
System.Boolean

true if airtight

IsSameConstructAs(IMyCubeGrid)

Determines whether this grid is mechanically connected to the other. This is any grid connected with rotors or pistons or other mechanical devices, but not things like connectors. This will in most cases constitute your complete construct.

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

Declaration
bool IsSameConstructAs(IMyCubeGrid other)
Parameters
Type Name Description
IMyCubeGrid other

Other grid

Returns
Type Description
System.Boolean

If grids connected mechanically

IsTouchingAnyNeighbor(Vector3I, Vector3I)

Finds out if given area has any neighboring block Checking only cube sides. Example: for vectors Min (0,0,0) and Max (10,10,10), Space (1,1,1)-(9,9,9) won't be checked

Declaration
bool IsTouchingAnyNeighbor(Vector3I min, Vector3I max)
Parameters
Type Name Description
Vector3I min

Minimal position (in block coordinates)

Vector3I max

Maximum position (in block coordinates)

Returns
Type Description
System.Boolean

True if given area has at least one block

MergeGrid_MergeBlock(IMyCubeGrid, Vector3I)

Merge used by merge blocks

Declaration
IMyCubeGrid MergeGrid_MergeBlock(IMyCubeGrid gridToMerge, Vector3I gridOffset)
Parameters
Type Name Description
IMyCubeGrid gridToMerge
Vector3I gridOffset

Block position

Returns
Type Description
IMyCubeGrid

OnConvertToDynamic()

Converts station to ship

Declaration
void OnConvertToDynamic()

RayCastBlocks(Vector3D, Vector3D)

Obtains first block position intersected with line.

Declaration
Nullable<Vector3I> RayCastBlocks(Vector3D worldStart, Vector3D worldEnd)
Parameters
Type Name Description
Vector3D worldStart

Start position in world coordinates

Vector3D worldEnd

End position in world coordinates

Returns
Type Description
System.Nullable<Vector3I>

Position of found block or null

RayCastCells(Vector3D, Vector3D, List<Vector3I>, Nullable<Vector3I>, Boolean)

Obtains positions of grid cells regardless of whether these cells are taken up by blocks or not.

Declaration
void RayCastCells(Vector3D worldStart, Vector3D worldEnd, List<Vector3I> outHitPositions, Nullable<Vector3I> gridSizeInflate = null, bool havokWorld = false)
Parameters
Type Name Description
Vector3D worldStart

Start position in world coordinates

Vector3D worldEnd

End position in world coordinates

System.Collections.Generic.List<Vector3I> outHitPositions

List of found block positions

System.Nullable<Vector3I> gridSizeInflate

If not null, would allow find blocks out

System.Boolean havokWorld

Obsolete, not used.

RazeBlock(Vector3I)

Remove block at given position

Declaration
void RazeBlock(Vector3I position)
Parameters
Type Name Description
Vector3I position

Position of block (in block coordinates)

RazeBlocks(List<Vector3I>)

Remove blocks at given positions

Declaration
void RazeBlocks(List<Vector3I> locations)
Parameters
Type Name Description
System.Collections.Generic.List<Vector3I> locations

RazeBlocks(ref Vector3I, ref Vector3UByte)

Remove blocks in given area

Declaration
void RazeBlocks(ref Vector3I pos, ref Vector3UByte size)
Parameters
Type Name Description
Vector3I pos

Starting position

Vector3UByte size

Area extents

RemoveBlock(IMySlimBlock, Boolean)

Removes given block

Declaration
void RemoveBlock(IMySlimBlock block, bool updatePhysics = false)
Parameters
Type Name Description
IMySlimBlock block

Block, that you want to remove

System.Boolean updatePhysics

Update grid physics

RemoveDestroyedBlock(IMySlimBlock)

Removes block and deformates neighboring blocks

Declaration
void RemoveDestroyedBlock(IMySlimBlock block)
Parameters
Type Name Description
IMySlimBlock block

Block, that you want to remove

SkinBlocks(Vector3I, Vector3I, Nullable<Vector3>, String)

Sets given skin to range of blocks

Declaration
void SkinBlocks(Vector3I min, Vector3I max, Nullable<Vector3> newHSV, string newSkin)
Parameters
Type Name Description
Vector3I min

Starting coordinates of skinned area

Vector3I max

End coordinates of skinned area

System.Nullable<Vector3> newHSV

new color mask (Saturation and Value are offsets)

System.String newSkin

subtype of the new skin

Split(List<IMySlimBlock>, Boolean)

Split grid

Declaration
IMyCubeGrid Split(List<IMySlimBlock> blocks, bool sync = true)
Parameters
Type Name Description
System.Collections.Generic.List<IMySlimBlock> blocks

List of blocks to split into new grid

System.Boolean sync

Pass true if on server to sync this to clients.

Returns
Type Description
IMyCubeGrid

New grid

Remarks

To sync to clients, this must be called on the server with sync = true.

SplitByPlane(PlaneD)

Split grid along a plane

Declaration
IMyCubeGrid SplitByPlane(PlaneD plane)
Parameters
Type Name Description
PlaneD plane
Returns
Type Description
IMyCubeGrid

Splitted grid

UpdateBlockNeighbours(IMySlimBlock)

Refreshes block neighbors (checks connections)

Declaration
void UpdateBlockNeighbours(IMySlimBlock block)
Parameters
Type Name Description
IMySlimBlock block

Block, whose neighbours need to be updated

UpdateOwnership(Int64, Boolean)

Called when functional block lost or gained owner. Triggers, grid ownership recalculation

Declaration
void UpdateOwnership(long ownerId, bool isFunctional)
Parameters
Type Name Description
System.Int64 ownerId

New or previous block owner

System.Boolean isFunctional

New functional state of block.

WillRemoveBlockSplitGrid(IMySlimBlock)

Checks if removing a block will cause the grid to split

Declaration
bool WillRemoveBlockSplitGrid(IMySlimBlock testBlock)
Parameters
Type Name Description
IMySlimBlock testBlock
Returns
Type Description
System.Boolean

True if removing block, would split grid

Events

GridPresenceTierChanged

Triggered when grid presence tier is changed

Declaration
event Action<IMyCubeGrid> GridPresenceTierChanged
Event Type
Type Description
System.Action<IMyCubeGrid>

OnBlockAdded

Called when a block is added to the grid

Declaration
event Action<IMySlimBlock> OnBlockAdded
Event Type
Type Description
System.Action<IMySlimBlock>

OnBlockIntegrityChanged

Triggered when block integrity changes (construction)

Declaration
event Action<IMySlimBlock> OnBlockIntegrityChanged
Event Type
Type Description
System.Action<IMySlimBlock>

OnBlockOwnershipChanged

Called when a block on the grid changes owner

Declaration
event Action<IMyCubeGrid> OnBlockOwnershipChanged
Event Type
Type Description
System.Action<IMyCubeGrid>

OnBlockRemoved

Called when a block is removed from the grid

Declaration
event Action<IMySlimBlock> OnBlockRemoved
Event Type
Type Description
System.Action<IMySlimBlock>

OnGridBlockDamaged

Called when one of blocks on grid is taking damage

Declaration
event Action<IMySlimBlock, float, Nullable<MyHitInfo>, long> OnGridBlockDamaged
Event Type
Type Description
System.Action<IMySlimBlock, System.Single, System.Nullable<MyHitInfo>, System.Int64>

OnGridChanged

Called when a grid is taken control of by a player

Declaration
event Action<IMyCubeGrid> OnGridChanged
Event Type
Type Description
System.Action<IMyCubeGrid>

OnGridMerge

Called, when 2 grids are merged with merge block. First grid - grid that will stay, second - will be merged into first, and deleted. Called for both grids

Declaration
event Action<IMyCubeGrid, IMyCubeGrid> OnGridMerge
Event Type
Type Description
System.Action<IMyCubeGrid, IMyCubeGrid>

OnGridSplit

Triggered when grid is split

Declaration
event Action<IMyCubeGrid, IMyCubeGrid> OnGridSplit
Event Type
Type Description
System.Action<IMyCubeGrid, IMyCubeGrid>

OnIsStaticChanged

Triggered when grid changes to or from static (station)

Declaration
event Action<IMyCubeGrid, bool> OnIsStaticChanged
Event Type
Type Description
System.Action<IMyCubeGrid, System.Boolean>

OnMaxThrustChanged

Triggered when max thrust in one of directions was changed. Maybe called from parralel thread

Declaration
event Action<IMyCubeGrid> OnMaxThrustChanged
Event Type
Type Description
System.Action<IMyCubeGrid>

OnNaturalGravityChanged

Triggered when natural gravity changes around the grid

Declaration
event Action<IMyCubeGrid> OnNaturalGravityChanged
Event Type
Type Description
System.Action<IMyCubeGrid>

OnTargetLocked

Called when grid was target locked

Declaration
event Action<IMyCharacter> OnTargetLocked
Event Type
Type Description
System.Action<IMyCharacter>

PlayerPresenceTierChanged

Triggered when player presence tier is changed

Declaration
event Action<IMyCubeGrid> PlayerPresenceTierChanged
Event Type
Type Description
System.Action<IMyCubeGrid>

SpeedChanged

Triggered when speed of the grid is changed

Declaration
event Action<IMyCubeGrid> SpeedChanged
Event Type
Type Description
System.Action<IMyCubeGrid>
☀
☾
In This Article
Back to top
Generated by DocFX
☀
☾