Ir para conteúdo

[INICIANTES] Como usar argumentos


zDubsCrazy Banido

Posts Recomendados

Vi que tem muita gente nova começando e com dificuldade em usar argumentos nos comados dos seus plugins, então vai um breve tutorial:

 

O que é String[] args?

 

É um array de String (aváh) onde estão todos os seus argumentos, exemplo:

 

Se eu digitasse /comando x y z, meu Array seria assim: {"x", "y", "z"}

 

Em prática:

if (cmd.equalsIgnoreCase("comando")) {
    if (args.length == 0) {
        // Alguma ação pra quando digitar apenas /comando (sem nenhum argumento)
        // Mande o uso correto do comando para quem digitou
        return true;
    }
    /* Agora você quer tratar seus argumentos, como fazer isso?
     * Vamos supor que você queira que ele informe 3 argumentos: x y z
     */
    if (args.length < 3) {
        // Mande o uso correto do comando para quem digitou 
        return true;
    }
    /* Ou seja, se ele digitar menos que 3 argumentos, ele será informado como usar corretamente
     * Para obter o argumento, você deve informar a posição dele, por exemplo:
     * A posição do argumento "x" seria 0
     * A posição do argumento "y" seria 1, e assim por diante (SEMPRE COMEÇA DO ZERO)
     */
    if (args[0].equalsIgnoreCase("x")) {
        // Executar alguma coisa caso ele tenha digitado /comando x <algo> <algo>
    } else {
        // Fazer algo quando ele nao digitar /comando x <algo> <algo>
    }
    // Ta, mas vamos supor que você queira obter um número, ou um Player a partir de um argumento...
    // Simples:
    Player p = Bukkit.getPlayer(args[1]);
    if (p == null) {
        // O player que ele quer não está online
        return true;
    }
    // E se quisesse obter um numero?
    try {
        int numero = Integer.valueOf(args[2]);
    } catch (NumberFormatException e) {
        // Ele nao digitou um numero como terceiro argumento
    }
    // Você pode obter o que quiser a partir dos argumentos passados
}

Então é isso, fiz bem rápido só pra esclarecer as dúvidas de quem ta começando, dúvidas comente no tópico.

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

Para que serve o return true/false ?

 

Porfavor não me humilhe ;c

Porque alguém iria te humilhar?

 

return true/false quer dizer que você está retornando um valor, veja que o metodo onCommand() é do tipo "boolean" então só pode ter esses 2 valores de retorno. Quando você retorna um valor para um metódo a execução do mesmo para. Exemplo:

if (condicao) {
    // se a condicao for verdadeira, irá cair aqui e parar
    return true;
}
// se a condicao for verdadeira, o código a partir daqui nao será executado
Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...