Przeglądaj źródła

Helps to include the new file.

GJ 13 lat temu
rodzic
commit
3c9e38d7ad
1 zmienionych plików z 102 dodań i 0 usunięć
  1. 102 0
      src/main/java/com/gmail/nossr50/api/PartyAPI.java

+ 102 - 0
src/main/java/com/gmail/nossr50/api/PartyAPI.java

@@ -0,0 +1,102 @@
+package com.gmail.nossr50.api;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.ArrayList;
+
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+
+import com.gmail.nossr50.Users;
+import com.gmail.nossr50.datatypes.PlayerProfile;
+
+public class 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
+     */
+    public static String getPartyName(Player player) {
+        PlayerProfile PP = Users.getProfile(player);
+        return PP.getParty();
+    }
+
+    /**
+     * 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) {
+        PlayerProfile PP = Users.getProfile(player);
+        return PP.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) {
+        if (Users.getProfile(playera).inParty() && Users.getProfile(playerb).inParty()) {
+            if (Users.getProfile(playera).getParty().equals(Users.getProfile(playerb).getParty())) {
+                return true;
+            }
+            else {
+                return false;
+            }
+        }
+        else {
+            return false;
+        }
+    }
+
+    /**
+     * Get a list of all current party names.
+     * </br>
+     * This function is designed for API usage.
+     *
+     * @return the list of parties.
+     */
+    public static ArrayList<String> getParties() {
+        String location = "plugins/mcMMO/mcmmo.users";
+        ArrayList<String> parties = new ArrayList<String>();
+
+        try {
+
+            //Open the users file
+            FileReader file = new FileReader(location);
+            BufferedReader in = new BufferedReader(file);
+            String line = "";
+
+            while((line = in.readLine()) != null) {
+                String[] character = line.split(":");
+                String theparty = null;
+
+                //Party
+                if (character.length > 3) {
+                    theparty = character[3];
+                }
+
+                if (!parties.contains(theparty)) {
+                    parties.add(theparty);
+                }
+            }
+            in.close();
+        }
+        catch (Exception e) {
+            Bukkit.getLogger().severe("Exception while reading " + location + " (Are you sure you formatted it correctly?)" + e.toString());
+        }
+        return parties;
+    }
+}