PartyAPI.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package com.gmail.nossr50.api;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.bukkit.OfflinePlayer;
  5. import org.bukkit.entity.Player;
  6. import com.gmail.nossr50.party.Party;
  7. import com.gmail.nossr50.party.PartyManager;
  8. import com.gmail.nossr50.util.Users;
  9. public final class PartyAPI {
  10. private PartyAPI() {}
  11. /**
  12. * Get the name of the party a player is in.
  13. * </br>
  14. * This function is designed for API usage.
  15. *
  16. * @param player The player to check the party name of
  17. * @return the name of the player's party
  18. */
  19. public static String getPartyName(Player player) {
  20. return Users.getPlayer(player).getParty().getName();
  21. }
  22. /**
  23. * Checks if a player is in a party.
  24. * </br>
  25. * This function is designed for API usage.
  26. *
  27. * @param player The player to check
  28. * @return true if the player is in a party, false otherwise
  29. */
  30. public static boolean inParty(Player player) {
  31. return Users.getPlayer(player).inParty();
  32. }
  33. /**
  34. * Check if two players are in the same party.
  35. * </br>
  36. * This function is designed for API usage.
  37. *
  38. * @param playera The first player to check
  39. * @param playerb The second player to check
  40. * @return true if the two players are in the same party, false otherwise
  41. */
  42. public static boolean inSameParty(Player playera, Player playerb) {
  43. return PartyManager.inSameParty(playera, playerb);
  44. }
  45. /**
  46. * Get a list of all current parties.
  47. * </br>
  48. * This function is designed for API usage.
  49. *
  50. * @return the list of parties.
  51. */
  52. public static List<Party> getParties() {
  53. return PartyManager.getParties();
  54. }
  55. /**
  56. * Add a player to a party.
  57. * </br>
  58. * This function is designed for API usage.
  59. *
  60. * @param player The player to add to the party
  61. * @param partyName The party to add the player to
  62. */
  63. public static void addToParty(Player player, String partyName) {
  64. Party party = PartyManager.getParty(partyName);
  65. if (party == null) {
  66. party = new Party();
  67. party.setName(partyName);
  68. party.setLeader(player.getName());
  69. }
  70. PartyManager.addToParty(player, Users.getPlayer(player), party);
  71. }
  72. /**
  73. * Remove a player from a party.
  74. * </br>
  75. * This function is designed for API usage.
  76. *
  77. * @param player The player to remove
  78. */
  79. public static void removeFromParty(Player player) {
  80. PartyManager.removeFromParty(player, Users.getPlayer(player).getParty());
  81. }
  82. /**
  83. * Get the leader of a party.
  84. * </br>
  85. * This function is designed for API usage.
  86. *
  87. * @param partyName The party name
  88. * @return the leader of the party
  89. */
  90. public static String getPartyLeader(String partyName) {
  91. return PartyManager.getPartyLeader(partyName);
  92. }
  93. /**
  94. * Set the leader of a party.
  95. * </br>
  96. * This function is designed for API usage.
  97. *
  98. * @param partyName The name of the party to set the leader of
  99. * @param player The player to set as leader
  100. */
  101. public static void setPartyLeader(String partyName, String player) {
  102. PartyManager.setPartyLeader(player, PartyManager.getParty(partyName));
  103. }
  104. /**
  105. * Get a list of all players in this player's party.
  106. * </br>
  107. * This function is designed for API usage.
  108. *
  109. * @param player The player to check
  110. * @return all the players in the player's party
  111. * @deprecated
  112. */
  113. @Deprecated
  114. public static List<String> getAllMembers(Player player) {
  115. List<String> memberNames = new ArrayList<String>();
  116. for (OfflinePlayer member : PartyManager.getAllMembers(player)) {
  117. memberNames.add(member.getName());
  118. }
  119. return memberNames;
  120. }
  121. /**
  122. * Get a list of all players in this player's party.
  123. * </br>
  124. * This function is designed for API usage.
  125. *
  126. * @param player The player to check
  127. * @return all the players in the player's party
  128. */
  129. public static List<OfflinePlayer> getOnlineAndOfflineMembers(Player player) {
  130. return PartyManager.getAllMembers(player);
  131. }
  132. /**
  133. * Get a list of all online players in this party.
  134. * </br>
  135. * This function is designed for API usage.
  136. *
  137. * @param partyName The party to check
  138. * @return all online players in this party
  139. */
  140. public static List<Player> getOnlineMembers(String partyName) {
  141. return PartyManager.getOnlineMembers(partyName);
  142. }
  143. /**
  144. * Get a list of all online players in this player's party.
  145. * </br>
  146. * This function is designed for API usage.
  147. *
  148. * @param player The player to check
  149. * @return all online players in the player's party
  150. */
  151. public static List<Player> getOnlineMembers(Player player) {
  152. return PartyManager.getOnlineMembers(player);
  153. }
  154. }