Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.
Закрыт 1 год назад.
Проблема в том, что когда плагин начинает работать, то выполняется только одно действие например если первым поставить проверку игрока, то проверка и будет, но на проверку аргументов будет выдавать ошибку, и наоборот, как сделать, чтобы было обе проверки? Вот код:
if (Bukkit.getPlayer(args[0])==null) {
player.sendMessage(ChatColor.RED+"Игрок не в сети!");
return true;
}
if (args.length==0||args.length>=2) {
player.sendMessage(ChatColor.RED+"Ошибка, пишите /call [игрок]");
return true;
}
Вам сначала нужно проверить корректность аргументов, а потом проверить находится ли игрок в сети, т.е. просто поменять if-ы местами. Если не передать ни одного аргумента и сразу не проверить что передано необходимое их количество, а сначала пробовать читать первый аргумент - будет ошибка обращения к элементу за границами массива.
Технически - сначала нужно проверить что в массиве есть хотя бы один элемент (или ровно один), а потом уже обращаться к первому элементу массива.
// Если нужно чтобы был передан ровно один аргумент, достаточно такого условия:
if (args.length!=1) {
player.sendMessage(ChatColor.RED+"Ошибка, пишите /call [игрок]");
return true;
}
if (Bukkit.getPlayer(args[0])==null) {
player.sendMessage(ChatColor.RED+"Игрок не в сети!");
return true;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я хочу сделать игру платформер (используя Processing) и столкнулся с такой проблемойУ меня есть 2 типа блоков: стационарные (неподвижные) и те которые...
Появилась ошибка в Eclipse Window Builder Я в eclipse новичок, не знаю как исправить!
Как создать постер к видео с помощью canvas и js чтоб постеры к видео создавались при загрузке страницы с видео ну или создавались при загрузке...
Сегодня мой друг сделал приватный сервер из одной браузерной игры под названием starveio