public function chunkRequestCallback($x, $z, $payload, $ordering = FullChunkDataPacket::ORDER_COLUMNS) { $this->timings->syncChunkSendTimer->startTiming(); $index = Level::chunkHash($x, $z); if (!isset($this->chunkCache[$index]) and $this->cacheChunks and $this->server->getMemoryManager()->canUseChunkCache()) { $this->chunkCache[$index] = Player::getChunkCacheFromData($x, $z, $payload, $ordering); $this->sendChunkFromCache($x, $z); $this->timings->syncChunkSendTimer->stopTiming(); return; } if (isset($this->chunkSendTasks[$index])) { foreach ($this->chunkSendQueue[$index] as $player) { /** @var Player $player */ if ($player->isConnected() and isset($player->usedChunks[$index])) { $player->sendChunk($x, $z, $payload, $ordering); } } unset($this->chunkSendQueue[$index]); unset($this->chunkSendTasks[$index]); } $this->timings->syncChunkSendTimer->stopTiming(); }