package me.desht.scrollingmenusign.commands; import java.util.List; import me.desht.dhutils.MessagePager; import me.desht.scrollingmenusign.SMSMacro; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.plugin.Plugin; public class ListMacroCommand extends SMSAbstractCommand { public ListMacroCommand() { super("sms macro list", 0, 1); setPermissionNode("scrollingmenusign.commands.macro"); setUsage("/sms macro list [<macro-name>]"); } @Override public boolean execute(Plugin plugin, CommandSender sender, String[] args) { MessagePager pager = MessagePager.getPager(sender).clear().setParseColours(true); if (args.length == 0) { pager.add("&e" + SMSMacro.getMacros().size() + " macros:"); for (SMSMacro m : SMSMacro.listMacros(true)) { pager.add(MessagePager.BULLET + ChatColor.WHITE + m.getName() + " &e[" + m.getLines().size() + " lines]"); } } else { int i = 1; SMSMacro m = SMSMacro.getMacro(args[0], false); pager.add("&fMacro &e" + m.getName() + "&f [" + m.getLines().size() + " lines]:"); for (String l : m.getLines()) { pager.add(" &e" + i++ + ") &f" + l.replace(" && ", " &&&& ")); } } pager.showPage(); 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); } } }