Ir para conteúdo

Meu modesto sistema de comandos.


leonardosc

Posts Recomendados

Agora eu to com preguiça de fazer um tutorial explicado sobre ele, vou deixar o link dos exemplos e da documentação (que ainda está incompleta.)
 
Repo
 
ExampleCommand.java
 

 

package io.github.leonardosnt.testy;

import io.github.bktlib.command.CommandBase;
import io.github.bktlib.command.CommandResult;
import io.github.bktlib.command.CommandSource;
import io.github.bktlib.command.UsageTarget;
import io.github.bktlib.command.annotation.Command;
import io.github.bktlib.command.annotation.SubCommand;
import io.github.bktlib.command.args.CommandArgs;
import io.github.bktlib.common.Strings;

@Command(
    name = "monei",
    usageTarget = UsageTarget.BOTH,
    usage = "",
    subCommands = {
            "this::*"
    },
    description = "Uma descricao bem legal"
)
public class ExampleCommand extends CommandBase
{
    @Override
    public CommandResult onExecute(final CommandSource src, final CommandArgs args )
    {
        getSubCommands().stream()
                .map( subCmd -> Strings.of( subCmd.getName(), " - ", subCmd.getDescription().orElse("Nenhuma descricao") ))
                .forEach( src::sendMessage );
        
        return CommandResult.success();
    }
    
    @SubCommand( name = "add")
    CommandResult subCommandAdd( CommandSource src, CommandArgs args )
    {
        if ( args.isEmpty() )
        {
            src.sendMessage("qtd");
        }
        else
        {
            double qtd = args.tryGetAsDouble(0, arg ->
                CommandResult.fail( "Numero invalido (%s)", arg )
            );

            src.sendMessage("Adicionado %s", qtd);
        }

        return CommandResult.success();
    }
    
    @SubCommand( name = "remove" )
    CommandResult subCommandRemove( CommandSource src, CommandArgs args )
    {
        return CommandResult.success();
    }
} 

 


 
EZCommand.java
 

 

package io.github.leonardosnt.testy;

import io.github.bktlib.command.*;
import io.github.bktlib.command.annotation.Command;
import io.github.bktlib.command.annotation.SubCommand;
import io.github.bktlib.command.args.CommandArgs;

@Command(
    name = "ez",
    usageTarget = UsageTarget.BOTH, 
    usage = "...",
    subCommands = { // ou " this::* " ou " this::[cmd,potion,kit,party,potions] "
            "this::[cmd, kit, points]"
    },
    description = "..."
)
public class EZCommands extends CommandBase
{
    @Override
    public CommandResult onExecute(CommandSource src, CommandArgs args)
    {
        getSubCommands().stream().map( CommandBase::getName ).forEach( src::sendMessage );
        
        return CommandResult.success();
    }

    @SubCommand( name = "cmd"  )
    CommandResult cmd( CommandSource src, CommandArgs args)
    {
        /*
             ez cmd -b <evento> <comando> = Bloquear um comando
             ez cmd -r <evento> <comando> = Remover um comando bloqueado
             ez cmd -c <evento> = Limpar comandos bloqueados
             ez cmd -l <evento> = Ver a lista de comandos bloqueados
         */
        return CommandResult.success();
    }

    @SubCommand( name = "potion"  )
    CommandResult potion( CommandSource src, CommandArgs args )
    {
        /*
             ez potion -b <evento> <id> = Bloquear uma poção no evento
             ez potion -r <evento> <id> = Remover uma poção bloqueada
             ez potion -c <evento> = Limpar pots bloqueados
             ez potion -l <evento> = Ver lista de pots bloqueadas
             ez potion -ids = Obter os IDs das poções do jogo
         */
        return CommandResult.success();
    }

    @SubCommand( name = "kit"  )
    CommandResult kit( CommandSource src, CommandArgs args )
    {
       /*
             ez kit -p <evento> <nome> = Permitir que um kit possa ser usado
             ez kit -b <evento> <nome> = Bloquear que um kit possa ser usado
             ez kit -l <evento> = Visualizar kits permitidos e bloqueados
             ez kit -c <evento> = Limpar dados de kits do evento
             ez kit -r <nome> = Remover um kit do plugin (apaga totalmente)
             ez kit price <valor> = Modifica o preço de um kit
             ez kit armor <valor> = Define a armadura do kit como a que você está usando
             ez kit contents <valor> = Define os itens do kit como os que você tem no inventário
        */
        return CommandResult.success();
    }

    @SubCommand( name = "party"  )
    CommandResult party( CommandSource src, CommandArgs args )
    {
        /*
             ez party -e <evento> = Ativa as partys no evento
             ez party -d <evento> = Desativa partys no evento
             ez party -l <evento> <quantia> = Define a quantia máxima de jogadores por party
         */
        return CommandResult.success();
    }

    @SubCommand( name = "points"  )
    CommandResult points( CommandSource src, CommandArgs args )
    {
        /*
             ez points add <player> <quantia> = Creditar pontos à um jogador
             ez points rem <player> <quantia> = Debitar pontos de um jogador
             ez points set <player> <quantia> = Modificar pontos de um jogador
             ez points coins <quantia> = Define quanto 01 ponto vale em coins
         */
        return CommandResult.success();
    }
} 

 


 
Docs

Link para o comentário
Compartilhar em outros sites

Agora eu to com preguiça de fazer um tutorial explicado sobre ele, vou deixar o link dos exemplos e da documentação (que ainda está incompleta.)

 

Repo

 

ExampleCommand.java

 

 

 

package io.github.leonardosnt.testy;

import io.github.bktlib.command.CommandBase;
import io.github.bktlib.command.CommandResult;
import io.github.bktlib.command.CommandSource;
import io.github.bktlib.command.UsageTarget;
import io.github.bktlib.command.annotation.Command;
import io.github.bktlib.command.annotation.SubCommand;
import io.github.bktlib.command.args.CommandArgs;
import io.github.bktlib.common.Strings;

@Command(
    name = "monei",
    usageTarget = UsageTarget.BOTH,
    usage = "",
    subCommands = {
            "this::*"
    },
    description = "Uma descricao bem legal"
)
public class ExampleCommand extends CommandBase
{
    @Override
    public CommandResult onExecute(final CommandSource src, final CommandArgs args )
    {
        getSubCommands().stream()
                .map( subCmd -> Strings.of( subCmd.getName(), " - ", subCmd.getDescription().orElse("Nenhuma descricao") ))
                .forEach( src::sendMessage );
        
        return CommandResult.success();
    }
    
    @SubCommand( name = "add")
    CommandResult subCommandAdd( CommandSource src, CommandArgs args )
    {
        if ( args.isEmpty() )
        {
            src.sendMessage("qtd");
        }
        else
        {
            double qtd = args.tryGetAsDouble(0, arg ->
                CommandResult.fail( "Numero invalido (%s)", arg )
            );

            src.sendMessage("Adicionado %s", qtd);
        }

        return CommandResult.success();
    }
    
    @SubCommand( name = "remove" )
    CommandResult subCommandRemove( CommandSource src, CommandArgs args )
    {
        return CommandResult.success();
    }
} 

 

 

 

EZCommand.java

 

 

 

package io.github.leonardosnt.testy;

import io.github.bktlib.command.*;
import io.github.bktlib.command.annotation.Command;
import io.github.bktlib.command.annotation.SubCommand;
import io.github.bktlib.command.args.CommandArgs;

@Command(
    name = "ez",
    usageTarget = UsageTarget.BOTH, 
    usage = "...",
    subCommands = { // ou " this::* " ou " this::[cmd,potion,kit,party,potions] "
            "this::[cmd, kit, points]"
    },
    description = "..."
)
public class EZCommands extends CommandBase
{
    @Override
    public CommandResult onExecute(CommandSource src, CommandArgs args)
    {
        getSubCommands().stream().map( CommandBase::getName ).forEach( src::sendMessage );
        
        return CommandResult.success();
    }

    @SubCommand( name = "cmd"  )
    CommandResult cmd( CommandSource src, CommandArgs args)
    {
        /*
             ez cmd -b <evento> <comando> = Bloquear um comando
             ez cmd -r <evento> <comando> = Remover um comando bloqueado
             ez cmd -c <evento> = Limpar comandos bloqueados
             ez cmd -l <evento> = Ver a lista de comandos bloqueados
         */
        return CommandResult.success();
    }

    @SubCommand( name = "potion"  )
    CommandResult potion( CommandSource src, CommandArgs args )
    {
        /*
             ez potion -b <evento> <id> = Bloquear uma poção no evento
             ez potion -r <evento> <id> = Remover uma poção bloqueada
             ez potion -c <evento> = Limpar pots bloqueados
             ez potion -l <evento> = Ver lista de pots bloqueadas
             ez potion -ids = Obter os IDs das poções do jogo
         */
        return CommandResult.success();
    }

    @SubCommand( name = "kit"  )
    CommandResult kit( CommandSource src, CommandArgs args )
    {
       /*
             ez kit -p <evento> <nome> = Permitir que um kit possa ser usado
             ez kit -b <evento> <nome> = Bloquear que um kit possa ser usado
             ez kit -l <evento> = Visualizar kits permitidos e bloqueados
             ez kit -c <evento> = Limpar dados de kits do evento
             ez kit -r <nome> = Remover um kit do plugin (apaga totalmente)
             ez kit price <valor> = Modifica o preço de um kit
             ez kit armor <valor> = Define a armadura do kit como a que você está usando
             ez kit contents <valor> = Define os itens do kit como os que você tem no inventário
        */
        return CommandResult.success();
    }

    @SubCommand( name = "party"  )
    CommandResult party( CommandSource src, CommandArgs args )
    {
        /*
             ez party -e <evento> = Ativa as partys no evento
             ez party -d <evento> = Desativa partys no evento
             ez party -l <evento> <quantia> = Define a quantia máxima de jogadores por party
         */
        return CommandResult.success();
    }

    @SubCommand( name = "points"  )
    CommandResult points( CommandSource src, CommandArgs args )
    {
        /*
             ez points add <player> <quantia> = Creditar pontos à um jogador
             ez points rem <player> <quantia> = Debitar pontos de um jogador
             ez points set <player> <quantia> = Modificar pontos de um jogador
             ez points coins <quantia> = Define quanto 01 ponto vale em coins
         */
        return CommandResult.success();
    }
} 

 

 

 

Docs

Eu pago pal pra esse sistema de 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...