package me.desht.scrollingmenusign.commands; import java.util.List; import me.desht.dhutils.MessagePager; import me.desht.dhutils.MiscUtil; import me.desht.scrollingmenusign.MenuManager; import me.desht.scrollingmenusign.SMSMenu; import me.desht.scrollingmenusign.ScrollingMenuSign; import org.bukkit.command.CommandSender; import org.bukkit.plugin.Plugin; public class UndeleteMenuCommand extends SMSAbstractCommand { public UndeleteMenuCommand() { super("sms undelete", 1, 1); setPermissionNode("scrollingmenusign.commands.undelete"); setUsage(new String[]{ "/sms undelete <menu-name>", "/sms undelete -l", }); setOptions("l"); } @Override public boolean execute(Plugin plugin, CommandSender sender, String[] args) { MenuManager menuManager = ((ScrollingMenuSign) plugin).getMenuManager(); if (getBooleanOption("l")) { MessagePager pager = MessagePager.getPager(sender).clear().setParseColours(true); List<String> list = menuManager.listDeletedMenus(); String s = list.size() == 1 ? "" : "s"; pager.add(list.size() + " deleted menu" + s + ":"); for (String name : MiscUtil.asSortedList(menuManager.listDeletedMenus())) { pager.add(MessagePager.BULLET + " " + name); } pager.showPage(); } else { SMSMenu menu = menuManager.getDeletedMenu(args[0]); menu.ensureAllowedToModify(sender); menu = menuManager.restoreDeletedMenu(args[0]); MiscUtil.statusMessage(sender, "Restored deleted menu &e" + menu.getName() + "&-."); } return true; } @Override public List<String> onTabComplete(Plugin plugin, CommandSender sender, String[] args) { if (args.length == 1) { return getResult(((ScrollingMenuSign) plugin).getMenuManager().listDeletedMenus(), sender, true); } else { showUsage(sender); return noCompletions(sender); } } }