Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

ивент 1 входа на сервер

Статус
Закрыто для дальнейших ответов.

VLnet

Участник
Пользователь
Баллы
36
Мне нужно что-то похожее на PlayerJoinEvent, но чтоб срабатывал только 1 раз - когда игрок 1 раз входит на сервер.
 
Java:
@EventHandler
public void onJoin(PlayerJoinEvent e) {
    Player p = e.getPlayer();

    if(!p.hasPlayedBefore()) {
        // если игрок зашёл первый раз на сервер
    }
}
 
Java:
@EventHandler
public void onJoin(PlayerJoinEvent e) {
    Player p = e.getPlayer();

    if(!p.hasPlayedBefore()) {
        // если игрок зашёл первый раз на сервер
    }
}
Java:
    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
    
        if(!p.hasPlayedBefore()) {
            getLogger().warning("1 вход");
        }else {
            getLogger().warning("Игрок играл ранее");
        }
    }
Вставил гет-логгеры, но нифига. Где я ошибся?
 
Java:
    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
   
        if(!p.hasPlayedBefore()) {
            getLogger().warning("1 вход");
        }else {
            getLogger().warning("Игрок играл ранее");
        }
    }
Вставил гет-логгеры, но нифига. Где я ошибся?
По моему гет-логгеры надо использовать так:
Java:
getLogger().log("Текст, который хочешь вывести в лог");
// или
System.out.println("Текст, который хочешь вывести в консоль сервера");

Попробуй так:

Java:
@EventHandler
public void onJoin(PlayerJoinEvent e) {
    Player p = e.getPlayer();

    if(!p.hasPlayedBefore) {
        Bukkit.broadcastMessage("Игрок " + p.getName() + " зашёл первый раз на сервер!");
        // если игрок зашёл первый раз на сервер
    } else {
        Bukkit.broadcastMessage("Игрок " + p.getName() + " зашёл не первый раз на сервер!");
        // если игрок зашёл не первый раз на сервер
    }
}
 
По моему гет-логгеры надо использовать так:
Java:
getLogger().log("Текст, который хочешь вывести в лог");
// или
System.out.println("Текст, который хочешь вывести в консоль сервера");

Попробуй так:

Java:
@EventHandler
public void onJoin(PlayerJoinEvent e) {
    Player p = e.getPlayer();

    if(!p.hasPlayedBefore) {
        Bukkit.broadcastMessage("Игрок " + p.getName() + " зашёл первый раз на сервер!");
        // если игрок зашёл первый раз на сервер
    } else {
        Bukkit.broadcastMessage("Игрок " + p.getName() + " зашёл не первый раз на сервер!");
        // если игрок зашёл не первый раз на сервер
    }
}
getLogger().(info или warning)("текст"); - выводит в консоль сервера текст с пометкой инфо или варнинг.
на счёт когда - не работает (нету сообщения в чате)
 
В onEnable() пропиши: getServer().getPluginManager().registerEvents(this, this);
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх