diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-07-26 13:23:11 +0200 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-07-26 13:23:11 +0200 |
commit | ba36e79bc5fe44ac8752fa7cef3b06fbe8a01647 (patch) | |
tree | 6594840bd065c3342e947e6039df67ab07af9610 /src/ChunkMap.cpp | |
parent | Fix item durability. (diff) | |
parent | Git: Ignore AllFiles.lst (generated by cmake) (diff) | |
download | cuberite-ba36e79bc5fe44ac8752fa7cef3b06fbe8a01647.tar cuberite-ba36e79bc5fe44ac8752fa7cef3b06fbe8a01647.tar.gz cuberite-ba36e79bc5fe44ac8752fa7cef3b06fbe8a01647.tar.bz2 cuberite-ba36e79bc5fe44ac8752fa7cef3b06fbe8a01647.tar.lz cuberite-ba36e79bc5fe44ac8752fa7cef3b06fbe8a01647.tar.xz cuberite-ba36e79bc5fe44ac8752fa7cef3b06fbe8a01647.tar.zst cuberite-ba36e79bc5fe44ac8752fa7cef3b06fbe8a01647.zip |
Diffstat (limited to '')
-rw-r--r-- | src/ChunkMap.cpp | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/src/ChunkMap.cpp b/src/ChunkMap.cpp index 3ef981e94..05d219918 100644 --- a/src/ChunkMap.cpp +++ b/src/ChunkMap.cpp @@ -16,6 +16,7 @@ #include "MobCensus.h" #include "MobSpawner.h" #include "BoundingBox.h" +#include "SetChunkData.h" #include "Entities/Pickup.h" @@ -912,28 +913,20 @@ void cChunkMap::MarkChunkSaved (int a_ChunkX, int a_ChunkZ) -void cChunkMap::SetChunkData( - int a_ChunkX, int a_ChunkZ, - const BLOCKTYPE * a_BlockTypes, - const NIBBLETYPE * a_BlockMeta, - const NIBBLETYPE * a_BlockLight, - const NIBBLETYPE * a_BlockSkyLight, - const cChunkDef::HeightMap * a_HeightMap, - const cChunkDef::BiomeMap & a_BiomeMap, - cBlockEntityList & a_BlockEntities, - bool a_MarkDirty -) +void cChunkMap::SetChunkData(cSetChunkData & a_SetChunkData) { + int ChunkX = a_SetChunkData.GetChunkX(); + int ChunkZ = a_SetChunkData.GetChunkZ(); { cCSLock Lock(m_CSLayers); - cChunkPtr Chunk = GetChunkNoLoad(a_ChunkX, ZERO_CHUNK_Y, a_ChunkZ); + cChunkPtr Chunk = GetChunkNoLoad(ChunkX, ZERO_CHUNK_Y, ChunkZ); if (Chunk == NULL) { return; } - Chunk->SetAllData(a_BlockTypes, a_BlockMeta, a_BlockLight, a_BlockSkyLight, a_HeightMap, a_BiomeMap, a_BlockEntities); + Chunk->SetAllData(a_SetChunkData); - if (a_MarkDirty) + if (a_SetChunkData.ShouldMarkDirty()) { Chunk->MarkDirty(); } @@ -942,7 +935,7 @@ void cChunkMap::SetChunkData( cChunkStays ToBeDisabled; for (cChunkStays::iterator itr = m_ChunkStays.begin(), end = m_ChunkStays.end(); itr != end; ++itr) { - if ((*itr)->ChunkAvailable(a_ChunkX, a_ChunkZ)) + if ((*itr)->ChunkAvailable(ChunkX, ChunkZ)) { // The chunkstay wants to be disabled, add it to a list of to-be-disabled chunkstays for later processing: ToBeDisabled.push_back(*itr); @@ -957,7 +950,7 @@ void cChunkMap::SetChunkData( } // Notify plugins of the chunk becoming available - cPluginManager::Get()->CallHookChunkAvailable(m_World, a_ChunkX, a_ChunkZ); + cPluginManager::Get()->CallHookChunkAvailable(m_World, ChunkX, ChunkZ); } |