diff --git a/src/pocketmine/level/format/Chunk.php b/src/pocketmine/level/format/Chunk.php index dbd6cfc36..1415a9819 100644 --- a/src/pocketmine/level/format/Chunk.php +++ b/src/pocketmine/level/format/Chunk.php @@ -103,7 +103,7 @@ class Chunk{ $this->height = Chunk::MAX_SUBCHUNKS; //TODO: add a way of changing this $this->subChunks = new \SplFixedArray($this->height); - $this->emptySubChunk = new EmptySubChunk(); + $this->emptySubChunk = EmptySubChunk::getInstance(); foreach($this->subChunks as $y => $null){ $this->subChunks[$y] = $subChunks[$y] ?? $this->emptySubChunk; diff --git a/src/pocketmine/level/format/EmptySubChunk.php b/src/pocketmine/level/format/EmptySubChunk.php index 738e6530f..5ffb2942d 100644 --- a/src/pocketmine/level/format/EmptySubChunk.php +++ b/src/pocketmine/level/format/EmptySubChunk.php @@ -24,6 +24,16 @@ declare(strict_types=1); namespace pocketmine\level\format; class EmptySubChunk implements SubChunkInterface{ + /** @var EmptySubChunk */ + private static $instance; + + public static function getInstance() : self{ + if(self::$instance === null){ + self::$instance = new self(); + } + + return self::$instance; + } public function isEmpty(bool $checkLight = true) : bool{ return true;