当前位置: 首页>>代码示例>>PHP>>正文


PHP protocol\BatchPacket类代码示例

本文整理汇总了PHP中pocketmine\network\protocol\BatchPacket的典型用法代码示例。如果您正苦于以下问题:PHP BatchPacket类的具体用法?PHP BatchPacket怎么用?PHP BatchPacket使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了BatchPacket类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: broadcastPacketsCallback

 public function broadcastPacketsCallback($data, array $identifiers)
 {
     $pk = new BatchPacket();
     $pk->payload = $data;
     $pk->encode();
     $pk->isEncoded = true;
     foreach ($identifiers as $i) {
         if (isset($this->players[$i])) {
             $this->players[$i]->dataPacket($pk);
         }
     }
 }
开发者ID:ZenaGamingsky,项目名称:PocketBox,代码行数:12,代码来源:Server.php

示例2: getChunkCacheFromData

 /**
  * @param $chunkX
  * @param $chunkZ
  * @param $payload
  *
  * @return DataPacket
  */
 public static function getChunkCacheFromData($chunkX, $chunkZ, $payload, $ordering = FullChunkDataPacket::ORDER_COLUMNS)
 {
     $pk = new FullChunkDataPacket();
     $pk->chunkX = $chunkX;
     $pk->chunkZ = $chunkZ;
     $pk->order = $ordering;
     $pk->data = $payload;
     $pk->encode();
     $batch = new BatchPacket();
     $batch->payload = zlib_encode(Binary::writeInt(strlen($pk->getBuffer())) . $pk->getBuffer(), ZLIB_ENCODING_DEFLATE, Server::getInstance()->networkCompressionLevel);
     $batch->encode();
     $batch->isEncoded = true;
     return $batch;
 }
开发者ID:NewDelion,项目名称:PocketMine-0.13.x,代码行数:21,代码来源:Player.php

示例3: sendChunk

 public function sendChunk($x, $z, $payload, $ordering = FullChunkDataPacket::ORDER_COLUMNS)
 {
     if ($this->connected === false) {
         return;
     }
     $this->usedChunks[Level::chunkHash($x, $z)] = true;
     $this->chunkLoadCount++;
     $pk = new FullChunkDataPacket();
     $pk->chunkX = $x;
     $pk->chunkZ = $z;
     $pk->order = $ordering;
     $pk->data = $payload;
     $pk->encode();
     $bt = new BatchPacket();
     $str = $pk->buffer;
     $bt->payload = zlib_encode($str, ZLIB_ENCODING_DEFLATE, 7);
     $bt->encode();
     $bt->isEncoded = true;
     $this->dataPacket($bt);
     if ($this->spawned) {
         foreach ($this->level->getChunkEntities($x, $z) as $entity) {
             if ($entity !== $this and !$entity->closed and !$entity->dead) {
                 $entity->spawnTo($this);
             }
         }
     }
 }
开发者ID:ZenaGamingsky,项目名称:Steadfast2,代码行数:27,代码来源:Player.php

示例4: batchDataPacket

 /**
  * Batch a Data packet
  *
  * @param DataPacket $packet
  *
  * @return bool
  */
 public function batchDataPacket(DataPacket $packet)
 {
     $str = "";
     if ($packet instanceof DataPacket) {
         if (!$packet->isEncoded) {
             $packet->encode();
         }
         $str .= Binary::writeInt(strlen($packet->buffer)) . $packet->buffer;
     } else {
         $str .= Binary::writeInt(strlen($packet)) . $packet;
     }
     $pk = new BatchPacket();
     $pk->payload = zlib_encode($str, ZLIB_ENCODING_DEFLATE, 7);
     $pk->encode();
     $pk->isEncoded = true;
     $this->dataPacket($pk);
 }
开发者ID:WonderlandPE,项目名称:Steadfast2,代码行数:24,代码来源:Player.php

示例5: getChunkCacheFromData

 /**
  * @param $chunkX
  * @param $chunkZ
  * @param $payload
  *
  * @return DataPacket
  */
 public static function getChunkCacheFromData($chunkX, $chunkZ, $payload)
 {
     $pk = new FullChunkDataPacket();
     $pk->chunkX = $chunkX;
     $pk->chunkZ = $chunkZ;
     $pk->data = $payload;
     $pk->encode();
     $batch = new BatchPacket();
     $batch->payload = zlib_encode($pk->getBuffer(), ZLIB_ENCODING_DEFLATE, Server::getInstance()->networkCompressionLevel);
     $batch->setChannel(Network::CHANNEL_WORLD_CHUNKS);
     $batch->encode();
     $batch->isEncoded = true;
     return $batch;
 }
开发者ID:richarrj,项目名称:PocketMine-MP,代码行数:21,代码来源:Player.php

示例6: sendBatchedChunk

 public function sendBatchedChunk($x, $z, $payload)
 {
     $this->usedChunks[Level::chunkHash($x, $z)] = true;
     $this->chunkLoadCount++;
     $bt = new BatchPacket();
     $bt->payload = $payload;
     $bt->encode();
     $bt->isEncoded = true;
     $this->dataPacket($bt);
 }
开发者ID:TexusDark,项目名称:Katana,代码行数:10,代码来源:Player.php

示例7: 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\BatchPacket类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。