@Override public void onCommand(CmdArgs cmdArgs) { Player p = (Player) cmdArgs.getSender(); final IPlayer ip = Practice.getCache().getIPlayer(p); if (ip.isStaffMode()) { p.sendMessage(ChatColor.RED + "You cannot do this while in staff mode."); return; } if (ip.getState() == PlayerState.AT_SPAWN) { if (ip.getDuelRequestCooldown() < System.currentTimeMillis()) { if (Practice.getQueueManager().inQueue(ip)) { p.sendMessage(ChatColor.RED + "You cannot do this while you are in a queue."); return; } Player t = cmdArgs.getPlayer(0); if (t != null) { if (t.getName().equalsIgnoreCase(p.getName())) { p.sendMessage(ChatColor.RED + "You cannot duel yourself."); return; } if (ip.getParty() != null) { p.sendMessage(ChatColor.RED + "You cannot do this while you are in a party."); return; } final IPlayer tip = Practice.getCache().getIPlayer(t); if (tip.isStaffMode()) { p.sendMessage(ChatColor.RED + "Could not find player '" + cmdArgs.getArg(0) + "'."); return; } if (tip.getState() != PlayerState.AT_SPAWN) { p.sendMessage(ChatColor.RED + "That player is not at spawn."); return; } if (tip.getParty() != null) { p.sendMessage(ChatColor.RED + "That player is in a party."); return; } if (Practice.getQueueManager().inQueue(tip)) { p.sendMessage(ChatColor.RED + "That player is in a queue."); return; } new LadderSelect(ip) { @Override public void onSelect(Ladder ladder) { DuelRequest duelRequest = new DuelRequest(ladder, ip, tip, System.currentTimeMillis()); duelRequest.send(); } }; } else { p.sendMessage(ChatColor.RED + "Could not find player '" + cmdArgs.getArg(0) + "'."); } } else { p.sendMessage( ChatColor.RED + "Slow down. You can send another duel request in " + ((ip.getDuelRequestCooldown() - System.currentTimeMillis()) / 1000) + " seconds."); } } else { p.sendMessage(ChatColor.RED + "You are not at spawn."); } }