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


PHP DataPacketSendEvent::isCancelled方法代碼示例

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


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

示例1: directDataPacket

 /**
  * @param DataPacket $packet
  * @param bool       $needACK
  *
  * @return bool|int
  */
 public function directDataPacket(DataPacket $packet, $needACK = false)
 {
     if ($this->connected === false) {
         return false;
     }
     $timings = Timings::getSendDataPacketTimings($packet);
     $timings->startTiming();
     $this->server->getPluginManager()->callEvent($ev = new DataPacketSendEvent($this, $packet));
     if ($ev->isCancelled()) {
         $timings->stopTiming();
         return false;
     }
     $identifier = $this->interface->putPacket($this, $packet, $needACK, true);
     if ($needACK and $identifier !== null) {
         $this->needACK[$identifier] = false;
         $timings->stopTiming();
         return $identifier;
     }
     $timings->stopTiming();
     return true;
 }
開發者ID:NewDelion,項目名稱:PocketMine-0.13.x,代碼行數:27,代碼來源:Player.php

示例2: onDataPacket

 public function onDataPacket(DataPacketSendEvent $event)
 {
     if (!$event->getPacket() instanceof TextPacket or $event->getPacket()->pid() != 0x85 or $event->isCancelled()) {
         return;
     }
     if (isset($this->db[$event->getPlayer()->getName()]["chat"]) and $this->db[$event->getPlayer()->getName()]["chat"] == false) {
         $event->setCancelled();
         return;
     }
     if (isset($this->db[$event->getPlayer()->getName()]["nametag"]) and $this->db[$event->getPlayer()->getName()]["nametag"] == true) {
         $message = $this->getServer()->getLanguage()->translate(new TranslationContainer($event->getPacket()->message, $event->getPacket()->parameters));
         $this->putStack($event->getPlayer()->getName(), $message);
     }
 }
開發者ID:n15001,項目名稱:Chatty,代碼行數:14,代碼來源:Chatty.php

示例3: onDataPacket

 public function onDataPacket(DataPacketSendEvent $event)
 {
     if ($event->getPacket() instanceof MessagePacket) {
         if ($event->getPacket()->pid() != 0x85) {
             return;
         }
         if ($event->isCancelled()) {
             return;
         }
         if (isset($this->db[$event->getPlayer()->getName()]["CHAT"])) {
             if ($this->db[$event->getPlayer()->getName()]["CHAT"] == false) {
                 $event->setCancelled();
                 return;
             }
         }
         if (isset($this->db[$event->getPlayer()->getName()]["localCHAT"])) {
             if ($this->db[$event->getPlayer()->getName()]["localCHAT"] == false) {
                 if (isset($this->localChatQueue["Player"])) {
                     if ($this->localChatQueue["Player"] instanceof Player) {
                         if ($this->localChatQueue["Message"] == null) {
                             $this->localChatQueue["Message"] = $event->getPacket()->message;
                         }
                         // 보내는 메시지가 동일할때만
                         if ($this->localChatQueue["Message"] == $event->getPacket()->message) {
                             $dx = abs($event->getPlayer()->x - $this->localChatQueue["Player"]->x);
                             $dy = abs($event->getPlayer()->y - $this->localChatQueue["Player"]->y);
                             $dz = abs($event->getPlayer()->z - $this->localChatQueue["Player"]->z);
                             // 거리가 멀면 패킷보내지않음
                             if ($dx > 25 or $dy > 25 or $dz > 25) {
                                 $event->setCancelled();
                                 return;
                             }
                         }
                     }
                 }
             }
         }
         if (isset($this->db[$event->getPlayer()->getName()]["NameTAG"])) {
             if ($this->db[$event->getPlayer()->getName()]["NameTAG"] == true) {
                 $event->setCancelled();
                 $this->putStack($event->getPlayer()->getName(), $event->getPacket()->message);
                 return;
             }
         }
     }
 }
開發者ID:EmreTr1,項目名稱:rtr,代碼行數:46,代碼來源:Chatty.php

示例4: directDataPacket

 /**
  * @param DataPacket $packet
  * @param bool       $needACK
  *
  * @return bool|int
  */
 public function directDataPacket(DataPacket $packet, $needACK = \false)
 {
     if ($this->connected === \false) {
         return \false;
     }
     $this->server->getPluginManager()->callEvent($ev = new DataPacketSendEvent($this, $packet));
     if ($ev->isCancelled()) {
         return \false;
     }
     $identifier = $this->interface->putPacket($this, $packet, $needACK, \true);
     if ($needACK and $identifier !== \null) {
         $this->needACK[$identifier] = \false;
         return $identifier;
     }
     return \true;
 }
開發者ID:Edwardthedog2,項目名稱:Steadfast2,代碼行數:22,代碼來源:Player.php


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