MCPcopy Create free account
hub / github.com/cuberite/cuberite / SaveOneChunk

Method SaveOneChunk

src/WorldStorage/WorldStorage.cpp:286–306  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

284
285
286bool cWorldStorage::SaveOneChunk(void)
287{
288 cChunkCoords ToSave(0, 0, 0);
289 bool ShouldSave = m_SaveQueue.TryDequeueItem(ToSave);
290 if(ShouldSave) {
291 if (ToSave.m_ChunkY == CHUNK_Y_MESSAGE)
292 {
293 LOGINFO("Saved all chunks in world %s", m_World->GetName().c_str());
294 return ShouldSave;
295 }
296 if (ShouldSave && m_World->IsChunkValid(ToSave.m_ChunkX, ToSave.m_ChunkZ))
297 {
298 m_World->MarkChunkSaving(ToSave.m_ChunkX, ToSave.m_ChunkZ);
299 if (m_SaveSchema->SaveChunk(ToSave))
300 {
301 m_World->MarkChunkSaved(ToSave.m_ChunkX, ToSave.m_ChunkZ);
302 }
303 }
304 }
305 return ShouldSave;
306}
307
308
309

Callers

nothing calls this directly

Calls 8

LOGINFOFunction · 0.85
TryDequeueItemMethod · 0.80
c_strMethod · 0.80
GetNameMethod · 0.45
IsChunkValidMethod · 0.45
MarkChunkSavingMethod · 0.45
SaveChunkMethod · 0.45
MarkChunkSavedMethod · 0.45

Tested by

no test coverage detected