From e98f93a079c2cfea7b5478e2cb2934874e0b88e0 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Sun, 5 Apr 2020 13:41:14 +0100 Subject: Only store IDs across ticks --- src/NetherPortalScanner.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/NetherPortalScanner.h') diff --git a/src/NetherPortalScanner.h b/src/NetherPortalScanner.h index f3df57c0d..3d285053a 100644 --- a/src/NetherPortalScanner.h +++ b/src/NetherPortalScanner.h @@ -15,7 +15,7 @@ class cWorld; class cNetherPortalScanner : public cChunkStay { public: - cNetherPortalScanner(cEntity * a_MovingEntity, cWorld * a_DestinationWorld, Vector3d a_DestPosition, int a_MaxY); + cNetherPortalScanner(cEntity & a_MovingEntity, cWorld * a_DestinationWorld, Vector3d a_DestPosition, int a_MaxY); virtual void OnChunkAvailable(int a_ChunkX, int a_ChunkY) override; virtual bool OnAllChunksAvailable(void) override; virtual void OnDisabled(void) override; @@ -48,8 +48,11 @@ private: /** Whether the given location is a valid location to build a portal. */ bool IsValidBuildLocation(Vector3i a_BlockPosition); - /** The entity that's being moved. */ - cEntity * m_Entity; + /** The ID of the entity that's being moved. */ + UInt32 m_EntityID; + + /** The world we're moving the entity from, used to query the entity ID. */ + cWorld & m_SourceWorld; /** The world we're moving the entity to. */ cWorld * m_World; -- cgit v1.2.3