public function spawnTo(Player $player) { if ($player instanceof DesktopPlayer) { if ($this !== $player and $this->spawned === true and $player->getLevel() === $this->getLevel() and $player->canSee($this)) { $this->hasSpawned[$player->getID()] = $player; $pk = new SpawnPlayerPacket(); if ($player->getRemoveFormat()) { $pk->name = TextFormat::clean($this->nameTag); } else { $pk->name = $this->nameTag; } $pk->eid = $this->getID(); $pk->uuid = $this->bigBrother_formatedUUID; $pk->x = $this->x; $pk->z = $this->y; $pk->y = $this->z; $pk->yaw = $this->yaw; $pk->pitch = $this->pitch; $pk->item = $this->inventory->getItemInHand()->getID(); $pk->metadata = $this->getData(); $pk->data = $this->bigBrother_properties; $player->putRawPacket($pk); $pk = new EntityTeleportPacket(); $pk->eid = $this->getID(); $pk->x = $this->x; $pk->z = $this->y; $pk->y = $this->z; $pk->yaw = $this->yaw; $pk->pitch = $this->pitch; $player->putRawPacket($pk); $pk = new SetEntityMotionPacket(); $pk->eid = $this->getID(); $pk->speedX = $this->motionX; $pk->speedY = $this->motionY; $pk->speedZ = $this->motionZ; $player->dataPacket($pk); $this->inventory->sendHeldItem($player); $this->inventory->sendArmorContents($player); } } else { parent::spawnTo($player); } }
/** * @param Player $player */ public function showPlayer(Player $player) { if ($player === $this) { return; } unset($this->hiddenPlayers[$player->getRawUniqueId()]); if ($player->isOnline()) { $player->spawnTo($this); } }