| 
					
				 | 
			
			
				@@ -1,255 +1,258 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//package com.gmail.nossr50.api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import com.gmail.nossr50.config.Config; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import com.gmail.nossr50.datatypes.interactions.NotificationType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import com.neetgames.mcmmo.party.Party; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import com.gmail.nossr50.mcMMO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import com.gmail.nossr50.util.player.NotificationManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import org.bukkit.OfflinePlayer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import org.bukkit.entity.Player; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//public final class PartyAPI { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    private PartyAPI() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Get the name of the party a player is in. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to check the party name of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return the name of the player's party, or null if not in a party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static String getPartyName(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if (!inParty(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return mcMMO.getUserManager().queryPlayer(player).getParty().getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Checks if a player is in a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return true if the player is in a party, false otherwise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static boolean inParty(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if(mcMMO.getUserManager().queryPlayer(player) == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return mcMMO.getUserManager().queryPlayer(player).inParty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Check if two players are in the same party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param playera The first player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param playerb The second player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return true if the two players are in the same party, false otherwise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static boolean inSameParty(Player playera, Player playerb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return mcMMO.getPartyManager().inSameParty(playera, playerb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Get a list of all current parties. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return the list of parties. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static List<Party> getParties() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return mcMMO.getPartyManager().getParties(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Add a player to a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to add to the party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param partyName The party to add the player to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @deprecated parties can have limits, use the other method 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    @Deprecated 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static void addToParty(Player player, String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        //Check if player profile is loaded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if(mcMMO.getUserManager().queryPlayer(player) == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        Party party = mcMMO.getPartyManager().getParty(partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if (party == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            if(mcMMO.getPartyManager().isPartyFull(player, party)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                NotificationManager.sendPlayerInformation(player, NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull", party.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        mcMMO.getPartyManager().addToParty(mcMMO.getUserManager().queryPlayer(player), party); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * The max party size of the server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 0 or less for no size limit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return the max party size on this server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static int getMaxPartySize() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return Config.getInstance().getPartyMaxSize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Add a player to a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to add to the party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param partyName The party to add the player to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param bypassLimit if true bypasses party size limits 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    //TODO: bypasslimit not used? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static void addToParty(Player player, String partyName, boolean bypassLimit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        //Check if player profile is loaded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if(mcMMO.getUserManager().queryPlayer(player) == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        Party party = mcMMO.getPartyManager().getParty(partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if (party == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        mcMMO.getPartyManager().addToParty(mcMMO.getUserManager().queryPlayer(player), party); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Remove a player from a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to remove 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static void removeFromParty(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        //Check if player profile is loaded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if(mcMMO.getUserManager().queryPlayer(player) == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        mcMMO.getPartyManager().removeFromParty(mcMMO.getUserManager().queryPlayer(player)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Get the leader of a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param partyName The party name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return the leader of the party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static String getPartyLeader(String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return mcMMO.getPartyManager().getPartyLeaderName(partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Set the leader of a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param partyName The name of the party to set the leader of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param playerName The playerName to set as leader 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    @Deprecated 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static void setPartyLeader(String partyName, String playerName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        mcMMO.getPartyManager().setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), mcMMO.getPartyManager().getParty(partyName)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Get a list of all players in this player's party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return all the players in the player's party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    @Deprecated 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static List<OfflinePlayer> getOnlineAndOfflineMembers(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        List<OfflinePlayer> members = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        for (UUID memberUniqueId : mcMMO.getPartyManager().getAllMembers(player).keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            OfflinePlayer member = mcMMO.p.getServer().getOfflinePlayer(memberUniqueId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            members.add(member); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return members; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Get a list of all player names in this player's party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return all the player names in the player's party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    @Deprecated 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static LinkedHashSet<String> getMembers(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return (LinkedHashSet<String>) mcMMO.getPartyManager().getAllMembers(player).values(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Get a list of all player names and uuids in this player's party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return all the player names and uuids in the player's party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static LinkedHashMap<UUID, String> getMembersMap(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return mcMMO.getPartyManager().getAllMembers(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Get a list of all online players in this party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param partyName The party to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return all online players in this party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static List<Player> getOnlineMembers(String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return mcMMO.getPartyManager().getOnlineMembers(partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * Get a list of all online players in this player's party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     * @return all online players in the player's party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static List<Player> getOnlineMembers(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return mcMMO.getPartyManager().getOnlineMembers(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static boolean hasAlly(String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return getAllyName(partyName) != null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    public static String getAllyName(String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        Party ally = mcMMO.getPartyManager().getParty(partyName).getAlly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if (ally != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            return ally.getPartyName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.gmail.nossr50.api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.config.Config; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.datatypes.interactions.NotificationType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.datatypes.party.Party; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.datatypes.party.PartyLeader; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.mcMMO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.party.PartyManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.util.player.NotificationManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.util.player.UserManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.bukkit.OfflinePlayer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.bukkit.entity.Player; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public final class PartyAPI { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private PartyAPI() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Get the name of the party a player is in. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to check the party name of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return the name of the player's party, or null if not in a party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static String getPartyName(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!inParty(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return UserManager.getPlayer(player).getParty().getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Checks if a player is in a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return true if the player is in a party, false otherwise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static boolean inParty(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(UserManager.getPlayer(player) == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return UserManager.getPlayer(player).inParty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Check if two players are in the same party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param playera The first player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param playerb The second player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return true if the two players are in the same party, false otherwise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static boolean inSameParty(Player playera, Player playerb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PartyManager.inSameParty(playera, playerb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Get a list of all current parties. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return the list of parties. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static List<Party> getParties() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PartyManager.getParties(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Add a player to a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to add to the party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param partyName The party to add the player to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @deprecated parties can have limits, use the other method 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Deprecated 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static void addToParty(Player player, String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //Check if player profile is loaded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(UserManager.getPlayer(player) == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Party party = PartyManager.getParty(partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (party == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(PartyManager.isPartyFull(player, party)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                NotificationManager.sendPlayerInformation(player, NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull", party.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PartyManager.addToParty(UserManager.getPlayer(player), party); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * The max party size of the server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 0 or less for no size limit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return the max party size on this server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static int getMaxPartySize() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return Config.getInstance().getPartyMaxSize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Add a player to a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to add to the party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param partyName The party to add the player to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param bypassLimit if true bypasses party size limits 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //TODO: bypasslimit not used? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static void addToParty(Player player, String partyName, boolean bypassLimit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //Check if player profile is loaded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(UserManager.getPlayer(player) == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Party party = PartyManager.getParty(partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (party == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PartyManager.addToParty(UserManager.getPlayer(player), party); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Remove a player from a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to remove 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static void removeFromParty(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //Check if player profile is loaded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(UserManager.getPlayer(player) == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PartyManager.removeFromParty(UserManager.getPlayer(player)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Get the leader of a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param partyName The party name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return the leader of the party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static String getPartyLeader(String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PartyManager.getPartyLeaderName(partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Set the leader of a party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param partyName The name of the party to set the leader of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param playerName The playerName to set as leader 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Deprecated 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static void setPartyLeader(String partyName, String playerName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PartyManager.setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), PartyManager.getParty(partyName)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Get a list of all players in this player's party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return all the players in the player's party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Deprecated 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static List<OfflinePlayer> getOnlineAndOfflineMembers(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<OfflinePlayer> members = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (UUID memberUniqueId : PartyManager.getAllMembers(player).keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OfflinePlayer member = mcMMO.p.getServer().getOfflinePlayer(memberUniqueId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            members.add(member); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return members; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Get a list of all player names in this player's party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return all the player names in the player's party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Deprecated 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static LinkedHashSet<String> getMembers(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return (LinkedHashSet<String>) PartyManager.getAllMembers(player).values(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Get a list of all player names and uuids in this player's party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return all the player names and uuids in the player's party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static LinkedHashMap<UUID, String> getMembersMap(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PartyManager.getAllMembers(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Get a list of all online players in this party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param partyName The party to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return all online players in this party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static List<Player> getOnlineMembers(String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PartyManager.getOnlineMembers(partyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Get a list of all online players in this player's party. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * </br> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * This function is designed for API usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param player The player to check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return all online players in the player's party 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static List<Player> getOnlineMembers(Player player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PartyManager.getOnlineMembers(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static boolean hasAlly(String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return getAllyName(partyName) != null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static String getAllyName(String partyName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Party ally = PartyManager.getParty(partyName).getAlly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ally != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ally.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |