public void showPlayerStats(CommandSender sender, 
			String playerName, 
			boolean isOnline, 
			String ipAddress, 
			long firstPlayed, 
			int page,
			int itemsPerPage) {
		String group = Statistics.permission.getPrimaryGroup("", playerName);	// Player's permission group
		String color = Statistics.chat.getGroupPrefix("", group).substring(1);	// Player's chat color code
		ChatColor chatColorGroup = ChatColor.getByChar(color);		// Player's chat color

		List<LoginEntry> rawList = plugin.sqlDb.readLoginInfo(playerName);
		ListPage<LoginEntry> pList = helper.paginate(rawList, page, itemsPerPage);
		int nPages = helper.nPages(rawList.size(), itemsPerPage);

		if (isOnline) {
			int onlineTime = plugin.sqlDb.getOnlineTime(playerName);
			sender.sendMessage("[Statistics] '" + chatColorGroup + playerName + ChatColor.WHITE + "' is"
							 + ChatColor.GREEN + " [ONLINE since "
							 + helper.timeFormatted(onlineTime) + "] "
							 + ChatColor.YELLOW + "(Page " + pList.getPage() + "/" + nPages + ")");
		} else {
			sender.sendMessage("[Statistics] '" + chatColorGroup + playerName + ChatColor.WHITE + "' is"
							 + ChatColor.RED + " [OFFLINE] "
							 + ChatColor.YELLOW + "(Page " + pList.getPage() + "/" + nPages + ")");
		}

		for (LoginEntry e : pList.getList()) {
			showPlayerLogin(sender, e);
		}

		sender.sendMessage("Logins: " + plugin.sqlDb.getTotalLogins(playerName)
						 + " Tot: " + helper.timeFormatted(plugin.sqlDb.getTotalPlaytime(playerName))
						 + " Avg: " + helper.timeFormatted(plugin.sqlDb.getAvgPlaytime(playerName))
						 + " " + chatColorGroup + group);
		sender.sendMessage("Joined: " + helper.unixTimeToString(firstPlayed));
		if (isOnline) {
			sender.sendMessage("IP: " + ipAddress);
		}
		sender.sendMessage("Blocks placed: " + plugin.sqlDb.getTotalBlocksPlaced(playerName) + "("
						 + plugin.sqlDb.getAvgBlocksPlaced(playerName) + "), "
						 + "broken: " + plugin.sqlDb.getTotalBlocksBroken(playerName) + "("
						 + plugin.sqlDb.getAvgBlocksBroken(playerName) + ")");
	}