Search in sources :

Example 6 with AbstractCommand

use of com.builtbroken.mc.core.commands.prefab.AbstractCommand in project Engine by VoltzEngine-Project.

the class CommandUser method getHelpOutput.

@Override
public void getHelpOutput(ICommandSender sender, List<String> items) {
    List<String> commands;
    for (AbstractCommand command : subCommands) {
        commands = new ArrayList();
        command.getHelpOutput(sender, commands);
        for (String s : commands) {
            items.add("[name] " + command.getCommandName() + " " + s);
        }
    }
}
Also used : AbstractCommand(com.builtbroken.mc.core.commands.prefab.AbstractCommand) ArrayList(java.util.ArrayList)

Example 7 with AbstractCommand

use of com.builtbroken.mc.core.commands.prefab.AbstractCommand in project Engine by VoltzEngine-Project.

the class CommandUser method handleConsoleCommand.

@Override
public boolean handleConsoleCommand(ICommandSender sender, String[] args) {
    if (isHelpCommand(args)) {
        handleHelp(sender, args);
    } else {
        String name = args[0];
        AccessUser user = GroupProfileHandler.GLOBAL.getAccessProfile().getUserAccess(name);
        if (user != null && user.getGroup() != null) {
            if (args.length > 1) {
                for (AbstractCommand command : subCommands) {
                    if (command instanceof UserSubCommand && command.getCommandName().equalsIgnoreCase(args[1])) {
                        if (((UserSubCommand) command).handle(sender, user, removeFront(args, 2))) {
                            return true;
                        }
                    }
                }
            }
            sender.addChatMessage(new ChatComponentText("Unknown user sub command"));
        } else {
            sender.addChatMessage(new ChatComponentText("User not found in permissions profile"));
        }
    }
    return true;
}
Also used : UserSubCommand(com.builtbroken.mc.core.commands.ext.UserSubCommand) AbstractCommand(com.builtbroken.mc.core.commands.prefab.AbstractCommand) ChatComponentText(net.minecraft.util.ChatComponentText) AccessUser(com.builtbroken.mc.framework.access.AccessUser)

Example 8 with AbstractCommand

use of com.builtbroken.mc.core.commands.prefab.AbstractCommand in project Engine by VoltzEngine-Project.

the class TestAbstractCommand method testCombineArgs.

@Test
public void testCombineArgs() {
    AbstractCommand command = new AbstractCommand("command");
    String[] args = new String[] { "Hi", "we", "love", "testing", ":p" };
    String combined = command.combine(args);
    assertTrue(combined.equals("Hi we love testing :p"));
    combined = command.combine(args, 0, 2);
    assertTrue(combined.equals("Hi we"));
    combined = command.combine(args, 2, 4);
    assertTrue(combined.equals("love testing"));
}
Also used : AbstractCommand(com.builtbroken.mc.core.commands.prefab.AbstractCommand) AbstractTest(com.builtbroken.mc.testing.junit.AbstractTest) Test(org.junit.Test)

Aggregations

AbstractCommand (com.builtbroken.mc.core.commands.prefab.AbstractCommand)8 ArrayList (java.util.ArrayList)3 ChatComponentText (net.minecraft.util.ChatComponentText)3 AbstractTest (com.builtbroken.mc.testing.junit.AbstractTest)2 Test (org.junit.Test)2 GroupSubCommand (com.builtbroken.mc.core.commands.ext.GroupSubCommand)1 UserSubCommand (com.builtbroken.mc.core.commands.ext.UserSubCommand)1 AccessGroup (com.builtbroken.mc.framework.access.AccessGroup)1 AccessUser (com.builtbroken.mc.framework.access.AccessUser)1