public void showTopPlayers(CommandSender sender,
							   PDComp sortBy,
							   int page,
							   int itemsPerPage) {
		List<PlayerData> rawList = plugin.sqlDb.readAllPlayers();
		
		// Sort first by total playtime, then by total logins 
		Collections.sort(rawList, PDComp.desc(PDComp.getComparator(sortBy)));
		ListPage<PlayerData> pList = helper.paginate(rawList, page, itemsPerPage);
		int nPages = helper.nPages(rawList.size(), itemsPerPage);
		int thisPage = pList.getPage();
		int i = (thisPage - 1) * itemsPerPage + 1;
		String tmpStr = "";
		switch (sortBy) {
			case SORT_PLAYTIME:
				tmpStr = "total playtime";
				break;
			case SORT_LOGINS:
				tmpStr = "number of logins";
				break;
			case SORT_AVG:
				tmpStr = "average playtime";
				break;
			case SORT_BUILD:
				tmpStr = "blocks placed";
				break;
			case SORT_BREAK:
				tmpStr = "blocks broken";
				break;
		}
		
		sender.sendMessage("[Statistics] Top players by " + tmpStr
		 		 		 + ChatColor.YELLOW + " (Page " + thisPage + "/" + nPages + ")");
		sender.sendMessage("# Name  (Playtime, Logins, Avg playtime, Bl. placed, Bl. broken)");
		
		for (PlayerData pd : pList.getList()) {
			showPlayerDataEntry(sender, pd, i);
			i++;
		}
	}