package me.desht.scrollingmenusign.commands; import java.util.List; import me.desht.dhutils.MiscUtil; import me.desht.scrollingmenusign.SMSException; import me.desht.scrollingmenusign.SMSHandler; import me.desht.scrollingmenusign.SMSMenu; import me.desht.scrollingmenusign.ScrollingMenuSign; import me.desht.scrollingmenusign.views.SMSView; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; public class DeleteMenuCommand extends SMSAbstractCommand { public DeleteMenuCommand() { super("sms delete", 0, 1); setPermissionNode("scrollingmenusign.commands.delete"); setUsage("/sms delete <menu>"); } @Override public boolean execute(Plugin plugin, CommandSender sender, String[] args) throws SMSException { SMSHandler handler = ((ScrollingMenuSign) plugin).getHandler(); SMSMenu menu; if (args.length > 0) { menu = getMenu(sender, args[0]); } else { notFromConsole(sender); Player player = (Player) sender; SMSView view = ((ScrollingMenuSign) plugin).getViewManager().getTargetedView(player, true); menu = view.getActiveMenu(player); } menu.ensureAllowedToModify(sender); handler.deleteMenu(menu.getName()); MiscUtil.statusMessage(sender, "Deleted menu &e" + menu.getName() + "&-. Use &f/sms undelete " + menu.getName() + "&- to restore it."); return true; } @Override public List<String> onTabComplete(Plugin plugin, CommandSender sender, String[] args) { if (args.length == 1) { return getMenuCompletions(plugin, sender, args[0]); } else { showUsage(sender); return noCompletions(sender); } } }