How do I allow players to have {target} and {sender} in there and it shows up as the sender name and target name in game?

Heres my code: 

```
package proewarns.me;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

import proewarns.me.SettingsManager;

public class Main extends JavaPlugin {

    SettingsManager settings = SettingsManager.getInstance();

    public void onEnable() {
            settings.setup(this);
            getConfig().options().copyDefaults(true);
            saveConfig();
    }

    @SuppressWarnings("deprecation")
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
        if (cmd.getName().equalsIgnoreCase("warn")) {
            if (!sender.hasPermission("proewarn.warn")) {
                    sender.sendMessage(ChatColor.RED + "You are not permitted to do this!");
                    return true;
            }
            if (args.length == 0) {
                    sender.sendMessage(ChatColor.RED + "Please specify a player!");
                    return true;

            }

        final Player target = Bukkit.getServer().getPlayer(args[0]);

        if (target == null) {
            sender.sendMessage(ChatColor.RED + "Could not find player!");
            return true;
        }

        Object level = settings.getData().get(target.getName());

        if (level == null) {
            settings.getData().set("" + target.getName() + "", 1);
            settings.saveData();
            target.sendMessage(this.getConfig().getString("PlayerMessage") + ChatColor.DARK_RED + "(1/3)");
            Bukkit.getServer().broadcastMessage(this.getConfig().getString("WarnMessage") + ChatColor.DARK_RED + "(1/3)");
            return true;

        }

        int l = Integer.parseInt(level.toString());

        if (l == 1) {
            settings.getData().set("" + target.getName() + "", 2);
            settings.saveData();
            target.sendMessage(this.getConfig().getString("PlayerMessage") + ChatColor.DARK_RED + "(2/3)");
            Bukkit.getServer().broadcastMessage(this.getConfig().getString("WarnMessage") + ChatColor.DARK_RED + "(2/3)");
            return true;
        }
        if (l == 2) {
            settings.getData().set("" + target.getName() + "", null);
            settings.saveData();
            target.kickPlayer(this.getConfig().getString("BanMessage"));
            target.setBanned(true);
            Bukkit.getServer().broadcastMessage(this.getConfig().getString("Tempbanbroadcast") + ChatColor.DARK_RED + "(3/3)");           
            Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
                    public void run() {
                            target.setBanned(false);
                    }
            }, 1500 * 20);
            return true;

        }
            return true;

    }
        return true;

    }
}

```

Heres my config.yml:

```
BanMessage: You have been temp banned for 25 Minutes

WarnMessage: {target} Has been warned by {sender}

PlayerMessage: You have been warned by {sender}

TempbanBroadcast: {target} has been temp banned by {sender}

```

How would I make it so {target} would show up as the player getting warned and {sender} would show up as the sender?