Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.projectbronze.pbbot.console;
- import java.util.ArrayList;
- import java.util.List;
- import com.projectbronze.pbbot.Core;
- import com.projectbronze.pbbot.console.ConsoleCommandManager.ConsoleCommand.ConsoleCommandAction;
- public class ConsoleCommandManager
- {
- public static class ConsoleCommand
- {
- public static interface ConsoleCommandAction
- {
- public void performCommand(String[] args);
- }
- public String name, shortname;
- public ConsoleCommandAction action;
- public int level;
- public ConsoleCommand(String name, String shortname, ConsoleCommandAction action)
- {
- this.name = name;
- this.shortname = shortname;
- this.action = action;
- }
- }
- private static List<ConsoleCommand> commands = new ArrayList<ConsoleCommand>();
- public static void addCommand(ConsoleCommand cm)
- {
- commands.add(cm);
- }
- public static void addCommand(String name, String shortname, ConsoleCommandAction action)
- {
- addCommand(new ConsoleCommand(name, shortname, action));
- }
- public static ConsoleCommand getCommandByName(String name)
- {
- for (ConsoleCommand cm : commands)
- {
- if (cm.name.equals(name) || cm.shortname.equals(name))
- {
- return cm;
- }
- }
- return null;
- }
- public static List<ConsoleCommand> getCommands()
- {
- return commands;
- }
- public static void reset()
- {
- commands.clear();
- ConsoleCommands.init();
- }
- public static void tryExecuteCommand(String text)
- {
- String[] t = text.split("\\s", 2);
- String name = t[0].toLowerCase();
- String[] args = t.length == 1 ? new String[]
- {} : t[1].split("\\s");
- ConsoleCommand cm = getCommandByName(name);
- if (cm == null)
- {
- Core.log.info("Неизвестная консольная команда");
- }
- else
- {
- cm.action.performCommand(args);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment