Chunks::saveAndClear() fix (F5 fix)
This commit is contained in:
parent
87ec71154f
commit
a71314bdad
@ -67,6 +67,10 @@ public:
|
||||
WorldRegions& getRegions() {
|
||||
return regions;
|
||||
}
|
||||
|
||||
bool doesWriteLights() const {
|
||||
return doWriteLights;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // FILES_WORLD_FILES_H_
|
||||
|
||||
@ -487,11 +487,15 @@ void Chunks::saveAndClear(){
|
||||
auto& regions = worldFiles->getRegions();
|
||||
for (size_t i = 0; i < volume; i++){
|
||||
Chunk* chunk = chunks[i].get();
|
||||
if (chunk) {
|
||||
regions.put(chunk);
|
||||
events->trigger(EVT_CHUNK_HIDDEN, chunk);
|
||||
}
|
||||
chunks[i] = nullptr;
|
||||
if (chunk == nullptr || !chunk->isLighted())
|
||||
continue;
|
||||
|
||||
bool lightsUnsaved = !chunk->isLoadedLights() &&
|
||||
worldFiles->doesWriteLights();
|
||||
if (!chunk->isUnsaved() && !lightsUnsaved)
|
||||
continue;
|
||||
regions.put(chunk);
|
||||
}
|
||||
chunksCount = 0;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user