package net.bitjump.bukkit.bitlib.commands; import java.util.List; import net.bitjump.bukkit.bitlib.util.MessageUtil; public abstract class PaginatedSubcommand extends Subcommand { protected int pageLength; protected int argIndex; public abstract List<String> getList(); protected void perform() { List<String> list = getList(); if(args.length <= 1) { MessageUtil.paginate(sender, list, 1, pageLength); } else { int page; int pages = MessageUtil.getPages(list.size(), this.pageLength); try { page = Integer.parseInt(args[argIndex]); } catch(Exception e) { return; } if(pages < page) { return; } MessageUtil.paginate(sender, list, page, pageLength); } } }