Помогите Проблема с использованием методов в команде.

  • Автор темы Автор темы Slavkaa
  • Дата начала Дата начала

Slavkaa

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Slavok2001
Я занимаюсь все тем же, обосранным всеми, плагином, под названием PvPStats. Вот, значит, я решил делать стату в отдельных файлах. Все вроде бы шло хорошо, почти все работало, но когда дело дошло до команды, я застопорился.
Мой код, с помощью которого я получаю стату из файла.
Java:
    public int getKills(String name) {
        return playersconf.getInt("kills");
    }
    public int getDeaths(String name) {
        return playersconf.getInt("deaths");
    }
    public int getRating(String name) {
        return playersconf.getInt("rating");
    }
Действие при входе. Выложил, т.к. там работает метод getKills.
Java:
    @EventHandler
    public void join(PlayerJoinEvent e) {
        CreateFile(e.getPlayer().getName().toLowerCase());
        int kills = getKills(e.getPlayer().getName().toLowerCase());
        e.getPlayer().sendMessage("Ваши убийства: " + String.valueOf(kills));
    }
Ну и сама команда. Всего несколько строчек, т.к. косяк появился сразу, при первом тесте.
Java:
    @Override
    public boolean onCommand(CommandSender s, Command cmd, String label, String[] args) {
        String name = s.getName().toLowerCase();
            s.sendMessage("Убийства:" + String.valueOf(this.getKills(name)));
        return true;
    }
Формат сохранения данных в файле:
Код:
kills: 1
deaths: 0
rating: 0
 
Как там может быть null? Я же написал формат сохранения. Там везде по-умолчанию "0", пустыми они быть не могут.
 
Просто у кого то конфиг нулл
 
Кстати вопрос - как рейтинг считаешь?
 
В первых трёх методах добавь дефолтное значение:
Java:
getInt("_anystring_", 0);
Доверие - штука лишняя.
 
А если сделать так?
Java:
int kills = getKills(name) == null ? 0 : getKills(name)
 
Это не будет работать, так как примитивы не могут быть null.
 
Щас буду пробовать все. Отпишусь позже.
В принципе, сам то метод работает. Почему-то команда не может нормально его вызвать.
Там я оставил кусок кода из PlayerJoinEvent. Так там при заходе, выводится сообщение "Ваши убийства: getKills(e.getPlayer...)". Все корректно, без ошибок.

Способ от @makssof не работает. Все та же ошибка.
 
Назад
Верх