diff options
author | Tiger Wang <ziwei.tiger@outlook.com> | 2016-02-21 01:32:38 +0100 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@outlook.com> | 2016-02-21 01:32:38 +0100 |
commit | 4909e271faa4dc182f786cb235f7f5c5c53f2a50 (patch) | |
tree | 0f424d5643a6e2b927fdee1083f655aea90ae8cb | |
parent | Merge pull request #3032 from cuberite/3030-fix (diff) | |
parent | Add check if entity is in chunk before changing tick status (diff) | |
download | cuberite-4909e271faa4dc182f786cb235f7f5c5c53f2a50.tar cuberite-4909e271faa4dc182f786cb235f7f5c5c53f2a50.tar.gz cuberite-4909e271faa4dc182f786cb235f7f5c5c53f2a50.tar.bz2 cuberite-4909e271faa4dc182f786cb235f7f5c5c53f2a50.tar.lz cuberite-4909e271faa4dc182f786cb235f7f5c5c53f2a50.tar.xz cuberite-4909e271faa4dc182f786cb235f7f5c5c53f2a50.tar.zst cuberite-4909e271faa4dc182f786cb235f7f5c5c53f2a50.zip |
-rw-r--r-- | src/World.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/World.cpp b/src/World.cpp index d8386119d..dcc36f5f3 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -1019,7 +1019,10 @@ void cWorld::Tick(std::chrono::milliseconds a_Dt, std::chrono::milliseconds a_La (*itr)->SetWorld(this); m_ChunkMap->AddEntity(*itr); ASSERT(!(*itr)->IsTicking()); - (*itr)->SetIsTicking(true); + if (m_ChunkMap->HasEntity((*itr)->GetUniqueID())) + { + (*itr)->SetIsTicking(true); + } } m_EntitiesToAdd.clear(); } @@ -3805,7 +3808,10 @@ void cWorld::AddQueuedPlayers(void) // Add to chunkmap, if not already there (Spawn vs MoveToWorld): m_ChunkMap->AddEntityIfNotPresent(*itr); ASSERT(!(*itr)->IsTicking()); - (*itr)->SetIsTicking(true); + if (m_ChunkMap->HasEntity((*itr)->GetUniqueID())) + { + (*itr)->SetIsTicking(true); + } } // for itr - PlayersToAdd[] } // Lock(m_CSPlayers) |