pocketmine\entity\Entity::linkEntity PHP Method

linkEntity() public method

public linkEntity ( Entity $entity )
$entity Entity
    public function linkEntity(Entity $entity)
    {
        return $this->setLinked(1, $entity);
    }

Usage Example

Esempio n. 1
0
 public function setLinked($type = 0, Entity $entity = null)
 {
     if ($type != 0 and $entity === null) {
         return false;
     }
     if ($entity === $this) {
         return false;
     }
     switch ($type) {
         case 0:
             if ($this->linkedType == 0) {
                 return true;
             }
             $this->linkedType = 0;
             $pk = new SetEntityLinkPacket();
             $pk->from = $entity->getId();
             $pk->to = $this->getId();
             $pk->type = 3;
             $this->server->broadcastPacket($this->level->getPlayers(), $pk);
             if ($this instanceof Player) {
                 $pk = new SetEntityLinkPacket();
                 $pk->from = $entity->getId();
                 $pk->to = 0;
                 $pk->type = 3;
                 $this->dataPacket($pk);
             }
             if ($this->linkedEntity->getLinkedType()) {
                 $this->linkedEntity->setLinked(0, $this);
             }
             return true;
         case 1:
             if (!$entity->isAlive()) {
                 return false;
             }
             $this->linkedEntity = $entity;
             $this->linkedType = 1;
             $pk = new SetEntityLinkPacket();
             $pk->from = $entity->getId();
             $pk->to = $this->getId();
             $pk->type = 2;
             $this->server->broadcastPacket($this->level->getPlayers(), $pk);
             if ($this instanceof Player) {
                 $pk = new SetEntityLinkPacket();
                 $pk->from = $entity->getId();
                 $pk->to = 0;
                 $pk->type = 2;
                 $this->dataPacket($pk);
             }
             return true;
         case 2:
             if (!$entity->isAlive()) {
                 return false;
             }
             if ($entity->getLinkedEntity() !== $this) {
                 return $entity->linkEntity($this);
             }
             $this->linkedEntity = $entity;
             $this->linkedType = 2;
             return true;
         default:
             return false;
     }
 }