/** * @param $chunkX * @param $chunkZ * * @return Chunk */ private function readChunk($chunkX, $chunkZ) { $index = LevelDB::chunkIndex($chunkX, $chunkZ); if (!$this->chunkExists($chunkX, $chunkZ) or ($data = $this->db->get($index . self::ENTRY_TERRAIN)) === false) { return null; } $flags = $this->db->get($index . self::ENTRY_FLAGS); if ($flags === false) { $flags = ""; } return Chunk::fromBinary($index . $data . $flags, $this); }
/** * @param $chunkX * @param $chunkZ * @param bool $create * * @return Chunk */ private function readChunk($chunkX, $chunkZ, $create = false) { $index = LevelDB::chunkIndex($chunkX, $chunkZ); if (!$this->chunkExists($chunkX, $chunkZ) or ($data = $this->db->get($index . "0")) === false) { return $create ? $this->generateChunk($chunkX, $chunkZ) : null; } $flags = $this->db->get($index . "f"); if ($flags === false) { $flags = ""; } return Chunk::fromBinary($index . $data . $flags, $this); }