Space Engineers
Public Member Functions | Properties | Events | List of all members
VRage.Game.ModAPI.IMyCubeBlock Interface Reference

base block interface, block can be affected by upgrade modules, and you can retrieve upgrade list from IMyUpgradableBlock More...

Inheritance diagram for VRage.Game.ModAPI.IMyCubeBlock:
VRage.Game.ModAPI.Ingame.IMyCubeBlock VRage.ModAPI.IMyEntity VRage.Game.ModAPI.Ingame.IMyEntity VRage.Game.ModAPI.Ingame.IMyEntity Sandbox.Game.Entities.MyCubeBlock Sandbox.ModAPI.IMyConveyor Sandbox.ModAPI.IMyConveyorTube Sandbox.ModAPI.IMyMotorRotor Sandbox.ModAPI.IMyPassage Sandbox.ModAPI.IMyPistonTop Sandbox.ModAPI.IMyTerminalBlock Sandbox.ModAPI.IMyUpgradableBlock

Public Member Functions

void CalcLocalMatrix (out VRageMath.Matrix localMatrix, out string currModel)
 
string CalculateCurrentModel (out VRageMath.Matrix orientation)
 Calculates model currently used by block depending on its build progress and other factors More...
 
bool DebugDraw ()
 Debug only method. Effects may wary through time. More...
 
MyObjectBuilder_CubeBlock GetObjectBuilderCubeBlock (bool copy=false)
 Returns block object builder which can be serialized or added to grid More...
 
string GetOwnerFactionTag ()
 
VRage.Game.MyRelationsBetweenPlayerAndBlock GetPlayerRelationToOwner ()
 
VRage.Game.MyRelationsBetweenPlayerAndBlock GetUserRelationToOwner (long playerId)
 
void Init ()
 Reloads block model and interactive objects (doors, terminals, etc...) More...
 
void Init (MyObjectBuilder_CubeBlock builder, IMyCubeGrid cubeGrid)
 Initializes block state from object builder More...
 
void OnBuildSuccess (long builtBy)
 Method called when a block has been built (after adding to the grid). This is called right after placing the block and it doesn't matter whether it is fully built (creative mode) or is only construction site. Note that it is not called for blocks which do not create FatBlock at that moment. More...
 
void OnDestroy ()
 Called when block is destroyed before being removed from grid More...
 
void OnModelChange ()
 Called when the model referred by the block is changed More...
 
void OnRegisteredToGridSystems ()
 Called at the end of registration from grid systems (after block has been registered). More...
 
void OnRemovedByCubeBuilder ()
 Method called when user removes a cube block from grid. Useful when block has to remove some other attached block (like motors). More...
 
void OnUnregisteredFromGridSystems ()
 Called at the end of unregistration from grid systems (after block has been unregistered). More...
 
string RaycastDetectors (VRageMath.Vector3 worldFrom, VRageMath.Vector3 worldTo)
 Gets the name of interactive object intersected by defined line More...
 
void ReloadDetectors (bool refreshNetworks=true)
 Reloads detectors (interactive objects) in model More...
 
void UpdateIsWorking ()
 Force refresh working state. Call if you change block state that could affect its working status. More...
 
void UpdateVisual ()
 Updates block visuals (ie. block emissivity) More...
 
void SetDamageEffect (bool start)
 Start or stop dammage effect on cube block More...
 
void AddUpgradeValue (string upgrade, float defaultValue)
 Preferred way of registering a block for upgrades Adding directly to the dictionary can have unintended consequences when multiple mods are involved. More...
 
- Public Member Functions inherited from VRage.Game.ModAPI.Ingame.IMyEntity
VRageMath.Vector3D GetPosition ()
 
- Public Member Functions inherited from VRage.ModAPI.IMyEntity
string GetFriendlyName ()
 
void Close ()
 
void Delete ()
 
MyObjectBuilder_EntityBase GetObjectBuilder (bool copy=false)
 
void BeforeSave ()
 
IMyEntity GetTopMostParent (Type type=null)
 
void SetLocalMatrix (VRageMath.Matrix localMatrix, object source=null)
 
void GetChildren (List< IMyEntity > children, Func< IMyEntity, bool > collect=null)
 
MyEntitySubpart GetSubpart (string name)
 
bool TryGetSubpart (string name, out MyEntitySubpart subpart)
 
VRageMath.Vector3 GetDiffuseColor ()
 
bool IsVisible ()
 
void DebugDrawInvalidTriangles ()
 
void EnableColorMaskForSubparts (bool enable)
 
void SetColorMaskForSubparts (VRageMath.Vector3 colorMaskHsv)
 
void SetEmissiveParts (string emissiveName, Color emissivePartColor, float emissivity)
 Sets the emissive value of a specific emissive material on entity. More...
 
void SetEmissivePartsForSubparts (string emissiveName, Color emissivePartColor, float emissivity)
 Sets the emissive value of a specific emissive material on all entity subparts. More...
 
float GetDistanceBetweenCameraAndBoundingSphere ()
 
float GetDistanceBetweenCameraAndPosition ()
 
float GetLargestDistanceBetweenCameraAndBoundingSphere ()
 
float GetSmallestDistanceBetweenCameraAndBoundingSphere ()
 
void OnRemovedFromScene (object source)
 
void OnAddedToScene (object source)
 
MatrixD GetViewMatrix ()
 
MatrixD GetWorldMatrixNormalizedInv ()
 
void SetWorldMatrix (VRageMath.MatrixD worldMatrix, object source=null)
 
void SetPosition (VRageMath.Vector3D pos)
 
bool GetIntersectionWithLine (ref LineD line, out VRage.Game.Models.MyIntersectionResultLineTriangleEx?tri, IntersectionFlags flags)
 
Vector3 GetIntersectionWithLineAndBoundingSphere (ref LineD line, float boundingSphereRadiusMultiplier)
 
bool GetIntersectionWithSphere (ref BoundingSphereD sphere)
 
void GetTrianglesIntersectingSphere (ref BoundingSphereD sphere, Vector3?referenceNormalVector, float?maxAngle, System.Collections.Generic.List< MyTriangle_Vertex_Normals > retTriangles, int maxNeighbourTriangles)
 
bool DoOverlapSphereTest (float sphereRadius, Vector3D spherePos)
 
void AddToGamePruningStructure ()
 
void RemoveFromGamePruningStructure ()
 
void UpdateGamePruningStructure ()
 

Properties

SerializableDefinitionId BlockDefinition [get]
 
bool CheckConnectionAllowed [get, set]
 Whether the grid should call the ConnectionAllowed method for this block (ConnectionAllowed checks mount points and other per-block requirements) More...
 
IMyCubeGrid CubeGrid [get]
 Grid in which the block is placed More...
 
String DefinitionDisplayNameText [get]
 Definition name More...
 
float DisassembleRatio [get]
 Is set in definition Ratio at which is the block disassembled (grinding) More...
 
String DisplayNameText [get]
 Translated block name More...
 
bool IsBeingHacked [get]
 
bool IsFunctional [get]
 True if integrity is above breaking threshold More...
 
bool IsWorking [get]
 True if block is able to do its work depening on block type (is functional, powered, enabled, etc...) More...
 
VRageMath.Vector3I Max [get]
 Maximum coordinates of grid cells occupied by this block More...
 
float Mass [get]
 Block mass More...
 
VRageMath.Vector3I Min [get]
 Minimum coordinates of grid cells occupied by this block More...
 
int NumberInGrid [get, set]
 Order in which were the blocks of same type added to grid Used in default display name More...
 
VRageMath.MyBlockOrientation Orientation [get]
 Returns block orientation in base 6 directions More...
 
long OwnerId [get]
 Id of player owning block (not steam Id) More...
 
VRageMath.Vector3I Position [get]
 Position in grid coordinates More...
 
Dictionary< string, float > UpgradeValues [get]
 Get all values changed by upgrade modules Should only be used as read-only More...
 
IMySlimBlock SlimBlock [get]
 Gets the SlimBlock associated with this block More...
 
- Properties inherited from VRage.Game.ModAPI.Ingame.IMyCubeBlock
SerializableDefinitionId BlockDefinition [get]
 
bool CheckConnectionAllowed [get]
 
IMyCubeGrid CubeGrid [get]
 
String DefinitionDisplayNameText [get]
 
float DisassembleRatio [get]
 
String DisplayNameText [get]
 
bool IsBeingHacked [get]
 
bool IsFunctional [get]
 
bool IsWorking [get]
 
VRageMath.Vector3I Max [get]
 
float Mass [get]
 Block mass More...
 
VRageMath.Vector3I Min [get]
 
int NumberInGrid [get]
 
VRageMath.MyBlockOrientation Orientation [get]
 
long OwnerId [get]
 
VRageMath.Vector3I Position [get]
 
- Properties inherited from VRage.Game.ModAPI.Ingame.IMyEntity
MyEntityComponentContainer Components [get]
 
long EntityId [get]
 
VRageMath.BoundingBoxD WorldAABB [get]
 
VRageMath.BoundingBoxD WorldAABBHr [get]
 
VRageMath.MatrixD WorldMatrix [get]
 
VRageMath.BoundingSphereD WorldVolume [get]
 
VRageMath.BoundingSphereD WorldVolumeHr [get]
 
- Properties inherited from VRage.ModAPI.IMyEntity
MyEntityComponentContainer Components [get]
 
MyPhysicsComponentBase Physics [get, set]
 
MyPositionComponentBase PositionComp [get, set]
 
MyRenderComponentBase Render [get, set]
 
MyEntityComponentBase GameLogic [get, set]
 
MyHierarchyComponentBase Hierarchy [get, set]
 
MySyncComponentBase SyncObject [get]
 
MyModStorageComponentBase Storage [get, set]
 Custom storage for mods. Shared with all mods. More...
 
EntityFlags Flags [get, set]
 
long EntityId [get, set]
 
string Name [get, set]
 
bool MarkedForClose [get]
 
bool Closed [get]
 
bool DebugAsyncLoading [get]
 
bool Save [get, set]
 
MyPersistentEntityFlags2 PersistentFlags [get, set]
 
MyEntityUpdateEnum NeedsUpdate [get, set]
 
IMyEntity Parent [get]
 
Matrix LocalMatrix [get, set]
 
bool NearFlag [get, set]
 
bool CastShadows [get, set]
 
bool FastCastShadowResolve [get, set]
 
bool NeedsResolveCastShadow [get, set]
 
float MaxGlassDistSq [get]
 
bool NeedsDraw [get, set]
 
bool NeedsDrawFromParent [get, set]
 
bool Transparent [get, set]
 
bool ShadowBoxLod [get, set]
 
bool SkipIfTooSmall [get, set]
 
bool Visible [get, set]
 
bool InScene [get, set]
 
bool InvalidateOnMove [get]
 
new VRageMath.MatrixD WorldMatrix [get, set]
 
VRageMath.MatrixD WorldMatrixInvScaled [get]
 
VRageMath.MatrixD WorldMatrixNormalizedInv [get]
 
bool IsVolumetric [get]
 
BoundingBox LocalAABB [get, set]
 
BoundingBox LocalAABBHr [get]
 
BoundingSphere LocalVolume [get, set]
 
Vector3 LocalVolumeOffset [get, set]
 
Vector3 LocationForHudMarker [get]
 
bool IsCCDForProjectiles [get]
 
string DisplayName [get, set]
 

Events

Action< IMyCubeBlockIsWorkingChanged
 
Action OnUpgradeValuesChanged
 Event called when upgrade values are changed Either upgrades were built or destroyed, or they become damaged or unpowered More...
 
- Events inherited from VRage.ModAPI.IMyEntity
Action< IMyEntityOnClose
 
Action< IMyEntityOnClosing
 
Action< IMyEntityOnMarkForClose
 
Action< IMyEntityOnPhysicsChanged
 

Detailed Description

base block interface, block can be affected by upgrade modules, and you can retrieve upgrade list from IMyUpgradableBlock

Definition at line 13 of file IMyCubeBlock.cs.

Member Function Documentation

void VRage.Game.ModAPI.IMyCubeBlock.AddUpgradeValue ( string  upgrade,
float  defaultValue 
)

Preferred way of registering a block for upgrades Adding directly to the dictionary can have unintended consequences when multiple mods are involved.

Implemented in Sandbox.Game.Entities.MyCubeBlock.

void VRage.Game.ModAPI.IMyCubeBlock.CalcLocalMatrix ( out VRageMath.Matrix  localMatrix,
out string  currModel 
)

Parameters
localMatrix
currModel
string VRage.Game.ModAPI.IMyCubeBlock.CalculateCurrentModel ( out VRageMath.Matrix  orientation)

Calculates model currently used by block depending on its build progress and other factors

Parameters
orientationModel orientation
Returns
Model path
bool VRage.Game.ModAPI.IMyCubeBlock.DebugDraw ( )

Debug only method. Effects may wary through time.

Returns

Implements VRage.ModAPI.IMyEntity.

MyObjectBuilder_CubeBlock VRage.Game.ModAPI.IMyCubeBlock.GetObjectBuilderCubeBlock ( bool  copy = false)

Returns block object builder which can be serialized or added to grid

Parameters
copySet if creating a copy of block
Returns
Block object builder

Implemented in Sandbox.Game.Entities.MyRemoteControl, Sandbox.Game.Weapons.MyLargeTurretBase, Sandbox.Game.Entities.Blocks.MySensorBlock, Sandbox.Game.Entities.Blocks.MyTextPanel, Sandbox.Game.Entities.Blocks.MyProgrammableBlock, Sandbox.Game.Entities.Cube.MyLaserAntenna, Sandbox.Game.Entities.Blocks.MyProjectorBase, Sandbox.Game.Entities.Cube.MyMotorSuspension, SpaceEngineers.Game.Entities.Blocks.MyLandingGear, Sandbox.Game.Entities.MyCubeBlock, Sandbox.Game.Entities.MyConveyorSorter, Sandbox.Game.Entities.MyAdvancedDoor, Sandbox.Game.Entities.Blocks.MyLightingBlock, Sandbox.Game.Entities.Cube.MyShipConnector, Sandbox.Game.Entities.MyJumpDrive, Sandbox.Game.Entities.MyCockpit, Sandbox.Game.Entities.MyCameraBlock, Sandbox.Game.Entities.Cube.MyProductionBlock, Sandbox.Game.Entities.Cube.MyRadioAntenna, SpaceEngineers.Game.Entities.Blocks.MySoundBlock, SpaceEngineers.Game.Entities.Blocks.MyMedicalRoom, SpaceEngineers.Game.Entities.Blocks.MyTimerBlock, SpaceEngineers.Game.Entities.Blocks.MyButtonPanel, Sandbox.Game.Weapons.MyShipDrill, Sandbox.Game.Weapons.MySmallMissileLauncher, Sandbox.Game.Entities.MyThrust, Sandbox.Game.Entities.MyBatteryBlock, Sandbox.Game.Entities.Cube.MyTerminalBlock, Sandbox.Game.Entities.Cube.MyAssembler, Sandbox.Game.Entities.MyDoor, Sandbox.Game.Entities.Cube.MyMotorStator, SpaceEngineers.Game.Entities.Blocks.MyAirVent, Sandbox.Game.Entities.MyGyro, Sandbox.Game.Entities.Blocks.MyGasGenerator, Sandbox.Game.Entities.Blocks.MyPistonBase, Sandbox.Game.Entities.Blocks.MyCryoChamber, Sandbox.Game.Entities.Blocks.MyGasTank, SpaceEngineers.Game.Entities.Blocks.MySpaceBall, Sandbox.Game.Entities.Cube.MyWarhead, Sandbox.Game.Entities.Cube.MyBeacon, Sandbox.Game.Entities.MyCompoundCubeBlock, Sandbox.Game.Entities.Blocks.MyMechanicalConnectionBlockBase, SpaceEngineers.Game.Entities.Blocks.MyGravityGenerator, Sandbox.Game.Weapons.MyShipToolBase, Sandbox.Game.Entities.MyAirtightDoorGeneric, SpaceEngineers.Game.Entities.Blocks.MyGravityGeneratorSphere, Sandbox.Game.Weapons.MySmallGatlingGun, Sandbox.Game.Entities.MyReactor, SpaceEngineers.Game.Entities.Blocks.MyShipWelder, Sandbox.Game.Entities.Blocks.MyCollector, Sandbox.Game.Entities.Cube.MyOreDetector, Sandbox.Game.Entities.MyCargoContainer, Sandbox.Game.Entities.Cube.MyFunctionalBlock, SpaceEngineers.Game.Entities.Blocks.MyOxygenFarm, Sandbox.Game.Entities.Cube.MyFracturedBlock, SpaceEngineers.Game.Weapons.Guns.MyLargeConveyorTurretBase, and Sandbox.Game.Weapons.MyUserControllableGun.

string VRage.Game.ModAPI.IMyCubeBlock.GetOwnerFactionTag ( )

Returns
Tag of faction owning block

Implements VRage.Game.ModAPI.Ingame.IMyCubeBlock.

Implemented in Sandbox.Game.Entities.MyCubeBlock.

VRage.Game.MyRelationsBetweenPlayerAndBlock VRage.Game.ModAPI.IMyCubeBlock.GetPlayerRelationToOwner ( )

Returns
Relation of local player to the block

Implements VRage.Game.ModAPI.Ingame.IMyCubeBlock.

Implemented in Sandbox.Game.Entities.MyCubeBlock.

VRage.Game.MyRelationsBetweenPlayerAndBlock VRage.Game.ModAPI.IMyCubeBlock.GetUserRelationToOwner ( long  playerId)

Parameters
playerIdId of player to check relation with (not steam id!)
Returns
Relation of defined player to the block

Implements VRage.Game.ModAPI.Ingame.IMyCubeBlock.

Implemented in Sandbox.Game.Entities.MyCubeBlock.

void VRage.Game.ModAPI.IMyCubeBlock.Init ( )

Reloads block model and interactive objects (doors, terminals, etc...)

Implemented in Sandbox.Game.Entities.MyCubeBlock.

void VRage.Game.ModAPI.IMyCubeBlock.Init ( MyObjectBuilder_CubeBlock  builder,
IMyCubeGrid  cubeGrid 
)

Initializes block state from object builder

Parameters
builderObject builder of block (should correspond with block type)
cubeGridOwning grid

Implemented in Sandbox.Game.Entities.MyCubeBlock.

void VRage.Game.ModAPI.IMyCubeBlock.OnBuildSuccess ( long  builtBy)

Method called when a block has been built (after adding to the grid). This is called right after placing the block and it doesn't matter whether it is fully built (creative mode) or is only construction site. Note that it is not called for blocks which do not create FatBlock at that moment.

Implemented in Sandbox.Game.Entities.MyCubeBlock, Sandbox.Game.Entities.Blocks.MyMechanicalConnectionBlockBase, Sandbox.Game.Entities.Blocks.MySensorBlock, Sandbox.Game.Entities.Blocks.MyPistonBase, Sandbox.Game.Entities.MyAirtightDoorGeneric, Sandbox.Game.Entities.MyAdvancedDoor, SpaceEngineers.Game.Entities.Blocks.MyGravityGeneratorBase, Sandbox.Game.Entities.MyDoor, and SpaceEngineers.Game.Entities.Blocks.MyVirtualMass.

void VRage.Game.ModAPI.IMyCubeBlock.OnDestroy ( )
void VRage.Game.ModAPI.IMyCubeBlock.OnModelChange ( )
void VRage.Game.ModAPI.IMyCubeBlock.OnRegisteredToGridSystems ( )
void VRage.Game.ModAPI.IMyCubeBlock.OnRemovedByCubeBuilder ( )
void VRage.Game.ModAPI.IMyCubeBlock.OnUnregisteredFromGridSystems ( )
string VRage.Game.ModAPI.IMyCubeBlock.RaycastDetectors ( VRageMath.Vector3  worldFrom,
VRageMath.Vector3  worldTo 
)

Gets the name of interactive object intersected by defined line

Parameters
worldFromLine from point in world coordinates
worldToLine to point in world coordinates
Returns
Name of intersected detector (interactive object)
void VRage.Game.ModAPI.IMyCubeBlock.ReloadDetectors ( bool  refreshNetworks = true)

Reloads detectors (interactive objects) in model

Parameters
refreshNetworksie conweyor network
void VRage.Game.ModAPI.IMyCubeBlock.SetDamageEffect ( bool  start)
void VRage.Game.ModAPI.IMyCubeBlock.UpdateIsWorking ( )

Force refresh working state. Call if you change block state that could affect its working status.

Implements VRage.Game.ModAPI.Ingame.IMyCubeBlock.

Implemented in Sandbox.Game.Entities.MyCubeBlock.

void VRage.Game.ModAPI.IMyCubeBlock.UpdateVisual ( )

Property Documentation

SerializableDefinitionId VRage.Game.ModAPI.IMyCubeBlock.BlockDefinition
get

Definition at line 16 of file IMyCubeBlock.cs.

bool VRage.Game.ModAPI.IMyCubeBlock.CheckConnectionAllowed
getset

Whether the grid should call the ConnectionAllowed method for this block (ConnectionAllowed checks mount points and other per-block requirements)

Definition at line 36 of file IMyCubeBlock.cs.

IMyCubeGrid VRage.Game.ModAPI.IMyCubeBlock.CubeGrid
get

Grid in which the block is placed

Definition at line 44 of file IMyCubeBlock.cs.

String VRage.Game.ModAPI.IMyCubeBlock.DefinitionDisplayNameText
get

Definition name

Definition at line 55 of file IMyCubeBlock.cs.

float VRage.Game.ModAPI.IMyCubeBlock.DisassembleRatio
get

Is set in definition Ratio at which is the block disassembled (grinding)

Definition at line 61 of file IMyCubeBlock.cs.

String VRage.Game.ModAPI.IMyCubeBlock.DisplayNameText
get

Translated block name

Definition at line 66 of file IMyCubeBlock.cs.

bool VRage.Game.ModAPI.IMyCubeBlock.IsBeingHacked
get

Definition at line 109 of file IMyCubeBlock.cs.

bool VRage.Game.ModAPI.IMyCubeBlock.IsFunctional
get

True if integrity is above breaking threshold

Definition at line 114 of file IMyCubeBlock.cs.

bool VRage.Game.ModAPI.IMyCubeBlock.IsWorking
get

True if block is able to do its work depening on block type (is functional, powered, enabled, etc...)

Definition at line 119 of file IMyCubeBlock.cs.

float VRage.Game.ModAPI.IMyCubeBlock.Mass
get

Block mass

Definition at line 130 of file IMyCubeBlock.cs.

VRageMath.Vector3I VRage.Game.ModAPI.IMyCubeBlock.Max
get

Maximum coordinates of grid cells occupied by this block

Definition at line 125 of file IMyCubeBlock.cs.

VRageMath.Vector3I VRage.Game.ModAPI.IMyCubeBlock.Min
get

Minimum coordinates of grid cells occupied by this block

Definition at line 134 of file IMyCubeBlock.cs.

int VRage.Game.ModAPI.IMyCubeBlock.NumberInGrid
getset

Order in which were the blocks of same type added to grid Used in default display name

Definition at line 140 of file IMyCubeBlock.cs.

VRageMath.MyBlockOrientation VRage.Game.ModAPI.IMyCubeBlock.Orientation
get

Returns block orientation in base 6 directions

Definition at line 179 of file IMyCubeBlock.cs.

long VRage.Game.ModAPI.IMyCubeBlock.OwnerId
get

Id of player owning block (not steam Id)

Definition at line 184 of file IMyCubeBlock.cs.

VRageMath.Vector3I VRage.Game.ModAPI.IMyCubeBlock.Position
get

Position in grid coordinates

Definition at line 189 of file IMyCubeBlock.cs.

IMySlimBlock VRage.Game.ModAPI.IMyCubeBlock.SlimBlock
get

Gets the SlimBlock associated with this block

Definition at line 240 of file IMyCubeBlock.cs.

Dictionary<string, float> VRage.Game.ModAPI.IMyCubeBlock.UpgradeValues
get

Get all values changed by upgrade modules Should only be used as read-only

Definition at line 226 of file IMyCubeBlock.cs.

Event Documentation

Action<IMyCubeBlock> VRage.Game.ModAPI.IMyCubeBlock.IsWorkingChanged

Definition at line 15 of file IMyCubeBlock.cs.

Action VRage.Game.ModAPI.IMyCubeBlock.OnUpgradeValuesChanged

Event called when upgrade values are changed Either upgrades were built or destroyed, or they become damaged or unpowered

Definition at line 246 of file IMyCubeBlock.cs.


The documentation for this interface was generated from the following file: