Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
https://pastebin.com/Z2Bh9nMjПроблема в том что когда я пишу команду типа: /ma create <arenaname> если я пишу только /ma create то выдаёт ошибку а если с названием арены то всё чики пуки. Как исправить ошибку?
А не проще просто проверить:
Как минимум потому что вариаций команд может быть БОЛЬШЕ ОДНОЙ. Т.е. если аргументов меньше (как у меня в примере) и сработает else, то возможно игрок захотел посмотреть информацию о своём клане, а не кого либо другого. Я показал общий принцип, далее он сам решит что и как.А не проще просто проверить:
if(args.length < 2) {
Error
return true;
}
Зачем использовать "else", когда есть return?
Тупые вопросы, суть одна.А не проще просто проверить:
if(args.length < 2) {
Error
return true;
}
Зачем использовать "else", когда есть return?
public void parse(String[] args, Player player) {
switch(args[0].toLowerCase()) {
case "set":
parseSet(args, player);
break;
case "delete":
parseDelete(args, player);
break;
default:
//выводить помощь
}
}
}
if(sender instanceof Player) {
parse(args, (Player) sender);
}
if(sender instanceof ConsoleCommandSender) {
parseConsole(args, (ConsoleCommandSender) sender); //отдельный метод для консоли, не все команды можно с консоли спокойно выполнить
}
А если аргумент будет в верхнем регистре?Как вариант:
Код:public void parse(String[] args, Player player) { switch(args[0]) { case "set": parseSet(args, player); break; case "delete": parseDelete(args, player); break; default: //выводить помощь } } }
ПоправилА если аргумент будет в верхнем регистре?
Особенно тебе.Как минимум потому что вариаций команд может быть БОЛЬШЕ ОДНОЙ. Т.е. если аргументов меньше (как у меня в примере) и сработает else, то возможно игрок захотел посмотреть информацию о своём клане, а не кого либо другого. Я показал общий принцип, далее он сам решит что и как.
И тебе тож большое спасибо!Как вариант:
Использовать советую так:Код:public void parse(String[] args, Player player) { switch(args[0].toLowerCase()) { case "set": parseSet(args, player); break; case "delete": parseDelete(args, player); break; default: //выводить помощь } } }
Код:if(sender instanceof Player) { parse(args, (Player) sender); } if(sender instanceof ConsoleCommandSender) { parseConsole(args, (ConsoleCommandSender) sender); //отдельный метод для консоли, не все команды можно с консоли спокойно выполнить }
if(sel.getMinimumPoint() == null && sel.getMaximumPoint() == null)
{
p.sendMessage("Выделите арену");
return true;
}
Ты саму sel проверяешь на null? Нет. А надо.У меня новая проблема я интегрировал WorldEdit и сделал проверку существует ли выделение и если его не существует то игроку пишется сообщение Выделите арену. Она выглядит вот так
И мне выдаёт ошибку NullPointerExeption. Если чё не так подправьте.Код:if(sel.getMinimumPoint() == null && sel.getMaximumPoint() == null) { p.sendMessage("Выделите арену"); return true; }
Нет не в студию я уже всё решил.Код в студию.
Нет не в студию я уже всё решил.
Лучше скажи как стирать секцию в конфиге.
А если конфиг выглядит вот так
getConfig().set("path", null);
arena:
wfrjerr: