package me.desht.scrollingmenusign.commands; import java.util.List; import me.desht.dhutils.MiscUtil; import me.desht.scrollingmenusign.SMSException; import me.desht.scrollingmenusign.SMSMacro; import me.desht.scrollingmenusign.SMSPersistence; import org.bukkit.command.CommandSender; import org.bukkit.plugin.Plugin; public class RemoveMacroCommand extends SMSAbstractCommand { public RemoveMacroCommand() { super("sms macro remove", 1, 2); setPermissionNode("scrollingmenusign.commands.macro"); setUsage("/sms macro remove <macro> [<command-index>]"); } @Override public boolean execute(Plugin plugin, CommandSender sender, String[] args) { if (args.length == 1) { SMSMacro.removeMacro(args[0]); MiscUtil.statusMessage(sender, "Removed macro &e" + args[0] + "&-."); } else { try { int index = parseNumber(args[1]); SMSMacro.getMacro(args[0]).removeLine(index - 1); MiscUtil.statusMessage(sender, "Removed command #" + index + " from macro &e" + args[0] + "&-."); } catch (IndexOutOfBoundsException e) { throw new SMSException("invalid index: " + args[1]); } } SMSPersistence.saveMacros(); return true; } @Override public List<String> onTabComplete(Plugin plugin, CommandSender sender, String[] args) { switch (args.length) { case 1: return getMacroCompletions(sender, args[0]); default: showUsage(sender); return noCompletions(sender); } // TODO handle 2-argument case } }