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()]); }
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)); }
/** * @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)); }