Ir para conteúdo
  • 0

[Dev] como comparo um arg?


mabazi

Pergunta

eu estou tentando usar igual ja me falaram a muito tempo e funcionava:

if(cmd.getName.equalsIgnoreCase("Constant")){
    if(args[0].equalsIgnoreCase("Ativo")){
        if(args[1].equalsIgnoreCase("on")){
            sender.sendMessage("Plugin Ativo");
            getConfig.set("Ativo", "s");
        }else if(args[1].equalsIgnoreCase("off")){
            sender.sendMessage("Plugin Desativo");
            getConfig.set("Ativo", "n");
        }else{
            sender.sendMessage("/Constant Ativo <on/off>");
        }
    }else if(args[0].equalsIgnoreCase("Tempo")){
        if(args[1].equalsIgnoreCase("Dia")){
            getConfig.set("Hora", "Dia");
        }else if(args[1].equalsIgnoreCase("Noite")){
            getConfig.set("Hora", "Noite");
        }else{
            sender.sendMessage("/Constant Tempo <dia/noite>");
        }
    }else{
        sender.sendMessage("/Constant <Tempo/Ativo>");
    }
}

Mas agora ele esta dando erro na primeira verificação de arg quando esta vazia  :(

 

ja tentei usar if(args[0].length != 1) mas deu erro da mesma forma...

Editado por mabazi
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

if(cmd.getName.equalsIgnoreCase("Constant")){

if (args.length < 2) {

sender.sendMessage("Falta argumentos.");

return false;

}

if(args[0].equalsIgnoreCase("Ativo")){

if(args[1].equalsIgnoreCase("on")){

sender.sendMessage("Plugin Ativo");

getConfig.set("Ativo", "s");

}else if(args[1].equalsIgnoreCase("off")){

sender.sendMessage("Plugin Desativo");

getConfig.set("Ativo", "n");

}else{

sender.sendMessage("/Constant Ativo <on/off>");

}

}else if(args[0].equalsIgnoreCase("Tempo")){

if(args[1].equalsIgnoreCase("Dia")){

getConfig.set("Hora", "Dia");

}else if(args[1].equalsIgnoreCase("Noite")){

getConfig.set("Hora", "Noite");

}else{

sender.sendMessage("/Constant Tempo <dia/noite>");

}

}else{

sender.sendMessage("/Constant <Tempo/Ativo>");

}

}

Link para o comentário
Compartilhar em outros sites

Vc está verificando se o número de argumentos está certo?

Por exemplo, se vc colocar só um argumento, vai dar erro, pq seu plugin está tentando ler o segundo argumento.

Portanto, faz uma checagem antes de comparar os argumentos usando: if(args.length == x){ //código

Editado por Soldado_08
Link para o comentário
Compartilhar em outros sites

Vc está verificando se o número de argumentos está certo?

Por exemplo, se vc colocar só um argumento, vai dar erro, pq seu plugin está tentando ler o segundo argumento.

Portanto, faz uma checagem antes de comparar os argumentos usando: if(args.length == x){ //código

ja tentei isso mas deu erro

Link para o comentário
Compartilhar em outros sites


if (command.getName.equalsIgnoreCase("constant")) {

if (args.length == 2) {

if (args[0].equalsIgnoreCase("ativo")) {

if (args[1].equalsIgnoreCase("on")) {

// continua

}else if (args[1].equalsIgnoreCase("off")) {

// continua

}

}else {

// erro se o argumento não for "ativo"

}

}else {

// erro se o número de argumentos não for 2

}

}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...