Makes chunks stay loaded until this object is cleared or destroyed Works by setting internal flags in...
static const int SearchSolidBaseWidth
The width of a solid base to search for when building.
cNetherPortalScanner(cEntity *a_MovingEntity, cWorld *a_DestinationWorld, Vector3d a_DestPosition, int a_MaxY)
Vector3i m_PortalLoc
The position of the pre-existing portal.
cWorld * m_World
The world we're moving the entity to.
bool m_BuildPlatform
Whether to build a platform.
cEntity * m_Entity
The entity that's being moved.
static const double OutOffset
Where to place the player out from the face and across the face.
virtual void OnDisabled(void) override
Called by the ChunkMap when the ChunkStay is disabled.
virtual void OnChunkAvailable(int a_ChunkX, int a_ChunkY) override
Called when a specific chunk become available.
static const double AcrossOffset
int m_MaxY
The maximum Y to scan to.
static const int PortalHeight
static const int BuildSearchRadius
bool m_FoundPortal
Whether we found a portal during the loading of the chunks.
void BuildNetherPortal(Vector3i a_Location, Direction a_Direction, bool a_IncludePlatform)
Builds a portal.
Direction m_Dir
The direction of the portal.
static const int SearchRadius
bool IsValidBuildLocation(Vector3i a_BlockPosition)
Whether the given location is a valid location to build a portal.
Vector3d m_Position
The center of the search area.
static const int PortalLength
Length and height, including the obsidian.
virtual bool OnAllChunksAvailable(void) override
Caled once all of the contained chunks are available.