Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем VLnet, 8 авг 2015.

Статус темы:
Закрыта.
  1. Автор темы
    VLnet

    VLnet Участник Пользователь

    Баллы:
    36
    Skype:
    The_Vladimir_UA
    Мне нужно что-то похожее на PlayerJoinEvent, но чтоб срабатывал только 1 раз - когда игрок 1 раз входит на сервер.
     
  2. Хостинг MineCraft
    <
  3. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Код:
    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
    
        if(!p.hasPlayedBefore()) {
            // если игрок зашёл первый раз на сервер
        }
    }
     
  4. Автор темы
    VLnet

    VLnet Участник Пользователь

    Баллы:
    36
    Skype:
    The_Vladimir_UA
    Код:
        @EventHandler
        public void onJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
        
            if(!p.hasPlayedBefore()) {
                getLogger().warning("1 вход");
            }else {
                getLogger().warning("Игрок играл ранее");
            }
        }
    Вставил гет-логгеры, но нифига. Где я ошибся?
     
  5. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    По моему гет-логгеры надо использовать так:
    Код:
    getLogger().log("Текст, который хочешь вывести в лог");
    // или
    System.out.println("Текст, который хочешь вывести в консоль сервера");
    Попробуй так:

    Код:
    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
    
        if(!p.hasPlayedBefore) {
            Bukkit.broadcastMessage("Игрок " + p.getName() + " зашёл первый раз на сервер!");
            // если игрок зашёл первый раз на сервер
        } else {
            Bukkit.broadcastMessage("Игрок " + p.getName() + " зашёл не первый раз на сервер!");
            // если игрок зашёл не первый раз на сервер
        }
    }
     
  6. Автор темы
    VLnet

    VLnet Участник Пользователь

    Баллы:
    36
    Skype:
    The_Vladimir_UA
    getLogger().(info или warning)("текст"); - выводит в консоль сервера текст с пометкой инфо или варнинг.
    на счёт когда - не работает (нету сообщения в чате)
     
  7. LomNar

    LomNar Активный участник Пользователь

    Баллы:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    В onEnable() пропиши: getServer().getPluginManager().registerEvents(this, this);
     
  8. Автор темы
    VLnet

    VLnet Участник Пользователь

    Баллы:
    36
    Skype:
    The_Vladimir_UA
    оу точно, это я забыл, тогда спасибо всем за помощь, ибо все заработало =)
     
Статус темы:
Закрыта.

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