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

@ -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

View File

@ -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);
}
/**