Ir para conteúdo

[TUTORIAL] Comando editável


Laravel 8 em Pessoa

Posts Recomendados

Bem este tutorial é simples, apenas vou ensinar a criar comandos com nome costum(pode pegar da config só editar), sem ter de registar na plugin.yml.

 

Primeiramente não vamos usar o CommandExecutor mas sim o BukkitCommand e implementar todos os métodos:

import org.bukkit.command.CommandSender;
import org.bukkit.command.defaults.BukkitCommand;

import java.util.List;

public class Tutorial extends BukkitCommand {

    public Tutorial(String name, String description, String usageMessage, List<String> aliases) {
      super(name, description, usageMessage, aliases);
    }

    @Override
    public boolean execute(CommandSender commandSender, String s, String[] strings) {
      //Seu codigo
      return false;
    }
        
}

Após isso vamos criar um método para guardar os comandos.

    private void registerCommand(String key, BukkitCommand command) {
        try {

            final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap");

            bukkitCommandMap.setAccessible(true);
            CommandMap commandMap = (CommandMap) bukkitCommandMap.get(Bukkit.getServer());

            commandMap.register("command" + key, command);
        } catch (IllegalAccessException | NoSuchFieldException e) {
            e.printStackTrace();
        }
    }

Agora é só colocar na hora de iniciar o plugin.

    @Override
    public void onEnable() {
        registerCommand("NomeDoComando", 
                        new Tutorial("nome do comando", "descrição", "como se usa o comadno",
                                     Arrays.asList("outra maneira de usar o comando", "ainda outra maneira de usar o comando"));
    }

 

É isso.

Editado por Deus
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...