//package com.gmail.nossr50.api; // //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.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. // *
// * 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. // *
// * 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. // *
// * 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 pluginRef.getPartyManager().inSameParty(playera, playerb); // } // // /** // * Get a list of all current parties. // *
// * This function is designed for API usage. // * // * @return the list of parties. // */ // public static List getParties() { // return pluginRef.getPartyManager().getParties(); // } // // /** // * Add a player to a party. // *
// * 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 = pluginRef.getPartyManager().getParty(partyName); // // if (party == null) { // party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); // } else if (mcMMO.getConfigManager().getConfigParty().getPartyGeneral().isPartySizeCapped()) { // if (pluginRef.getPartyManager().isPartyFull(player, party)) { // mcMMO.getNotificationManager().sendPlayerInformation(player, NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull", party.toString()); // return; // } // } // // pluginRef.getPartyManager().addToParty(UserManager.getPlayer(player), party); // } // // /** // * The max party size of the server // * Limits are only enforced if the enforcement setting is on // * // * @return the max party size on this server // */ // public static int getMaxPartySize() { // return mcMMO.getConfigManager().getConfigParty().getPartySizeLimit(); // } // // /** // * Checks if parties are currently size capped which is determined by the user config // * // * @return true if parties are size capped // */ // public static boolean isPartySizeCapped() { // return mcMMO.getConfigManager().getConfigParty().isPartySizeCapped(); // } // // /** // * Add a player to a party. // *
// * 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 = pluginRef.getPartyManager().getParty(partyName); // // if (party == null) { // party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); // } // // pluginRef.getPartyManager().addToParty(UserManager.getPlayer(player), party); // } // // /** // * Remove a player from a party. // *
// * 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; // // pluginRef.getPartyManager().removeFromParty(UserManager.getPlayer(player)); // } // // /** // * Get the leader of a party. // *
// * 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 pluginRef.getPartyManager().getPartyLeaderName(partyName); // } // // /** // * Set the leader of a party. // *
// * 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) { // pluginRef.getPartyManager().setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), pluginRef.getPartyManager().getParty(partyName)); // } // // /** // * Get a list of all players in this player's party. // *
// * 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 getOnlineAndOfflineMembers(Player player) { // List members = new ArrayList<>(); // // for (UUID memberUniqueId : pluginRef.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. // *
// * 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 getMembers(Player player) { // return (LinkedHashSet) pluginRef.getPartyManager().getAllMembers(player).values(); // } // // /** // * Get a list of all player names and uuids in this player's party. // *
// * 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 getMembersMap(Player player) { // return pluginRef.getPartyManager().getAllMembers(player); // } // // /** // * Get a list of all online players in this party. // *
// * This function is designed for API usage. // * // * @param partyName The party to check // * @return all online players in this party // */ // public static List getOnlineMembers(String partyName) { // return pluginRef.getPartyManager().getOnlineMembers(partyName); // } // // /** // * Get a list of all online players in this player's party. // *
// * 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 getOnlineMembers(Player player) { // return pluginRef.getPartyManager().getOnlineMembers(player); // } // // public static boolean hasAlly(String partyName) { // return getAllyName(partyName) != null; // } // // public static String getAllyName(String partyName) { // Party ally = pluginRef.getPartyManager().getParty(partyName).getAlly(); // if (ally != null) { // return ally.getName(); // } // // return null; // } //}