/** * Remove offline players from a ClanPlayer array * * @param in * @return */ public static List<ClanPlayer> stripOffLinePlayers(List<ClanPlayer> in) { List<ClanPlayer> out = new ArrayList<>(); for (ClanPlayer cp : in) { if (cp.toPlayer() != null) { out.add(cp); } } return out; }
@Override public void execute(Player player, String label, String[] args) { if (plugin.getPermissionsManager().has(player, "simpleclans.leader.kick")) { ClanPlayer cp = plugin.getClanManager().getClanPlayer(player); if (cp != null) { Clan clan = cp.getClan(); if (clan.isLeader(player)) { String kicked = args[0]; if (kicked != null) { if (!kicked.equals(player.getName())) { if (clan.isMember(kicked)) { if (!clan.isLeader(kicked)) { clan.addBb( player.getName(), ChatColor.AQUA + MessageFormat.format( plugin.getLang("has.been.kicked.by"), Helper.capitalize(kicked), player.getName())); clan.removePlayerFromClan(kicked); } else { ChatBlock.sendMessage( player, ChatColor.RED + plugin.getLang("you.cannot.kick.another.leader")); } } else { ChatBlock.sendMessage( player, ChatColor.RED + plugin.getLang("the.player.is.not.a.member.of.your.clan")); } } else { ChatBlock.sendMessage( player, ChatColor.RED + plugin.getLang("you.cannot.kick.yourself")); } } else { ChatBlock.sendMessage(player, ChatColor.RED + plugin.getLang("no.player.matched")); } } else { ChatBlock.sendMessage(player, ChatColor.RED + plugin.getLang("no.leader.permissions")); } } else { ChatBlock.sendMessage(player, ChatColor.RED + plugin.getLang("not.a.member.of.any.clan")); } } else { ChatBlock.sendMessage(player, ChatColor.RED + plugin.getLang("insufficient.permissions")); } }
@Override public String getMenu(ClanPlayer cp, CommandSender sender) { if (cp != null) { if (cp.isLeader()) { if (plugin.getPermissionsManager().has(sender, "simpleclans.leader.kick")) { return MessageFormat.format( plugin.getLang("0.kick.player.1.kick.a.player.from.the.clan"), plugin.getSettingsManager().getCommandClan(), ChatColor.WHITE); } } } return null; }