Inheritance: extends DataPacket
Ejemplo n.º 1
0
 public function onCancel()
 {
     $flags = (int) $this->target->getDataProperty(Player::DATA_FLAGS);
     $dataProperty = [Player::DATA_FLAGS => [Player::DATA_TYPE_BYTE, $flags]];
     $pk = new SetEntityDataPacket();
     $pk->eid = $this->target->getId();
     $pk->metadata = $dataProperty;
     Server::broadcastPacket($this->target->getLevel()->getPlayers(), $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
     unset(FlameThrower::$tasks[$this->target->getName()]);
 }
Ejemplo n.º 2
0
 public function setFlaming(Player $target)
 {
     $flags = (int) $target->getDataProperty(Player::DATA_FLAGS);
     $flags ^= 1 << Player::DATA_FLAG_ONFIRE;
     $dataProperty = [Player::DATA_FLAGS => [Player::DATA_TYPE_BYTE, $flags]];
     $pk = new SetEntityDataPacket();
     $pk->eid = $target->getId();
     $pk->metadata = $dataProperty;
     Server::broadcastPacket($this->getPlayer()->getLevel()->getPlayers(), $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
 }
Ejemplo n.º 3
0
 /**
  * @param Player[]|Player $player
  * @param array $data Properly formatted entity data, defaults to everything
  */
 public function sendData($player, array $data = null)
 {
     if (!is_array($player)) {
         $player = [$player];
     }
     $pk = new SetEntityDataPacket();
     $pk->eid = $this->id;
     $pk->metadata = $data === null ? $this->dataProperties : $data;
     Server::broadcastPacket($player, $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
 }
Ejemplo n.º 4
0
 /**
  * @param Player[]|Player $player
  */
 public function sendMetadata($player)
 {
     if ($player instanceof Player) {
         $player = [$player];
     }
     $pk = new SetEntityDataPacket();
     $pk->eid = $this->id;
     $pk->metadata = $this->getData();
     $pk->encode();
     $pk->isEncoded = true;
     foreach ($player as $p) {
         if ($p === $this) {
             /** @var Player $p */
             $pk2 = new SetEntityDataPacket();
             $pk2->eid = 0;
             $pk2->metadata = $this->getData();
             $p->dataPacket($pk2);
         } else {
             $p->dataPacket($pk);
         }
     }
 }