Pensei nesse jeito, quando um player é desafiado, você define a variável 'desafiado' como o nick do player desafiado. Quando um player digita o comando '/desafiar confirmar', você faz uma verificação se o nick do player é igual a variável, e aqui esta um método para remover o nick do player da variável apos 10s:
private static String desafiado;
desafiado = "nick do player".toLowerCase();
Bukkit.getScheduler().scheduleSyncDelayedTask(main.getMain(), new Runnable() {
@Override
public void run() {
desafiado = null;
}
}, 10 * 20L);