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


PHP DataPacketSendEvent::getPlayer方法代码示例

本文整理汇总了PHP中pocketmine\event\server\DataPacketSendEvent::getPlayer方法的典型用法代码示例。如果您正苦于以下问题:PHP DataPacketSendEvent::getPlayer方法的具体用法?PHP DataPacketSendEvent::getPlayer怎么用?PHP DataPacketSendEvent::getPlayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pocketmine\event\server\DataPacketSendEvent的用法示例。


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

示例1: onDataPacketSend

 public function onDataPacketSend(DataPacketSendEvent $event)
 {
     if ($event->getPacket() instanceof AddPlayerPacket) {
         /** @var $pk AddPlayerPacket */
         $pk = $event->getPacket();
         if (isset($this->blockMans[spl_object_hash($event->getPlayer()->getLevel()->getEntity($pk->eid))])) {
             $event->setCancelled(true);
         }
     }
 }
开发者ID:Jerry6o,项目名称:BlockMan,代码行数:10,代码来源:BlockMan.php

示例2: onSendPack

 public function onSendPack(DataPacketSendEvent $event)
 {
     $pk = $event->getPacket();
     if (!$pk instanceof MessagePacket) {
         return;
     }
     $p = $event->getPlayer();
     if ($pk->source === "chatlinebreaker.ignore") {
         return;
     }
     if (!$this->isPEnable($p->getName())) {
         return;
     }
     $event->setCancelled();
     $msg = $pk->message;
     if ($pk->source) {
         $msg = "<{$pk->source}> {$msg}";
     }
     $this->processMessage($p, $msg);
 }
开发者ID:barnseyminesuk,项目名称:Small-ZC-Plugins,代码行数:20,代码来源:Main.php

示例3: onSendPacket

 public function onSendPacket(DataPacketSendEvent $ev)
 {
     if ($ev->getPacket()->pid() !== ProtocolInfo::FULL_CHUNK_DATA_PACKET) {
         return;
     }
     // Re-spawn as chunks get sent...
     $pl = $ev->getPlayer();
     $level = $pl->getLevel();
     if (!isset($this->cases[$level->getName()])) {
         return;
     }
     $chunkX = $ev->getPacket()->chunkX;
     $chunkZ = $ev->getPacket()->chunkZ;
     foreach (array_keys($this->cases[$level->getName()]) as $cid) {
         $pos = explode(":", $cid);
         if ($pos[0] >> 4 == $chunkX && $pos[2] >> 4 == $chunkZ) {
             //echo "Respawn case... $cid\n"; //##DEBUG
             $this->sndItemCase($level, $cid, [$pl]);
         }
     }
 }
开发者ID:flaxues,项目名称:pocketmine-plugins,代码行数:21,代码来源:Main.php

示例4: onDataPacketSendEvent

 public function onDataPacketSendEvent(DataPacketSendEvent $event)
 {
     $pk = $event->getPacket();
     if ($pk instanceof SetHealthPacket) {
         $attribute = Attribute::getAttribute(Attribute::MAX_HEALTH);
         $attributeData = AttributeProvider::getInstance()->getAttribute($event->getPlayer());
         $attribute->setMinValue(0);
         $attribute->setMaxValue($attributeData->getMaxHealth());
         if ($pk->health > $attributeData->getMaxHealth()) {
             $pk->health = $attributeData->getMaxHealth();
         }
         $attribute->setValue($pk->health);
         $attributePacket = new UpdateAttributesPacket();
         $attributePacket->entityId = 0;
         $attributePacket->entries = [$attribute];
         $event->setCancelled();
         $event->getPlayer()->dataPacket($attributePacket);
     }
 }
开发者ID:TDMGamingMC,项目名称:PlayHarder,代码行数:19,代码来源:EventListener.php

示例5: onSend

 public function onSend(DataPacketSendEvent $event)
 {
     $player = $event->getPlayer();
     $user = $this->main->getUserByPlayer($player);
     $pk = $event->getPacket();
     if ($pk::NETWORK_ID === Info::CONTAINER_SET_CONTENT_PACKET) {
         /** @var ContainerSetContentPacket $pk */
         if ($user !== null and $user->isPlaying()) {
             return;
         }
         if ($player->isSurvival()) {
             // survival/adventure
             if ($pk->windowid === ContainerSetContentPacket::SPECIAL_ARMOR or $pk->windowid === ContainerSetContentPacket::SPECIAL_INVENTORY) {
                 $event->setCancelled();
             }
         }
     }
 }
开发者ID:GoneTone,项目名称:HereAuth,代码行数:18,代码来源:EventRouter.php

示例6: 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

示例7: onPacketSend

 public function onPacketSend(DataPacketSendEvent $event)
 {
     if (isset($event->getPacket()->eid)) {
         if ($this->isDisguised($event->getPacket()->eid) && !$event->getPlayer()->hasPermission("disguiseme.exempt")) {
             if ($event->getPacket() instanceof MovePlayerPacket) {
                 $pk = new MoveEntityPacket();
                 $pk->entities = [[$event->getPacket()->eid, $event->getPacket()->x, $event->getPacket()->y, $event->getPacket()->z, $event->getPacket()->yaw, $event->getPacket()->pitch]];
                 $event->getPlayer()->dataPacket($pk);
                 $event->setCancelled();
             } elseif ($event->getPacket() instanceof AddPlayerPacket) {
                 $pk = new AddEntityPacket();
                 $pk->eid = $event->getPacket()->eid;
                 $pk->type = $this->e[$event->getPacket()->eid]->getType();
                 $pk->x = $event->getPacket()->x;
                 $pk->y = $event->getPacket()->y;
                 $pk->z = $event->getPacket()->z;
                 $pk->pitch = $event->getPacket()->pitch;
                 $pk->yaw = $event->getPacket()->yaw;
                 $pk->metadata = [];
                 $event->getPlayer()->dataPacket($pk);
                 $event->setCancelled();
             } elseif ($event->getPacket() instanceof RemovePlayerPacket) {
                 $pk = new RemoveEntityPacket();
                 $pk->eid = $event->getPacket()->eid;
                 $event->getPlayer()->dataPacket($pk);
                 $event->setCancelled();
             }
         }
     }
 }
开发者ID:nacjm,项目名称:DisguiseMe,代码行数:30,代码来源:DisguiseMe.php

示例8: 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

示例9: onDataPacketSend

 public function onDataPacketSend(DataPacketSendEvent $event)
 {
     $pk = $event->getPacket();
     $p = $event->getPlayer();
     if ($pk instanceof SetHealthPacket) {
         $health = floor($p->getHealth() / $p->getMaxHealth() * 20);
         $pk->health = $p->dead ? 0 : ($health <= 0 && $p->getHealth() > 0 ? 1 : $health);
     }
 }
开发者ID:Skull3x,项目名称:MineBlock,代码行数:9,代码来源:MaxHealth.php


注:本文中的pocketmine\event\server\DataPacketSendEvent::getPlayer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。