diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-07-13 00:54:11 +0200 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-07-13 00:54:11 +0200 |
commit | 4b093972ea139d057dd523b583352be69bae7edb (patch) | |
tree | 1bc8edf1594f4c81bbdd6a68cf7d22f5a2b21341 /src/ChunkMap.h | |
parent | Add doxy-comments. (diff) | |
parent | Merge pull request #1154 from mc-server/trappedchests (diff) | |
download | cuberite-4b093972ea139d057dd523b583352be69bae7edb.tar cuberite-4b093972ea139d057dd523b583352be69bae7edb.tar.gz cuberite-4b093972ea139d057dd523b583352be69bae7edb.tar.bz2 cuberite-4b093972ea139d057dd523b583352be69bae7edb.tar.lz cuberite-4b093972ea139d057dd523b583352be69bae7edb.tar.xz cuberite-4b093972ea139d057dd523b583352be69bae7edb.tar.zst cuberite-4b093972ea139d057dd523b583352be69bae7edb.zip |
Diffstat (limited to '')
-rw-r--r-- | src/ChunkMap.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/ChunkMap.h b/src/ChunkMap.h index 433516490..4daa85ebd 100644 --- a/src/ChunkMap.h +++ b/src/ChunkMap.h @@ -106,7 +106,8 @@ public: /** Wakes up the simulators for the specified area of blocks */ void WakeUpSimulatorsInArea(int a_MinBlockX, int a_MaxBlockX, int a_MinBlockY, int a_MaxBlockY, int a_MinBlockZ, int a_MaxBlockZ); - void MarkChunkDirty (int a_ChunkX, int a_ChunkZ); + void MarkRedstoneDirty (int a_ChunkX, int a_ChunkZ); + void MarkChunkDirty (int a_ChunkX, int a_ChunkZ, bool a_MarkRedstoneDirty = false); void MarkChunkSaving (int a_ChunkX, int a_ChunkZ); void MarkChunkSaved (int a_ChunkX, int a_ChunkZ); @@ -339,6 +340,13 @@ public: /** Returns the CS for locking the chunkmap; only cWorld::cLock may use this function! */ cCriticalSection & GetCS(void) { return m_CSLayers; } + + /** Increments (a_AlwaysTicked == true) or decrements (false) the m_AlwaysTicked counter for the specified chunk. + 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. + 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 SetChunkAlwaysTicked(int a_ChunkX, int a_ChunkZ, bool a_AlwaysTicked); private: |