@Override
	public void execute(CommandSender sender, String[] args) {
		if (!CommandUtil.hasPermission(sender, PERMISSION_NODES)) {
			sender.sendMessage(plugin.NO_PERMISSION);
			return;
		}
		
		if (args.length < 1) {
			sender.sendMessage(ChatColor.RED + "/" + plugin.tpa + " (playername)");
			return;
		}
		
		ProxiedPlayer player = (ProxiedPlayer) sender;
		
		if (plugin.blockedTeleports.contains(player.getServer().getInfo().getName())) {
			sender.sendMessage(plugin.TELEPORTS_NOT_ENABLED);
			return;
		}
		
		ProxiedPlayer targetPlayer = plugin.getUtilities().getClosestPlayer(args[0]);
		
		if (targetPlayer == null) {
			sender.sendMessage(plugin.PLAYER_NOT_ONLINE);
			return;
		}
		
		plugin.getUtilities().sendTpRequest(player, targetPlayer);
		sender.sendMessage(plugin.TELEPORT_REQUEST_SENT);
	}