Информация [WIKI] Terra.ya1.ru: Divide and Conquer (Conquest)

Статус
В этой теме нельзя размещать новые ответы.
При отсутствии аргумента к команде было невозможно получить несуществующий аргумент.
Собсна, в общем без понятия как нам исключить такую ситуацию другим способом.
Ведём яростное костылирование имеющихся плюшек.
Код:
//Сезон велосипедистов открыт, в методах выполнения команд есть фильтрация пустых переменных,
//пусть тогда жрут пустые переменные, а не исключения.
public static String getArg(String[] args, int index){
    try{
        args[index].length(); //Не делает НИЧЕГО, спецом нарочно натыкается на исключения.
        return args[index];
    }catch(ArrayIndexOutOfBoundsException e){
        return "";
    }
}
case("region"):
    switch(getArg(args,1)){
        case("setowner"): Regions.setOwner(invoker, getArg(args,2));  break;
        case("setbuild"): Regions.setBuild(invoker, getArg(args,2));  break;
        case("settype"):  Regions.setType(invoker, getArg(args,2));   break;
        case("tp"):       Regions.regionTp(invoker, getArg(args,2));  break;
        case("info"):     Regions.regionInfo(invoker,getArg(args,2)); break;
    }
break;
Код:
//Если же пропихнуть Regions.setOwner(invoker, args[2]); break;
//Мы получим оплеуху в виде исключения,
//так как элемента под номером 2 не существует и размер строкового массива args[] меньше чем требуется.
org.bukkit.command.CommandException: Unhandled exception executing command 'cq' in plugin TerraConquest v0.5a
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
Тестирование TerraConquest in a nutshell.
Посмотреть вложение 61732
А дай мне ссылку или на обмен твой текстурпак или мод. Пожжалллуййссстттааа
 
При отсутствии аргумента к команде было невозможно получить несуществующий аргумент.
Собсна, в общем без понятия как нам исключить такую ситуацию другим способом.
Ведём яростное костылирование имеющихся плюшек.
Код:
//Сезон велосипедистов открыт, в методах выполнения команд есть фильтрация пустых переменных,
//пусть тогда жрут пустые переменные, а не исключения.
public static String getArg(String[] args, int index){
    try{
        args[index].length(); //Не делает НИЧЕГО, спецом нарочно натыкается на исключения.
        return args[index];
    }catch(ArrayIndexOutOfBoundsException e){
        return "";
    }
}
case("region"):
    switch(getArg(args,1)){
        case("setowner"): Regions.setOwner(invoker, getArg(args,2));  break;
        case("setbuild"): Regions.setBuild(invoker, getArg(args,2));  break;
        case("settype"):  Regions.setType(invoker, getArg(args,2));   break;
        case("tp"):       Regions.regionTp(invoker, getArg(args,2));  break;
        case("info"):     Regions.regionInfo(invoker,getArg(args,2)); break;
    }
break;
Код:
//Если же пропихнуть Regions.setOwner(invoker, args[2]); break;
//Мы получим оплеуху в виде исключения,
//так как элемента под номером 2 не существует и размер строкового массива args[] меньше чем требуется.
org.bukkit.command.CommandException: Unhandled exception executing command 'cq' in plugin TerraConquest v0.5a
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
Тестирование TerraConquest in a nutshell.
Посмотреть вложение 61732
Фотошоп ?
 
Реализован групповой чат, можно чатится в общем чате и в командном.
Переключение чатов работает как в пати. /cq chat - команда для переключения каналов чатов. (Её аналог /ch)
2014-07-15_20.49.39.png
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху