public function __construct(Anvil $level, $levelId, $chunkX, $chunkZ) { $this->levelId = $levelId; $this->chunkX = $chunkX; $this->chunkZ = $chunkZ; $chunk = $level->getChunk($chunkX, $chunkZ, false); if (!$chunk instanceof Chunk) { throw new ChunkException("Invalid Chunk sent"); } $this->biomeIds = $chunk->getBiomeIdArray(); $this->biomeColors = $chunk->getBiomeColorArray(); $this->sections = $chunk->getSections(); $tiles = ""; $nbt = new NBT(NBT::LITTLE_ENDIAN); foreach ($chunk->getTiles() as $tile) { if ($tile instanceof Spawnable) { $nbt->setData($tile->getSpawnCompound()); $tiles .= $nbt->write(); } } $this->tiles = $tiles; $this->compressionLevel = Level::$COMPRESSION_LEVEL; }