Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Ошибка в выполнении команды

AnleaR

Участник
Пользователь
Баллы
36
Пишу плагин на уровни, фракции и т.д.
Возникли 2 ошибки. Первая - команды /level и /jedicraft не выполняются (они связаны между собой, как и с Scoreboard). Вторая - ошибка при обновлении Scoreboard.
Лог ошибок: https://hastebin.com/adutojacar.sql
Класс с командой /level: https://hastebin.com/xulerupoyi.java
Класс с командой /jedicraft: https://hastebin.com/oriqorohad.js
Класс с Scoreboard: https://hastebin.com/ijepelocup.java
Главный класс: https://hastebin.com/usebenucev.java
plugin.yml: https://hastebin.com/odoferacek.http
Дефолтный config.yml: https://hastebin.com/noduhegivi.bash
 
Пишу плагин на уровни, фракции и т.д.
Возникли 2 ошибки. Первая - команды /level и /jedicraft не выполняются (они связаны между собой, как и с Scoreboard). Вторая - ошибка при обновлении Scoreboard.
Лог ошибок: https://hastebin.com/adutojacar.sql
Класс с командой /level: https://hastebin.com/xulerupoyi.java
Класс с командой /jedicraft: https://hastebin.com/oriqorohad.js
Класс с Scoreboard: https://hastebin.com/ijepelocup.java
Главный класс: https://hastebin.com/usebenucev.java
plugin.yml: https://hastebin.com/odoferacek.http
Дефолтный config.yml: https://hastebin.com/noduhegivi.bash
Ты поверяешь args[0], когда игрок ввел просто /level, получается, что args[0] == null, тебе нужно сделать проверку на кол-во аргументов args.length == 1, а после этого проверять уже args[0].equalsIgnoreCase("set")

И впредь не сравнивай строки через ==, использую equals - с учетом регистра, equalsIgnoreCase - без учета регистра
 
Ты поверяешь args[0], когда игрок ввел просто /level, получается, что args[0] == null, тебе нужно сделать проверку на кол-во аргументов args.length == 1, а после этого проверять уже args[0].equalsIgnoreCase("set")

И впредь не сравнивай строки через ==, использую equals - с учетом регистра, equalsIgnoreCase - без учета регистра
Изменил класс с /level: https://hastebin.com/seseleqogo.java
Выводит следующие ошибки: https://hastebin.com/cudosaxate.bash
 
Изменил класс с /level: https://hastebin.com/seseleqogo.java
Выводит следующие ошибки: https://hastebin.com/cudosaxate.bash
перед получением значения из мапы, нужно удостоверится, что существует такой ключ, map.containsKey(key), а после этого уже map.get(key)...
Либо же юзать getOrDefault(key, defaultValue);
Иди основы java учи, пожалуйста :c
 

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

Назад
Верх