summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLogicParrot <LogicParrot@users.noreply.github.com>2016-10-09 14:46:09 +0200
committerGitHub <noreply@github.com>2016-10-09 14:46:09 +0200
commit1e8cae641592cc4ae7b6f1b997c514f9d2be422b (patch)
tree82f88f3fcb9d71c33c43b981570e0c07cf232906 /src
parentUpdated the Core plugin. (diff)
downloadcuberite-1e8cae641592cc4ae7b6f1b997c514f9d2be422b.tar
cuberite-1e8cae641592cc4ae7b6f1b997c514f9d2be422b.tar.gz
cuberite-1e8cae641592cc4ae7b6f1b997c514f9d2be422b.tar.bz2
cuberite-1e8cae641592cc4ae7b6f1b997c514f9d2be422b.tar.lz
cuberite-1e8cae641592cc4ae7b6f1b997c514f9d2be422b.tar.xz
cuberite-1e8cae641592cc4ae7b6f1b997c514f9d2be422b.tar.zst
cuberite-1e8cae641592cc4ae7b6f1b997c514f9d2be422b.zip
Diffstat (limited to 'src')
-rw-r--r--src/Chunk.cpp2
-rw-r--r--src/Chunk.h2
-rw-r--r--src/ChunkMap.cpp2
3 files changed, 4 insertions, 2 deletions
diff --git a/src/Chunk.cpp b/src/Chunk.cpp
index d833feea5..508fe355e 100644
--- a/src/Chunk.cpp
+++ b/src/Chunk.cpp
@@ -1728,10 +1728,12 @@ void cChunk::SetAlwaysTicked(bool a_AlwaysTicked)
if (a_AlwaysTicked)
{
m_AlwaysTicked += 1;
+ Stay(a_AlwaysTicked);
}
else
{
m_AlwaysTicked -= 1;
+ Stay(a_AlwaysTicked);
}
}
diff --git a/src/Chunk.h b/src/Chunk.h
index 54e4a9502..398d33a5f 100644
--- a/src/Chunk.h
+++ b/src/Chunk.h
@@ -475,7 +475,7 @@ public:
/** Increments (a_AlwaysTicked == true) or decrements (false) the m_AlwaysTicked counter.
If the m_AlwaysTicked counter is greater than zero, the chunk is ticked in the tick-thread regardless of
- whether it has any clients or not.
+ whether it has any clients or not. When this is set, the chunk never unloads.
This function allows nesting and task-concurrency (multiple separate tasks can request ticking and as long
as at least one requests is active the chunk will be ticked). */
void SetAlwaysTicked(bool a_AlwaysTicked);
diff --git a/src/ChunkMap.cpp b/src/ChunkMap.cpp
index a16b08f15..c8e485cdd 100644
--- a/src/ChunkMap.cpp
+++ b/src/ChunkMap.cpp
@@ -2762,7 +2762,7 @@ void cChunkMap::QueueTickBlock(int a_BlockX, int a_BlockY, int a_BlockZ)
void cChunkMap::SetChunkAlwaysTicked(int a_ChunkX, int a_ChunkZ, bool a_AlwaysTicked)
{
cCSLock Lock(m_CSChunks);
- cChunkPtr Chunk = GetChunkNoLoad(a_ChunkX, a_ChunkZ);
+ cChunkPtr Chunk = GetChunk(a_ChunkX, a_ChunkZ);
if (Chunk != nullptr)
{
Chunk->SetAlwaysTicked(a_AlwaysTicked);