From 6f087190f4655cacfb19c75dfdf554fed6b80767 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 27 Jun 2019 16:13:14 +0100 Subject: [PATCH] SimpleChunkManager: added $create parameter --- src/pocketmine/world/ChunkManager.php | 7 ++++--- src/pocketmine/world/SimpleChunkManager.php | 10 ++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/pocketmine/world/ChunkManager.php b/src/pocketmine/world/ChunkManager.php index b0153b3d2..7fb8524c6 100644 --- a/src/pocketmine/world/ChunkManager.php +++ b/src/pocketmine/world/ChunkManager.php @@ -94,12 +94,13 @@ interface ChunkManager{ public function setBlockSkyLightAt(int $x, int $y, int $z, int $level) : void; /** - * @param int $chunkX - * @param int $chunkZ + * @param int $chunkX + * @param int $chunkZ + * @param bool $create * * @return Chunk|null */ - public function getChunk(int $chunkX, int $chunkZ) : ?Chunk; + public function getChunk(int $chunkX, int $chunkZ, bool $create = false) : ?Chunk; /** * @param int $chunkX diff --git a/src/pocketmine/world/SimpleChunkManager.php b/src/pocketmine/world/SimpleChunkManager.php index d9297ebac..f2cee8527 100644 --- a/src/pocketmine/world/SimpleChunkManager.php +++ b/src/pocketmine/world/SimpleChunkManager.php @@ -90,13 +90,15 @@ class SimpleChunkManager implements ChunkManager{ } /** - * @param int $chunkX - * @param int $chunkZ + * @param int $chunkX + * @param int $chunkZ + * @param bool $create * * @return Chunk|null */ - public function getChunk(int $chunkX, int $chunkZ) : ?Chunk{ - return $this->chunks[World::chunkHash($chunkX, $chunkZ)] ?? null; + public function getChunk(int $chunkX, int $chunkZ, bool $create = false) : ?Chunk{ + $hash = World::chunkHash($chunkX, $chunkZ); + return $this->chunks[$hash] ?? ($create ? $this->chunks[$hash] = new Chunk($chunkX, $chunkZ) : null); } /**