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

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

Sitafe

Активный участник
Пользователь
Баллы
66
Практикуюсь на создании самого простого плагина.

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

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

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

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

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

Как написать условие о том, чтобы плагин проверял есть ли данные игрока в конфиге и если нет, то отправляло ему сообщение типа "Вы ещё не установили точку дома. Используйте: /sethome.".
Посмотреть вложение 57784
Смотря как ты хранишь пользователей. Если ты ищешь по имени пользователя, то вроде так
PHP:
    public boolean containsUser(String username) {
        return getConfig().contains(username);
    }
 
А что это будет делать? Я только вчера начал изучать java и создание плагинов, поэтому плохо пока ориентируюсь.
И мне нужно бы условие, которое проверяло наличие игрока из конфига по его нику, а это куда надо вставить? Может стоило сразу прикрепить весь код. Уж простите, тупить буду сильно, надеюсь на вашу поддержку.
Вот он https://pastebin.com/rGx040mc.
 
А что это будет делать? Я только вчера начал изучать java и создание плагинов, поэтому плохо пока ориентируюсь.
И мне нужно бы условие, которое проверяло наличие игрока из конфига по его нику, а это куда надо вставить? Может стоило сразу прикрепить весь код. Уж простите, тупить буду сильно, надеюсь на вашу поддержку.
Вот он https://pastebin.com/rGx040mc.

PHP:
    public boolean containsUser(String username) {
        return getConfig().contains("locations." + username);
    }
В методе onCommand:
PHP:
            if (containsUser(p.getName())) {
                //TODO
            } else {
                //TODO
            }
А что это будет делать?
Будет проверять наличие игрока в конфиге
 
Ну можно вот так
Location home= this.plugin.getConfig().getObject("home", Location.class, p.getWorld().getSpawnLocation());
Если нет записи вернет спавн мира где игрок находится.
 
о, блатные самописные сетхоум плуги с хранением пользователей в конфиге :cool:
 
Вааа, спасибо всем больше, всё заработало! Вот так сделал.
upload_2020-9-27_13-15-35.png
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх