mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-11 12:27:51 +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);
|
$this->unloadChunkRequest($X, $Z, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$chunk->collectGarbage();
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->provider->doGarbageCollection();
|
$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){
|
foreach($this->subChunks as $y => $subChunk){
|
||||||
if($subChunk instanceof EmptySubChunk){
|
if(!($subChunk instanceof EmptySubChunk) and $subChunk->isEmpty()){ //normal subchunk full of air, remove it and replace it with an empty stub
|
||||||
continue;
|
|
||||||
}elseif($subChunk->isEmpty()){ //normal subchunk full of air, remove it and replace it with an empty stub
|
|
||||||
$this->subChunks[$y] = $this->emptySubChunk;
|
$this->subChunks[$y] = $this->emptySubChunk;
|
||||||
}else{
|
|
||||||
continue; //do not set changed
|
|
||||||
}
|
}
|
||||||
$this->hasChanged = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user