putPacket() public method

Sends a DataPacket to the interface, returns an unique identifier for the packet if $needACK is true
public putPacket ( Player $player, DataPacket $packet, boolean $needACK = false, boolean $immediate = true ) : integer
$player pocketmine\Player
$packet pocketmine\network\protocol\DataPacket
$needACK boolean
$immediate boolean
return integer
Example #1
0
 /**
  * @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;
 }
Example #2
0
 /**
  * @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;
 }