當前位置: 首頁>>代碼示例>>PHP>>正文


PHP FullChunkDataPacket::setChannel方法代碼示例

本文整理匯總了PHP中pocketmine\network\protocol\FullChunkDataPacket::setChannel方法的典型用法代碼示例。如果您正苦於以下問題:PHP FullChunkDataPacket::setChannel方法的具體用法?PHP FullChunkDataPacket::setChannel怎麽用?PHP FullChunkDataPacket::setChannel使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在pocketmine\network\protocol\FullChunkDataPacket的用法示例。


在下文中一共展示了FullChunkDataPacket::setChannel方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: sendChunk

 public function sendChunk($x, $z, $payload)
 {
     if ($this->connected === \false) {
         return;
     }
     $this->usedChunks[\PHP_INT_SIZE === 8 ? ($x & 0xffffffff) << 32 | $z & 0xffffffff : $x . ":" . $z] = \true;
     $this->chunkLoadCount++;
     $pk = new FullChunkDataPacket();
     $pk->chunkX = $x;
     $pk->chunkZ = $z;
     $pk->data = $payload;
     $this->batchDataPacket($pk->setChannel(Network::CHANNEL_WORLD_CHUNKS));
     if ($this->spawned) {
         foreach ($this->level->getChunkEntities($x, $z) as $entity) {
             if ($entity !== $this and !$entity->closed and !$entity->dead) {
                 $entity->spawnTo($this);
             }
         }
     }
 }
開發者ID:Edwardthedog2,項目名稱:Steadfast2,代碼行數:20,代碼來源:Player.php

示例2: sendChunk

 public function sendChunk($x, $z, $payload)
 {
     if ($this->connected === false) {
         return;
     }
     $this->usedChunks[Level::chunkHash($x, $z)] = true;
     $this->chunkLoadCount++;
     if ($payload instanceof DataPacket) {
         $this->dataPacket($payload);
     } else {
         $pk = new FullChunkDataPacket();
         $pk->chunkX = $x;
         $pk->chunkZ = $z;
         $pk->data = $payload;
         $this->batchDataPacket($pk->setChannel($this->spawned ? Network::CHANNEL_WORLD_CHUNKS : Network::CHANNEL_PRIORITY));
     }
     if ($this->spawned) {
         foreach ($this->level->getChunkEntities($x, $z) as $entity) {
             if ($entity !== $this and !$entity->closed and $entity->isAlive()) {
                 $entity->spawnTo($this);
             }
         }
     }
 }
開發者ID:richarrj,項目名稱:PocketMine-MP,代碼行數:24,代碼來源:Player.php

示例3: sendChunks

 public function sendChunks($data = array())
 {
     if ($this->connected === \false) {
         return;
     }
     $bt = new BatchPacket();
     $str = "";
     foreach ($data as $set) {
         $x = $set["x"];
         $z = $set["z"];
         $payload = $set["payload"];
         $this->usedChunks[Level::chunkHash($x, $z)] = true;
         $this->chunkLoadCount++;
         $pk = new FullChunkDataPacket();
         $pk->chunkX = $x;
         $pk->chunkZ = $z;
         $pk->data = $payload;
         $pk->setChannel(Network::CHANNEL_WORLD_CHUNKS);
         $pk->encode();
         $str .= $pk->buffer;
     }
     $bt->setChannel($this->spawned ? Network::CHANNEL_WORLD_CHUNKS : Network::CHANNEL_PRIORITY);
     $bt->payload = zlib_encode($str, ZLIB_ENCODING_DEFLATE, 6);
     $bt->encode();
     $bt->isEncoded = true;
     $this->dataPacket($bt);
     foreach ($data as $set) {
         $x = $set["x"];
         $z = $set["z"];
         $payload = $set["payload"];
         if ($this->spawned) {
             foreach ($this->level->getChunkEntities($x, $z) as $entity) {
                 if ($entity !== $this and !$entity->closed and !$entity->dead) {
                     $entity->spawnTo($this);
                 }
             }
         }
     }
 }
開發者ID:xHFx,項目名稱:Steadfast2,代碼行數:39,代碼來源:Player.php


注:本文中的pocketmine\network\protocol\FullChunkDataPacket::setChannel方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。