An individual segment of a LuaSegmentedUnit. If the segment exists in a generated chunk, you can access the entity representation using LuaSegment::entity.
prototype | :: R LuaEntityPrototype | The prototype for the entity representation of the segment. |
The prototype for the entity representation of the segment. | ||
unit | :: R LuaSegmentedUnit | The segmented unit that owns the segment. |
The segmented unit that owns the segment. | ||
entity | :: R LuaEntity? | The actual entity representation of the segment if it exists. [...] |
The actual entity representation of the segment if it exists. [...] | ||
position | :: R MapPosition? | The position of the segment if one has been assigned. [...] |
The position of the segment if one has been assigned. [...] | ||
orientation | :: R RealOrientation? | The relative orientation of the segment if one has been assigned. [...] |
The relative orientation of the segment if one has been assigned. [...] | ||
valid | :: R boolean | Is this object valid? [...] |
Is this object valid? [...] | ||
object_name | :: R string | The class name of this object. [...] |
The class name of this object. [...] |
The prototype for the entity representation of the segment.
The segmented unit that owns the segment.
The actual entity representation of the segment if it exists. A segment's entity will be automatically destroyed if the segment moves into chunks that have not yet been fully generated or onto "out-of-map" tiles. Conversely, if a segment moves into a chunk that is fully generated and onto a non-"out-of-map" tile, then its entity will be created if it doesn't exist yet.
The position of the segment if one has been assigned. A position may not be assigned if the unit's number of body nodes is fewer than LuaSegmentedUnit::max_body_nodes.
This position may be in an un-generated chunk. Use LuaSurface::is_chunk_generated to check before attempting to access the chunk.
If LuaSegment::entity is non-nil, this returns that entity's LuaEntity::position. If the entity is nil
, then reading this field calculates the entity's would-be position if it existed. This can be expensive to compute, so avoid reading this field too often unless it is really necessary.
The relative orientation of the segment if one has been assigned. An orientation may not be assigned if the unit's number of body nodes is fewer than LuaSegmentedUnit::max_body_nodes.
If LuaSegment::entity is non-nil, this returns that entity's LuaEntity::orientation. If the entity is nil
, then reading this field calculates the entity's would-be position if it existed. This can be expensive to compute, so avoid reading this field too often unless it is really necessary.
Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false
. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.
The class name of this object. Available even when valid
is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.