mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-22 00:33:59 +00:00
Level: Collect garbage from chunk internals in doChunkGarbageCollection()
This commit is contained in:
parent
8cc2a4ce5d
commit
342a74ffcb
@ -2979,6 +2979,7 @@ class Level implements ChunkManager, Metadatable{
|
||||
$this->unloadChunkRequest($X, $Z, true);
|
||||
}
|
||||
}
|
||||
$chunk->collectGarbage();
|
||||
}
|
||||
|
||||
$this->provider->doGarbageCollection();
|
||||
|
@ -836,18 +836,13 @@ class Chunk{
|
||||
}
|
||||
|
||||
/**
|
||||
* Disposes of empty subchunks
|
||||
* Disposes of empty subchunks and frees data where possible
|
||||
*/
|
||||
public function pruneEmptySubChunks(){
|
||||
public function collectGarbage() : void{
|
||||
foreach($this->subChunks as $y => $subChunk){
|
||||
if($subChunk instanceof EmptySubChunk){
|
||||
continue;
|
||||
}elseif($subChunk->isEmpty()){ //normal subchunk full of air, remove it and replace it with an empty stub
|
||||
if(!($subChunk instanceof EmptySubChunk) and $subChunk->isEmpty()){ //normal subchunk full of air, remove it and replace it with an empty stub
|
||||
$this->subChunks[$y] = $this->emptySubChunk;
|
||||
}else{
|
||||
continue; //do not set changed
|
||||
}
|
||||
$this->hasChanged = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user