2012-03-29 10:05:04 -04:00
package com.gmail.nossr50.api ;
2012-06-08 23:48:41 +02:00
import java.util.List ;
2012-03-29 10:05:04 -04:00
import org.bukkit.entity.Player ;
2012-06-11 08:20:39 +02:00
import com.gmail.nossr50.party.Party ;
2012-06-08 23:48:41 +02:00
import com.gmail.nossr50.party.PartyManager ;
2012-04-27 02:47:11 -07:00
import com.gmail.nossr50.util.Users ;
2012-03-29 10:05:04 -04:00
2012-06-06 22:03:15 +02:00
public final class PartyAPI {
private PartyAPI ( ) { }
2012-03-29 10:05:04 -04:00
/ * *
* 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
* /
2012-06-06 22:03:15 +02:00
public static String getPartyName ( Player player ) {
2012-06-08 23:48:41 +02:00
return Users . getProfile ( player ) . getParty ( ) . getName ( ) ;
2012-03-29 10:05:04 -04:00
}
/ * *
* 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
* /
2012-06-06 22:03:15 +02:00
public static boolean inParty ( Player player ) {
2012-03-29 14:24:41 -04:00
return Users . getProfile ( player ) . inParty ( ) ;
2012-03-29 10:05:04 -04:00
}
/ * *
* 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
* /
2012-06-06 22:03:15 +02:00
public static boolean inSameParty ( Player playera , Player playerb ) {
2012-06-08 23:48:41 +02:00
return PartyManager . getInstance ( ) . inSameParty ( playera , playerb ) ;
2012-03-29 10:05:04 -04:00
}
/ * *
2012-06-11 08:20:39 +02:00
* Get a list of all current parties .
2012-03-29 10:05:04 -04:00
* < / br >
* This function is designed for API usage .
*
* @return the list of parties .
* /
2012-06-11 08:20:39 +02:00
public static List < Party > getParties ( ) {
2012-06-08 23:48:41 +02:00
return PartyManager . getInstance ( ) . getParties ( ) ;
2012-03-29 16:13:43 -04:00
}
2012-04-03 00:06:30 -04:00
/ * *
* 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
* /
2012-06-06 22:03:15 +02:00
public static void addToParty ( Player player , String partyName ) {
2012-06-11 07:45:14 +02:00
PartyManager . getInstance ( ) . addToParty ( player . getName ( ) , Users . getProfile ( player ) , PartyManager . getInstance ( ) . getParty ( partyName ) ) ; //TODO this will throw a NPE if the party doesn't exist
2012-04-03 00:06:30 -04:00
}
/ * *
* Remove a player from a party .
* < / br >
* This function is designed for API usage .
*
* @param player The player to remove
* /
2012-06-06 22:03:15 +02:00
public static void removeFromParty ( Player player ) {
2012-06-11 07:45:14 +02:00
PartyManager . getInstance ( ) . removeFromParty ( player . getName ( ) , Users . getProfile ( player ) . getParty ( ) ) ;
2012-04-03 00:06:30 -04:00
}
2012-04-22 02:55:58 -04:00
/ * *
* 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
* /
2012-06-08 23:48:41 +02:00
public static String getPartyLeader ( String partyName ) {
return PartyManager . getInstance ( ) . getPartyLeader ( partyName ) ;
2012-04-22 02:55:58 -04:00
}
/ * *
* 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 player The player to set as leader
* /
2012-06-06 22:03:15 +02:00
public static void setPartyLeader ( String partyName , String player ) {
2012-06-11 07:45:14 +02:00
PartyManager . getInstance ( ) . setPartyLeader ( player , PartyManager . getInstance ( ) . getParty ( partyName ) ) ;
2012-04-22 02:55:58 -04:00
}
/ * *
* 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
* /
2012-06-08 23:48:41 +02:00
public static List < String > getAllMembers ( Player player ) {
return PartyManager . getInstance ( ) . getAllMembers ( player ) ;
2012-04-22 02:55:58 -04:00
}
2012-04-22 15:36:48 -04:00
/ * *
* 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
* /
2012-06-08 23:48:41 +02:00
public static List < Player > getOnlineMembers ( String partyName ) {
return PartyManager . getInstance ( ) . getOnlineMembers ( partyName ) ;
2012-04-22 15:36:48 -04:00
}
/ * *
* 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
* /
2012-06-08 23:48:41 +02:00
public static List < Player > getOnlineMembers ( Player player ) {
return PartyManager . getInstance ( ) . getOnlineMembers ( player ) ;
2012-04-22 15:36:48 -04:00
}
2012-03-29 10:05:04 -04:00
}