2016-11-22 4 views
0

У меня есть плагин, который отправляет сообщение игроку, когда он присоединяется:Как обнаружить, если игрок играл до того

@EventHandler 
public void onPlayerJoin(PlayerJoinEvent p){ 
    Player a = p.getPlayer(); 

    a.sendMessage(ChatColor.BLUE + "Welcome message"); 
} 

То, что я хочу, чтобы отправить игрока два возможных сообщения, когда он присоединяется:

  • Один, если это первый раз, когда игрок присоединился к серверу, как «Добро пожаловать на сервер»

  • другой, если игрок уже до того присоединился к серверу. Как это можно сделать?

Как я могу проверить, играл ли игрок, так что я могу настроить это поведение?

ответ

1

Объекта Player имеет метод, чтобы определить, если игрок уже играл на сервере до:

yourPlayer.hasPlayedBefore(); 

Этого метод возвращает логическое значение, которое истинно, если игрок уже играл на сервере, и ложь в противном случае.

Вы можете настроить приветственные сообщения, как игрок присоединяется к серверу с кодом, который выглядит следующим образом:

@EventHandler 
public void onPlayerJoin(PlayeRJoinEvent p) { 
    Player a = p.getPlayer(); 

    boolean hasPlayed = a.hasPlayedBefore(); 

    if (hasPlayed){ 
     a.sendMessage("Welcome back to the server!"); 
    }else { 
     a.sendMessage("Welcome to our server! This is your first time playing!" 
    } 
} 

Булева сохраняется с игроками, так что всегда будет ситуация из игрок, если он играл до или нет. Даже если сервер перезагрузится или мир изменится (если папка игроков не удалена)

+0

спасибо Kerooker, которые помогают мне alots , но сохранит ли булевский игровой процесс? Я имею в виду, если я перезапущу сервер, он все еще помнит данные каждого игрока? – weaz19

+0

@ weaz19 Да. player.hasPlayedBefore() сохраняется навсегда в папке данных ваших игроков. – Kerooker

+0

@ weaz19 Кроме того, добро пожаловать в SO! Не забывайте отмечать ответ зеленой проверкой (принятым ответом), чтобы помочь другим пользователям, которые могут иметь одинаковую проблему. – Kerooker

 Смежные вопросы

  • Нет связанных вопросов^_^