Ir para conteúdo

Java - Comandos com anotações!


Manolo8

Posts Recomendados

Bem, criei um código para você poder criar comandos por anotações, no estilo:

 

@Command(command = "abigos", permission = "abigos.user")
public class Abigos
{

    private final MeuPlugin plugin;

    public Abigos(MeuPlugin plugin)
    {
       this.plugin = plugin;
    }

    @SubCommand(subCommand = "adicionar",
            aliases = "add add2 add3 add100",
            permission = "abigos.user.add",
            minArgs = 3,
            maxArgs = -1,
            playerOnly = true,
            usage = "/abigos adicionar <nome>")
    public void addAmigo(CommandSender sender, String[] args)
    {
        //Seu comandos :)
    }
}

 

Uso:

 

você adiciona os comandos no seu plugin.yml,

e então:

cria um command manager:

CommandManager cmd = new CommandManager();

pega os comandos, e adiciona a ele:

getCommand("nomedocmd").setExecutor(cmd);

Crie uma classe do comando igual a do spoiler, e então:

cmd.addCommand(new Amigo(this));

Se você não entender, mande-me uma PM :)

 

Download do source: https://mega.nz/#!K8JXjYjJ!GCy0Myj9Nf0BUIPARmFgA1o_1lnavjlQjxSrKzrnPRY

 

Se querer um exemplo, mande-me uma PM pedindo '-'

 

 


Ah, esqueci, também tem um para se você quiser algum comando personalizado, tipo /souls <player>:

 

é só adicionar um método:

@DefaultCommand
void default(CommandSender sender, String[] args)
{
   //Método padrão '-' (tem que ter a permissão do @Command)
}
Editado por Manolo8
Link para o comentário
Compartilhar em outros sites

Ja fiz isso, no bukkit, faz tempo, eu peefiro assim tambem, fica mais dinâmico.

 

Fiz tambem pro rocket em c# tmb...

 

Coloca pra registrar os comandos automaticamente, tipo o que eu fiz, fica melhor...

 

Coloca a source no github...

 

Boa :)

Link para o comentário
Compartilhar em outros sites

Ja fiz isso, no bukkit, faz tempo, eu peefiro assim tambem, fica mais dinâmico.

 

Fiz tambem pro rocket em c# tmb...

 

Coloca pra registrar os comandos automaticamente, tipo o que eu fiz, fica melhor...

 

Coloca a source no github...

 

Boa :)

 

Para registar automaticamente ficaria melhor e não... Gosto que o pessoal coloca o comando no plugin.yml... Mas tou pensando em um jeito de editar o plugin.yml para adicionar o comando '-'

 

Muito bom, tava pensando em fazer isso tbm

 

Obrigado :)

Link para o comentário
Compartilhar em outros sites

Legal, ainda prefiro o plugin.yml porcausa das suas diversidades na hora de registrar o comando, mas é bom para registrar alguns comandos temporários em projetos grandes.

 Adiciona suporte a alias e parabens!

 

Você pode adicionar o comando no plugin.yml... Pode adicionar aliases lá também... (Na verdade só funciona se você adicionar lá)

 

A única coisa que muda é a organização do comando...

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...