1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Условие в случае, если конфиг пустой

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

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

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

    Баллы:
    66
    Практикуюсь на создании самого простого плагина.

    У меня есть всего 2 команды, пока что: /sethome и /home.

    При использовании команды /sethome, в конфиг записываются данные о его местоположении игрока. Всё работает нормально, если прописывать сначала /sethome, потом /home, но если у игрока ещё нет дома, а он прописывает команду для телепортации домой, то происходит ошибка.

    Как написать условие о том, чтобы плагин проверял есть ли данные игрока в конфиге и если нет, то отправляло ему сообщение типа "Вы ещё не установили точку дома. Используйте: /sethome.".
    upload_2020-9-27_1-48-25.png
     
  2. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Смотря как ты хранишь пользователей. Если ты ищешь по имени пользователя, то вроде так
    PHP:
        public boolean containsUser(String username) {
            return 
    getConfig().contains(username);
        }
     
  3. Автор темы
    Sitafe

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

    Баллы:
    66
    А что это будет делать? Я только вчера начал изучать java и создание плагинов, поэтому плохо пока ориентируюсь.
    И мне нужно бы условие, которое проверяло наличие игрока из конфига по его нику, а это куда надо вставить? Может стоило сразу прикрепить весь код. Уж простите, тупить буду сильно, надеюсь на вашу поддержку.
    Вот он https://pastebin.com/rGx040mc.
     
  4. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    PHP:
        public boolean containsUser(String username) {
            return 
    getConfig().contains("locations." username);
        }
    В методе onCommand:
    PHP:
                if (containsUser(p.getName())) {
                    
    //TODO
                
    } else {
                    
    //TODO
                
    }
    Будет проверять наличие игрока в конфиге
     
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну можно вот так
    Location home= this.plugin.getConfig().getObject("home", Location.class, p.getWorld().getSpawnLocation());
    Если нет записи вернет спавн мира где игрок находится.
     
  6. keepitslice

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

    Баллы:
    66
    о, блатные самописные сетхоум плуги с хранением пользователей в конфиге :cool:
     
  7. Автор темы
    Sitafe

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

    Баллы:
    66
    Вааа, спасибо всем больше, всё заработало! Вот так сделал.
    upload_2020-9-27_13-15-35.png
     
Статус темы:
Закрыта.

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