summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@hotmail.co.uk>2014-01-25 00:56:19 +0100
committerTiger Wang <ziwei.tiger@hotmail.co.uk>2014-01-25 00:56:19 +0100
commit1112f5adc6f66195ae030673e7831e46ae06c7b0 (patch)
tree905608852fda73d40f20bca4a975f593eb4d77a1
parentZombies and skeletons use AI (diff)
downloadcuberite-1112f5adc6f66195ae030673e7831e46ae06c7b0.tar
cuberite-1112f5adc6f66195ae030673e7831e46ae06c7b0.tar.gz
cuberite-1112f5adc6f66195ae030673e7831e46ae06c7b0.tar.bz2
cuberite-1112f5adc6f66195ae030673e7831e46ae06c7b0.tar.lz
cuberite-1112f5adc6f66195ae030673e7831e46ae06c7b0.tar.xz
cuberite-1112f5adc6f66195ae030673e7831e46ae06c7b0.tar.zst
cuberite-1112f5adc6f66195ae030673e7831e46ae06c7b0.zip
-rw-r--r--src/Generating/ChunkGenerator.cpp7
-rw-r--r--src/Mobs/Monster.cpp3
2 files changed, 9 insertions, 1 deletions
diff --git a/src/Generating/ChunkGenerator.cpp b/src/Generating/ChunkGenerator.cpp
index baa5b76b8..27210f49d 100644
--- a/src/Generating/ChunkGenerator.cpp
+++ b/src/Generating/ChunkGenerator.cpp
@@ -201,7 +201,7 @@ void cChunkGenerator::Execute(void)
while (!m_ShouldTerminate)
{
cCSLock Lock(m_CS);
- while (m_Queue.size() == 0)
+ while (m_Queue.empty())
{
if ((NumChunksGenerated > 16) && (clock() - LastReportTick > CLOCKS_PER_SEC))
{
@@ -221,6 +221,11 @@ void cChunkGenerator::Execute(void)
LastReportTick = clock();
}
+ if (m_Queue.empty())
+ {
+ continue;
+ }
+
cChunkCoords coords = m_Queue.front(); // Get next coord from queue
m_Queue.erase( m_Queue.begin() ); // Remove coordinate from queue
bool SkipEnabled = (m_Queue.size() > QUEUE_SKIP_LIMIT);
diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp
index 3b453552b..1db16ab71 100644
--- a/src/Mobs/Monster.cpp
+++ b/src/Mobs/Monster.cpp
@@ -249,6 +249,9 @@ void cMonster::Tick(float a_Dt, cChunk & a_Chunk)
return;
}
+ if ((m_Target != NULL) && m_Target->IsDestroyed())
+ m_Target = NULL;
+
// Burning in daylight
HandleDaylightBurning(a_Chunk);