@Override
	public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

		if (!(sender instanceof Player)) {
			return true;
		}

		Player player = (Player)sender;

		if (args.length <= 1) {
			sender.sendMessage(ChatColor.RED + "You haven't supplied enough arguments.");
			return false;
		}

		String userReport = args[0];

		if (userReport.length() == 0) {
			sender.sendMessage(ChatColor.RED + "You didn't enter a valid person to report.");
			return true;
		}

		Player reported = Bukkit.getPlayer(userReport);

		if (reported == null) {
			sender.sendMessage(ChatColor.RED + "You didn't enter a valid person to report.");
			return true;
		}
		
		if (reported == player) {
			sender.sendMessage(ChatColor.RED + "You can't report yourself.");
			return true;
		}
		
		
		String reportMessage = TextUtilities.getFinalArg(args, 1);

		if (reportMessage.length() == 0) {
			sender.sendMessage(ChatColor.RED + "You didn't enter a valid reason to report.");
			return false;
		}
		
		String message = ChatColor.GOLD + player.getName() + ChatColor.DARK_AQUA + " reported " + ChatColor.YELLOW + userReport + ChatColor.DARK_AQUA + " for " + ChatColor.YELLOW + reportMessage;
		alert(message);
		
		player.sendMessage(ChatColor.GOLD + "Thank you for reporting, a staff member, if online, will reply shortly.");

		return true;
	}