PartyAPI.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  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.datatypes.party.Party;
  7. import com.gmail.nossr50.party.PartyManager;
  8. import com.gmail.nossr50.util.player.UserManager;
  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, or null if not in a party
  18. */
  19. public static String getPartyName(Player player) {
  20. if (!inParty(player)) {
  21. return null;
  22. }
  23. return UserManager.getPlayer(player).getParty().getName();
  24. }
  25. /**
  26. * Checks if a player is in a party.
  27. * </br>
  28. * This function is designed for API usage.
  29. *
  30. * @param player The player to check
  31. * @return true if the player is in a party, false otherwise
  32. */
  33. public static boolean inParty(Player player) {
  34. return UserManager.getPlayer(player).inParty();
  35. }
  36. /**
  37. * Check if two players are in the same party.
  38. * </br>
  39. * This function is designed for API usage.
  40. *
  41. * @param playera The first player to check
  42. * @param playerb The second player to check
  43. * @return true if the two players are in the same party, false otherwise
  44. */
  45. public static boolean inSameParty(Player playera, Player playerb) {
  46. return PartyManager.inSameParty(playera, playerb);
  47. }
  48. /**
  49. * Get a list of all current parties.
  50. * </br>
  51. * This function is designed for API usage.
  52. *
  53. * @return the list of parties.
  54. */
  55. public static List<Party> getParties() {
  56. return PartyManager.getParties();
  57. }
  58. /**
  59. * Add a player to a party.
  60. * </br>
  61. * This function is designed for API usage.
  62. *
  63. * @param player The player to add to the party
  64. * @param partyName The party to add the player to
  65. */
  66. public static void addToParty(Player player, String partyName) {
  67. Party party = PartyManager.getParty(partyName);
  68. if (party == null) {
  69. party = new Party();
  70. party.setName(partyName);
  71. party.setLeader(player.getName());
  72. }
  73. PartyManager.addToParty(player, UserManager.getPlayer(player), party);
  74. }
  75. /**
  76. * Remove a player from a party.
  77. * </br>
  78. * This function is designed for API usage.
  79. *
  80. * @param player The player to remove
  81. */
  82. public static void removeFromParty(Player player) {
  83. PartyManager.removeFromParty(player, UserManager.getPlayer(player).getParty());
  84. }
  85. /**
  86. * Get the leader of a party.
  87. * </br>
  88. * This function is designed for API usage.
  89. *
  90. * @param partyName The party name
  91. * @return the leader of the party
  92. */
  93. public static String getPartyLeader(String partyName) {
  94. return PartyManager.getPartyLeader(partyName);
  95. }
  96. /**
  97. * Set the leader of a party.
  98. * </br>
  99. * This function is designed for API usage.
  100. *
  101. * @param partyName The name of the party to set the leader of
  102. * @param player The player to set as leader
  103. */
  104. public static void setPartyLeader(String partyName, String player) {
  105. PartyManager.setPartyLeader(player, PartyManager.getParty(partyName));
  106. }
  107. /**
  108. * Get a list of all players in this player's party.
  109. * </br>
  110. * This function is designed for API usage.
  111. *
  112. * @param player The player to check
  113. * @return all the players in the player's party
  114. */
  115. public static List<OfflinePlayer> getOnlineAndOfflineMembers(Player player) {
  116. return PartyManager.getAllMembers(player);
  117. }
  118. /**
  119. * Get a list of all online players in this party.
  120. * </br>
  121. * This function is designed for API usage.
  122. *
  123. * @param partyName The party to check
  124. * @return all online players in this party
  125. */
  126. public static List<Player> getOnlineMembers(String partyName) {
  127. return PartyManager.getOnlineMembers(partyName);
  128. }
  129. /**
  130. * Get a list of all online players in this player's party.
  131. * </br>
  132. * This function is designed for API usage.
  133. *
  134. * @param player The player to check
  135. * @return all online players in the player's party
  136. */
  137. public static List<Player> getOnlineMembers(Player player) {
  138. return PartyManager.getOnlineMembers(player);
  139. }
  140. }