Войти или зарегистрироваться

Помогите Когда getPlayerExact("ник") возвращает null?

  • Автор темы Автор темы Bars
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Bars

Старожил
Девелопер
Пользователь
Баллы
173
Вот такая у меня конструкция:
Java:
long lp = Bukkit.getServer().getPlayerExact("Bars").getLastPlayed();
Игрок существует, а происходит NullPointerException на этой самой строке.
И такое не только с getLastPlayed(). Что такое?

Версия 1.6.4
 
Потому что такого игрока нет, очевидно же.
 
Таки да, вот какое тут дело:
Если например сделать команду и сделать при её выполнении вывод ника через getPlayerExact(), то он работает. Но у меня сделано так:
Main.java:
Java:
    @Override
    public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) {
        if (command.getName().equalsIgnoreCase("cmd")) {
            if ((args.length == 1) && (sender.hasPermission("my.perm"))) {
                //bla-bla-bla
                Bukkit.getScheduler().scheduleSyncDelayedTask(this, new CheckTask(this));
                return true;
            }
        }

        return false;
    }
CheckTask.java:
Java:
// Тут типа path и импорты

public class CheckTask extends BukkitRunnable { // Даже пробовал implements Runnable
    public Main plugin;

    public CheckTask(Main p) {
        this.plugin = p;
    }

    @Override
    public void run() {
        //bla-bla-bla
        // Тут getPlayerExact() и не работает
    }
}
 
Таки да, вот какое тут дело:
Если например сделать команду и сделать при её выполнении вывод ника через getPlayerExact(), то он работает. Но у меня сделано так:
Main.java:
Java:
    @Override
    public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) {
        if (command.getName().equalsIgnoreCase("cmd")) {
            if ((args.length == 1) && (sender.hasPermission("my.perm"))) {
                //bla-bla-bla
                Bukkit.getScheduler().scheduleSyncDelayedTask(this, new CheckTask(this));
                return true;
            }
        }

        return false;
    }
CheckTask.java:
Java:
// Тут типа path и импорты

public class CheckTask extends BukkitRunnable { // Даже пробовал implements Runnable
    public Main plugin;

    public CheckTask(Main p) {
        this.plugin = p;
    }

    @Override
    public void run() {
        //bla-bla-bla
        // Тут getPlayerExact() и не работает
    }
}
Какого игрока ты берешь?
 
Может быть, тогда в том плагине и проблема?
Нет. Проблема у меня, я же у себя провожу getPlayerExact, а тот плагин только предоставляет список (List<String>) игроков. Все остальные манипуляции я провожу у себя на стороне.

Я проверял всё-всё, даже так и написал getPlayerExact("ЧистоСамНик"). В моём run() не работает только.
 
Нет. Проблема у меня, я же у себя провожу getPlayerExact, а тот плагин только предоставляет список (List<String>) игроков. Все остальные манипуляции я провожу у себя на стороне.

Я проверял всё-всё, даже так и написал getPlayerExact("ЧистоСамНик"). В моём run() не работает только.
А чем getPlayer не устроил?
 
Во первых это очевидно, во вторых жабадок тоже описывает этот момент
Returns:
Player object or null if not found
То бишь возвращает null когда игрока нет на сервере.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх