Interface IMySlimBlock
Basic block interface (Mod api interface)
Inherited Members
Namespace: VRage.Game.ModAPI
Assembly: VRage.Game.dll
Syntax
public interface IMySlimBlock : IMySlimBlock, IMyDestroyableObject, IMyDecalProxy
Properties
BlockDefinition
The blocks definition (cast to MyCubeBlockDefinition)
Declaration
MyDefinitionBase BlockDefinition { get; }
Property Value
Type | Description |
---|---|
MyDefinitionBase |
BlockGeneralDamageModifier
Allows you to get or set the damage modifier of a block.
Declaration
float BlockGeneralDamageModifier { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
BuiltBy
Identity ID of the builder of this block.
Declaration
long BuiltBy { get; }
Property Value
Type | Description |
---|---|
System.Int64 |
ComponentStack
Gets the component stack of the block
Declaration
IMyComponentStack ComponentStack { get; }
Property Value
Type | Description |
---|---|
IMyComponentStack |
CubeGrid
Gets the grid the slimblock is on
Declaration
IMyCubeGrid CubeGrid { get; }
Property Value
Type | Description |
---|---|
IMyCubeGrid |
Dithering
Sets the transparency of the block.
Declaration
float Dithering { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
Remarks
Not synced.
FatBlock
Gets the fatblock if there is one
Declaration
IMyCubeBlock FatBlock { get; }
Property Value
Type | Description |
---|---|
IMyCubeBlock |
IsMovedBySplit
Gets if the block is in process of being moved from one grid to the other. Happens when grid splits to two.
Declaration
bool IsMovedBySplit { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Max
Largest part of block
Declaration
Vector3I Max { get; }
Property Value
Type | Description |
---|---|
Vector3I |
Min
Min position in the grid
Declaration
Vector3I Min { get; }
Property Value
Type | Description |
---|---|
Vector3I |
Neighbours
OBSOLETE: allocates memory use GetNeighbours function. The blocks that neighbour this block
Declaration
List<IMySlimBlock> Neighbours { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IMySlimBlock> |
Orientation
Blocks orientation
Declaration
MyBlockOrientation Orientation { get; }
Property Value
Type | Description |
---|---|
MyBlockOrientation |
Methods
AddNeighbours()
Calls function that adds neighbours to block
Declaration
void AddNeighbours()
ApplyAccumulatedDamage(Boolean)
When damage is less than threshold, applies not
Declaration
void ApplyAccumulatedDamage(bool addDirtyParts = true)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | addDirtyParts |
CalculateCurrentModel(out Matrix)
Get current model for block. When block is not functional, it would return current construction model
Declaration
string CalculateCurrentModel(out Matrix orientation)
Parameters
Type | Name | Description |
---|---|---|
Matrix | orientation | Gets local orientation matrix |
Returns
Type | Description |
---|---|
System.String | Path to model |
CanContinueBuild(IMyInventory)
Can we continue to weld this block?
Declaration
bool CanContinueBuild(IMyInventory sourceInventory)
Parameters
Type | Name | Description |
---|---|---|
IMyInventory | sourceInventory | Source inventory that is used for components |
Returns
Type | Description |
---|---|
System.Boolean | True if block integrity not full |
ClearConstructionStockpile(IMyInventory)
Clears out the construction stockpile and moves the components into a destination inventory
Declaration
void ClearConstructionStockpile(IMyInventory outputInventory)
Parameters
Type | Name | Description |
---|---|---|
IMyInventory | outputInventory | The inventory where the components are moved into |
ComputeScaledCenter(out Vector3D)
Gets the block center as a Vector3D, relative to grid WorldMatrix
Declaration
void ComputeScaledCenter(out Vector3D scaledCenter)
Parameters
Type | Name | Description |
---|---|---|
Vector3D | scaledCenter |
ComputeScaledHalfExtents(out Vector3)
Gets the half extents for the block
Declaration
void ComputeScaledHalfExtents(out Vector3 scaledHalfExtents)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | scaledHalfExtents |
ComputeWorldCenter(out Vector3D)
Gets the world position for the center of the block
Declaration
void ComputeWorldCenter(out Vector3D worldCenter)
Parameters
Type | Name | Description |
---|---|---|
Vector3D | worldCenter | Center of block in world coordinates |
DecreaseMountLevel(Single, IMyInventory, Boolean)
Decreases the build level of a block
Declaration
void DecreaseMountLevel(float grinderAmount, IMyInventory outputInventory, bool useDefaultDeconstructEfficiency = false)
Parameters
Type | Name | Description |
---|---|---|
System.Single | grinderAmount | The integrity amount of change |
IMyInventory | outputInventory | The inventory where output components will be sent to |
System.Boolean | useDefaultDeconstructEfficiency |
FixBones(Single, Single)
Repair block deformation
Declaration
void FixBones(float oldDamage, float maxAllowedBoneMovement)
Parameters
Type | Name | Description |
---|---|---|
System.Single | oldDamage | Integrity of block before repairing block. Less value, gives bigger fix bone result |
System.Single | maxAllowedBoneMovement | Limit of bone fix |
FullyDismount(IMyInventory)
Reset built level to 0
Declaration
void FullyDismount(IMyInventory outputInventory)
Parameters
Type | Name | Description |
---|---|---|
IMyInventory | outputInventory | Inventory that would receive items from block |
GetColorMask()
Gets block color
Declaration
Vector3 GetColorMask()
Returns
Type | Description |
---|---|
Vector3 | Color |
GetConstructionStockpileItemAmount(MyDefinitionId)
Get the amount of items in the construction stockpile
Declaration
int GetConstructionStockpileItemAmount(MyDefinitionId id)
Parameters
Type | Name | Description |
---|---|---|
MyDefinitionId | id | Definition of component in stockpile to check |
Returns
Type | Description |
---|---|
System.Int32 | Amount of components in the stockpile of this type |
GetCopyObjectBuilder()
Declaration
MyObjectBuilder_CubeBlock GetCopyObjectBuilder()
Returns
Type | Description |
---|---|
MyObjectBuilder_CubeBlock |
GetNeighbours(ICollection<IMySlimBlock>)
The blocks that neighbour this block. Doesn't allocate memory
Declaration
void GetNeighbours(ICollection<IMySlimBlock> collection)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.ICollection<IMySlimBlock> | collection |
GetObjectBuilder(Boolean)
Gets the object builder for the slimblock
Declaration
MyObjectBuilder_CubeBlock GetObjectBuilder(bool copy = false)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | copy | true to return a copy |
Returns
Type | Description |
---|---|
MyObjectBuilder_CubeBlock |
GetWorldBoundingBox(out BoundingBoxD, Boolean)
The AABB of this block
Declaration
void GetWorldBoundingBox(out BoundingBoxD aabb, bool useAABBFromBlockCubes = false)
Parameters
Type | Name | Description |
---|---|---|
BoundingBoxD | aabb | |
System.Boolean | useAABBFromBlockCubes |
IncreaseMountLevel(Single, Int64, IMyInventory, Single, Boolean, MyOwnershipShareModeEnum)
Increases the build level of a block
Declaration
void IncreaseMountLevel(float welderMountAmount, long welderOwnerPlayerId, IMyInventory outputInventory = null, float maxAllowedBoneMovement = 0F, bool isHelping = false, MyOwnershipShareModeEnum share)
Parameters
Type | Name | Description |
---|---|---|
System.Single | welderMountAmount | The integrity amount of change |
System.Int64 | welderOwnerPlayerId | The player id of the entity increasing the mount level |
IMyInventory | outputInventory | The inventory where components are taken from |
System.Single | maxAllowedBoneMovement | Maximum movement of bones |
System.Boolean | isHelping | Is this increase helping another player |
MyOwnershipShareModeEnum | share | ShareMode used when block becomes functional |
InitOrientation(Base6Directions.Direction, Base6Directions.Direction)
Sets orientation of block
Declaration
void InitOrientation(Base6Directions.Direction Forward, Base6Directions.Direction Up)
Parameters
Type | Name | Description |
---|---|---|
Base6Directions.Direction | Forward | Forward direction |
Base6Directions.Direction | Up | Up direction |
InitOrientation(MyBlockOrientation)
Sets orientation of block
Declaration
void InitOrientation(MyBlockOrientation orientation)
Parameters
Type | Name | Description |
---|---|---|
MyBlockOrientation | orientation | Block orientation |
InitOrientation(ref Vector3I, ref Vector3I)
Sets orientation of block
Declaration
void InitOrientation(ref Vector3I forward, ref Vector3I up)
Parameters
Type | Name | Description |
---|---|---|
Vector3I | forward | Forward vector |
Vector3I | up | Up vector |
MoveItemsFromConstructionStockpile(IMyInventory, MyItemFlags)
Transfer construction components from inventory to stockpile
Declaration
void MoveItemsFromConstructionStockpile(IMyInventory toInventory, MyItemFlags flags)
Parameters
Type | Name | Description |
---|---|---|
IMyInventory | toInventory | Inventory that would get items |
MyItemFlags | flags | Use only None |
MoveItemsToConstructionStockpile(IMyInventory)
Move items missing from an inventory into the construction stockpile
Declaration
void MoveItemsToConstructionStockpile(IMyInventory fromInventory)
Parameters
Type | Name | Description |
---|---|---|
IMyInventory | fromInventory | The inventory where the components are being taken from |
PlayConstructionSound(MyIntegrityChangeEnum, Boolean)
Play the construction sound associated with the integrity change
Declaration
void PlayConstructionSound(MyIntegrityChangeEnum integrityChangeType, bool deconstruction = false)
Parameters
Type | Name | Description |
---|---|---|
MyIntegrityChangeEnum | integrityChangeType | Type of integrity change |
System.Boolean | deconstruction | Is this deconstruction? |
RemoveNeighbours()
Removes block neighbours
Declaration
void RemoveNeighbours()
SetToConstructionSite()
Resets welded integrity to minimal value
Declaration
void SetToConstructionSite()
SpawnConstructionStockpile()
Spawn contents of construction stockpile
Declaration
void SpawnConstructionStockpile()
SpawnFirstItemInConstructionStockpile()
Adds the first component to the stockpile
Declaration
void SpawnFirstItemInConstructionStockpile()
UpdateVisual()
Drops visual cache. May fix some render problems.
Declaration
void UpdateVisual()