public boolean unresolved(CommandSender sender, String[] args) { int myPage = 1; if (args.length == CMD_ARGS) { try { myPage = Integer.parseInt(args[1]); } catch(NumberFormatException e) { return false; } } else if (args.length > CMD_ARGS) { return false; } String userReports = "unresolved reports:\n"; BasicDBObject query = new BasicDBObject(); query.put("status","unresolved"); DBCursor cursor = table.find(query); while (cursor.hasNext()) { DBObject element = cursor.next(); //TODO should probably use a stringbuilder? depends if you believe in them userReports += "ID: " + element.get("bugID") + " | user: " + element.get("user") + " | issue: " + element.get("issue") + " | date: " + element.get("createdDate") + "\n"; } ChatPage page = ChatPaginator.paginate(userReports,myPage); for (String line : page.getLines()) { sender.sendMessage(line); } return true; }
public boolean thelp(CommandSender sender, String[] args) { int myPage; if (args.length < 2) myPage = 1; else { try { myPage = Integer.parseInt(args[1]); } catch (NumberFormatException e) { myPage = 1; } } String message; message = "/kit for a starter kit of gear\n" + "/spawn to teleport to the spawn point, or to your tribe's 'spawn' teleport\n" + "/ttp help for help with ttp and teleporting\n" + "/t create [tribe] can be used to create a tribe\n" + "/t destroy [yourtribe] can be used to dissolve your tribe\n" + "/t invite [player] to invite them to your tribe\n" + "/t uninvite [player] to remove them from your invitese\n" + "/t join [tribe] to join a tribe you have been invited to\n" + "/t kick [player] to kick someone from your tribe\n" + "/t leave to leave your tribe (you cannot be the leader)\n" + "/t giveLeader [player] to transfer your leadership to another player\n" + "/t show [tribe] show information about a tribe\n" + "/t show [player] show what tribe a player belongs to\n" + "/t help shows this help information"; ChatPage page = ChatPaginator.paginate(message,myPage); sender.sendMessage("Tribes help (page " + page.getPageNumber() + " of " + page.getTotalPages() + "): "); for (String line : page.getLines()) { sender.sendMessage(line); } return true; }
@Override public boolean execute(CommandSender sender, ArrayList<String> args) { if (!sender.hasPermission("bw." + this.getPermission())) { return false; } String paginate; int page = 1; ArrayList<Game> showedGames = new ArrayList<Game>(); if (args != null) { if (args.size() == 0 || args.size() > 1) { paginate = "1"; } else { paginate = args.get(0); if (paginate.isEmpty()) { paginate = "1"; } if (!Utils.isNumber(paginate)) { paginate = "1"; } } } else { paginate = "1"; } page = Integer.parseInt(paginate); StringBuilder sb = new StringBuilder(); sender.sendMessage(ChatColor.GREEN + "---------- Bedwars Games ----------"); List<Game> games = BedwarsRel.getInstance().getGameManager().getGames(); for (Game game : games) { GameCheckCode code = game.checkGame(); if (code != GameCheckCode.OK && !sender.hasPermission("bw.setup")) { continue; } showedGames.add(game); int players = 0; if (game.getState() == GameState.RUNNING) { players = game.getCurrentPlayerAmount(); } else { players = game.getPlayers().size(); } sb.append(ChatColor.YELLOW + ((code != GameCheckCode.OK) ? ChatColor.RED + game.getName() + ChatColor.YELLOW : game.getName()) + " - " + game.getRegion().getName() + " - " + BedwarsRel._l(sender, "sign.gamestate." + game.getState().toString().toLowerCase()) + ChatColor.YELLOW + " - " + BedwarsRel._l(sender, "sign.players") + ": " + ChatColor.WHITE + "[" + ChatColor.YELLOW + players + ChatColor.WHITE + "/" + ChatColor.YELLOW + game.getMaxPlayers() + ChatColor.WHITE + "]\n"); } if (showedGames.size() == 0) { sb.append(ChatColor.RED + BedwarsRel._l(sender, "errors.nogames")); } ChatPage chatPage = ChatPaginator.paginate(sb.toString(), page); for (String line : chatPage.getLines()) { sender.sendMessage(line); } sender.sendMessage(ChatColor.GREEN + "---------- " + BedwarsRel._l(sender, "default.pages", ImmutableMap.of("current", String.valueOf(chatPage.getPageNumber()), "max", String.valueOf(chatPage.getTotalPages()))) + " ----------"); return true; }
public boolean list(CommandSender sender, String[] args) { int myPage = 1; if (args.length == CMD_ARGS) { try { myPage = Integer.parseInt(args[1]); } catch(NumberFormatException e) { return false; } } else if (args.length > CMD_ARGS) { return false; } //query all of our user's bug reports BasicDBObject query = new BasicDBObject(); query.put("user",sender.getName()); DBCursor cursor = table.find(query); //if there are none to show.. if (cursor.count() == 0) { sender.sendMessage("there are no reports to show"); return true; } //otherwise, list them all together separated by newlines. String userReports = ""; while (cursor.hasNext()) { DBObject element = cursor.next(); userReports += "ID: " + element.get("bugID") + " | " + element.get("status") + " | " + element.get("issue") + " | date: " + element.get("createdDate"); if (element.containsField("reason")) { userReports += " | reason: " + element.get("reason"); } userReports += "\n"; } //divy the report into pages and get the desired page ChatPage page = ChatPaginator.paginate(userReports,myPage); //send each line of our page to the user sender.sendMessage("Page " + page.getPageNumber() + " of " + page.getTotalPages() + " for reports:"); for (String line : page.getLines()) { sender.sendMessage(line); } return true; }
public static ChatPaginator.ChatPage paginate(String unpaginatedString, int pageNumber) { return null; }
public static ChatPaginator.ChatPage paginate(String unpaginatedString, int pageNumber, int lineLength, int pageHeight) { return null; }
public ChatPage(String[] lines, int pageNumber, int totalPages) { }