Ejemplo n.º 1
0
 public function onJoin(PlayerJoinEvent $event)
 {
     $JoinMessage = $this->getConfig()->get("JoinMessage");
     // So it can pull the users config (Message) via config :)
     $Sound = $this->getConfig()->get("Sound");
     // So it can pull the sound the user wants
     $player = $event->getPlayer();
     $event->getPlayer->sendMessage("{$JoinMessage}");
     $player->getLevel()->addSound(new $Sound($player), [$player]);
 }
Ejemplo n.º 2
0
 protected function doFirstSpawn()
 {
     $this->spawned = true;
     $this->sendSettings();
     $this->setSpeed(0.1);
     $this->sendPotionEffects($this);
     $this->sendData($this);
     $this->inventory->sendContents($this);
     $this->inventory->sendArmorContents($this);
     $pk = new SetTimePacket();
     $pk->time = $this->level->getTime();
     $pk->started = $this->level->stopTime == false;
     $this->dataPacket($pk);
     $pos = $this->level->getSafeSpawn($this);
     $this->server->getPluginManager()->callEvent($ev = new PlayerRespawnEvent($this, $pos));
     $pos = $ev->getRespawnPosition();
     $pk = new RespawnPacket();
     $pk->x = $pos->x;
     $pk->y = $pos->y;
     $pk->z = $pos->z;
     $this->dataPacket($pk);
     $pk = new PlayStatusPacket();
     $pk->status = PlayStatusPacket::PLAYER_SPAWN;
     $this->dataPacket($pk);
     $this->server->getPluginManager()->callEvent($ev = new PlayerJoinEvent($this, new TranslationContainer(TextFormat::YELLOW . "%multiplayer.player.joined", [$this->getDisplayName()])));
     if (strlen(trim($ev->getJoinMessage())) > 0) {
         $this->server->broadcastMessage($ev->getJoinMessage());
     }
     $this->noDamageTicks = 60;
     foreach ($this->usedChunks as $index => $c) {
         Level::getXZ($index, $chunkX, $chunkZ);
         foreach ($this->level->getChunkEntities($chunkX, $chunkZ) as $entity) {
             if ($entity !== $this and !$entity->closed and $entity->isAlive()) {
                 $entity->spawnTo($this);
             }
         }
     }
     $this->teleport($pos);
     $this->spawnToAll();
     $this->updateExperience();
     $this->setHealth($this->getHealth());
     $this->setFood($this->getFood());
     if ($this->getHealth() <= 0) {
         $pk = new RespawnPacket();
         $pos = $this->getSpawn();
         $pk->x = $pos->x;
         $pk->y = $pos->y;
         $pk->z = $pos->z;
         $this->dataPacket($pk);
     }
     $this->getLevel()->broadcastWeather($this->getLevel()->getWeather(), $this);
 }