@Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { String langid = "en_US"; SFTranslation t = SFTranslation.getInstance(); SFPlayer sfp = null; if (sender instanceof Player) { sfp = new SFPlayer((Player) sender); langid = sfp.getLanguage(); } int page = 1; if (args.length > 0) { try { page = Integer.parseInt(args[0]); } catch (NumberFormatException ex) { sender.sendMessage( ChatColor.RED + t.translateKeyFormat("read.invalidnumber", langid, args[0])); return false; } } List<SFMail> msgs; msgs = plugin .getDatabase() .find(SFMail.class) .where() .ieq("toPlayer", sender.getName()) .orderBy("timestamp DESC") .findList(); if (sfp != null) { if (sfp.hasClientMod() && sfp.getClientModVersion() > 0.2) { sfp.showMailboxGui(msgs); return true; } } if (msgs.isEmpty()) { sender.sendMessage(ChatColor.RED + t.translateKey("read.emptymailbox", langid)); return true; } else { final int start = (page - 1) * 5; final int pages = msgs.size() / 5 + (msgs.size() % 5 > 0 ? 1 : 0); sender.sendMessage( ChatColor.GREEN + t.translateKey("general.page", langid) + " " + page + "/" + pages); for (int i = start; i < msgs.size() && i < start + 5; i++) { OfflinePlayer op = plugin.getServer().getOfflinePlayer(msgs.get(i).getFromPlayer()); String dispName = ChatColor.YELLOW + op.getName() + ChatColor.WHITE; if (op.isOp()) { dispName = (ChatColor.AQUA + op.getName() + ChatColor.WHITE); } else { dispName = (ChatColor.GREEN + op.getName() + ChatColor.WHITE); } sender.sendMessage( ChatColor.GRAY + ((new SimpleDateFormat("dd.MM")).format(new Date(msgs.get(i).getTimestamp()))) + " " + dispName + ": " + msgs.get(i).getMessage()); } sender.sendMessage(ChatColor.AQUA + t.translateKey("read.usecleartoempty", langid)); return true; } }