SimpleChunkManager: added $create parameter

This commit is contained in:
Dylan K. Taylor 2019-06-27 16:13:14 +01:00
parent a279648c68
commit 6f087190f4
2 changed files with 10 additions and 7 deletions

View File

@ -96,10 +96,11 @@ interface ChunkManager{
/**
* @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

View File

@ -92,11 +92,13 @@ class SimpleChunkManager implements ChunkManager{
/**
* @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);
}
/**