Ir para conteúdo

[Util] CommandAPI - Registre comandos sem plugin.yml


Lucca.

Posts Recomendados

CommandAPI

 

Bom, esta api é simples porém bem útil, ela consiste em você ''registrar'' comandos, sem necessidade de coloca-los na plugin.yml

Este plugin é funcional nas versões 1.5.X - 1.8.X

Vamos para o uso:


Primeiramente, em sua Main/onEnable coloque:

CommandAPI.setupAPI(getServer());

Agora, criaremos uma classe de comando normal, exemplo:

public class Teste implements CommandExecutor{
	
	public boolean onCommand(CommandSender sender, Command cmd, String label,
			String[] args) {
		if (label.equalsIgnoreCase("testando")){
			System.out.println("ta tranquilo");
		}
		if (label.equalsIgnoreCase("testando2")){
			System.out.println("ta favoravel");
		}
		return false;
	}

}

ok! classe criada, agora vamos ''registrar'' o comando:

Vamos no onEnable(), e colocamos:

CommandAPI.registerCommand("nomedocomando", new ClasseDoComando());

Exemplo:

CommandAPI.registerCommand("testando", new Teste());
CommandAPI.registerCommand("testando2", new Teste());

Pronto! seu comando está registrado!

 

Resultados:

V2cxgXd.png

 

GsUZJzV.png

 

Clique aqui para fazer o download.

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

To fazendo um sisteminha também, eu não gosto do sistema de comandos do bukkit, fazer oq...

package io.github.leonardosnt.testy;

import io.github.bktlib.command.Command;
import io.github.bktlib.command.CommandBase;
import io.github.bktlib.command.CommandResult;
import io.github.bktlib.command.CommandSource;
import io.github.bktlib.command.Sub;
import io.github.bktlib.command.UsageTarget;
import io.github.bktlib.command.args.CommandArgs;

@Command(
	name = "gisve",
	usageTarget = UsageTarget.BOTH, /* IN_GAME, NOT_IN_GAME */
	usage = "<qtd> [player]",
	subCommands = { "this::commandTest" },
	description = "Uma descricao bem legal"
)
public class ConcreteCommand extends CommandBase
{
    @Override
    public CommandResult onExecute(final CommandSource src, final CommandArgs args )
    {

    	return CommandResult.success();
    }
    
    @Sub @Command(name = "test")
    public CommandResult commandTest( CommandSource src, CommandArgs args )
    {
    	src.sendMessage( "workds " + args );
    	
        return CommandResult.success();
    }
}

Só falta dar umas arrumadinhas, ai vou colocar no github.

 

Não repara meu ingles de google tradutor -qq

Link para o comentário
Compartilhar em outros sites

Guest Mateus Demarchi

To fazendo um sisteminha também, eu não gosto do sistema de comandos do bukkit, fazer oq...

package io.github.leonardosnt.testy;

import io.github.bktlib.command.Command;
import io.github.bktlib.command.CommandBase;
import io.github.bktlib.command.CommandResult;
import io.github.bktlib.command.CommandSource;
import io.github.bktlib.command.Sub;
import io.github.bktlib.command.UsageTarget;
import io.github.bktlib.command.args.CommandArgs;

@Command(
	name = "gisve",
	usageTarget = UsageTarget.BOTH, /* IN_GAME, NOT_IN_GAME */
	usage = "<qtd> [player]",
	subCommands = { "this::commandTest" },
	description = "Uma descricao bem legal"
)
public class ConcreteCommand extends CommandBase
{
    @Override
    public CommandResult onExecute(final CommandSource src, final CommandArgs args )
    {

    	return CommandResult.success();
    }
    
    @Sub @Command(name = "test")
    public CommandResult commandTest( CommandSource src, CommandArgs args )
    {
    	src.sendMessage( "workds " + args );
    	
        return CommandResult.success();
    }
}

Só falta dar umas arrumadinhas, ai vou colocar no github.

 

Não repara meu ingles de google tradutor -qq

Vai disponibilizar a api?

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