From f837be8e9053db447a60b84cd17e494a813ef7ad Mon Sep 17 00:00:00 2001 From: nossr50 Date: Tue, 16 Mar 2021 15:40:46 -0700 Subject: [PATCH] Rollback api classes to match master --- .../com/gmail/nossr50/api/AbilityAPI.java | 38 +- .../com/gmail/nossr50/api/DatabaseAPI.java | 2 +- .../java/com/gmail/nossr50/api/PartyAPI.java | 513 +++++++++--------- 3 files changed, 278 insertions(+), 275 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/api/AbilityAPI.java b/src/main/java/com/gmail/nossr50/api/AbilityAPI.java index 2ab3a4f40..5922ecbe6 100644 --- a/src/main/java/com/gmail/nossr50/api/AbilityAPI.java +++ b/src/main/java/com/gmail/nossr50/api/AbilityAPI.java @@ -1,9 +1,9 @@ package com.gmail.nossr50.api; -import com.neetgames.mcmmo.player.OnlineMMOPlayer; +import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; -import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.skills.BleedTimerTask; +import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -11,38 +11,38 @@ public final class AbilityAPI { private AbilityAPI() {} public static boolean berserkEnabled(Player player) { - return mcMMO.getUserManager().queryPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK); + return UserManager.getPlayer(player).getAbilityMode(SuperAbilityType.BERSERK); } public static boolean gigaDrillBreakerEnabled(Player player) { - return mcMMO.getUserManager().queryPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER); + return UserManager.getPlayer(player).getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER); } public static boolean greenTerraEnabled(Player player) { - return mcMMO.getUserManager().queryPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA); + return UserManager.getPlayer(player).getAbilityMode(SuperAbilityType.GREEN_TERRA); } public static boolean serratedStrikesEnabled(Player player) { - return mcMMO.getUserManager().queryPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SERRATED_STRIKES); + return UserManager.getPlayer(player).getAbilityMode(SuperAbilityType.SERRATED_STRIKES); } public static boolean skullSplitterEnabled(Player player) { - return mcMMO.getUserManager().queryPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SKULL_SPLITTER); + return UserManager.getPlayer(player).getAbilityMode(SuperAbilityType.SKULL_SPLITTER); } public static boolean superBreakerEnabled(Player player) { - return mcMMO.getUserManager().queryPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER); + return UserManager.getPlayer(player).getAbilityMode(SuperAbilityType.SUPER_BREAKER); } public static boolean treeFellerEnabled(Player player) { - return mcMMO.getUserManager().queryPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.TREE_FELLER); + return UserManager.getPlayer(player).getAbilityMode(SuperAbilityType.TREE_FELLER); } public static boolean isAnyAbilityEnabled(Player player) { - OnlineMMOPlayer mmoPlayer = mcMMO.getUserManager().queryPlayer(player); + McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); for (SuperAbilityType ability : SuperAbilityType.values()) { - if (mmoPlayer.getSuperAbilityManager().getAbilityMode(ability)) { + if (mcMMOPlayer.getAbilityMode(ability)) { return true; } } @@ -51,35 +51,35 @@ public final class AbilityAPI { } public static void resetCooldowns(Player player) { - mcMMO.getUserManager().queryPlayer(player).getPersistentPlayerData().resetCooldowns(); + UserManager.getPlayer(player).resetCooldowns(); } public static void setBerserkCooldown(Player player, long cooldown) { - mcMMO.getUserManager().queryPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.BERSERK, cooldown); + UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.BERSERK, cooldown); } public static void setGigaDrillBreakerCooldown(Player player, long cooldown) { - mcMMO.getUserManager().queryPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.GIGA_DRILL_BREAKER, cooldown); + UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.GIGA_DRILL_BREAKER, cooldown); } public static void setGreenTerraCooldown(Player player, long cooldown) { - mcMMO.getUserManager().queryPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.GREEN_TERRA, cooldown); + UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.GREEN_TERRA, cooldown); } public static void setSerratedStrikesCooldown(Player player, long cooldown) { - mcMMO.getUserManager().queryPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.SERRATED_STRIKES, cooldown); + UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.SERRATED_STRIKES, cooldown); } public static void setSkullSplitterCooldown(Player player, long cooldown) { - mcMMO.getUserManager().queryPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.SKULL_SPLITTER, cooldown); + UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.SKULL_SPLITTER, cooldown); } public static void setSuperBreakerCooldown(Player player, long cooldown) { - mcMMO.getUserManager().queryPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.SUPER_BREAKER, cooldown); + UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.SUPER_BREAKER, cooldown); } public static void setTreeFellerCooldown(Player player, long cooldown) { - mcMMO.getUserManager().queryPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.TREE_FELLER, cooldown); + UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.TREE_FELLER, cooldown); } public static boolean isBleeding(LivingEntity entity) { diff --git a/src/main/java/com/gmail/nossr50/api/DatabaseAPI.java b/src/main/java/com/gmail/nossr50/api/DatabaseAPI.java index a03a48490..8f2879549 100644 --- a/src/main/java/com/gmail/nossr50/api/DatabaseAPI.java +++ b/src/main/java/com/gmail/nossr50/api/DatabaseAPI.java @@ -22,7 +22,7 @@ public class DatabaseAPI { * @return true if the player exists in the DB, false if they do not */ public boolean doesPlayerExistInDB(UUID uuid) { - PlayerProfile playerProfile = mcMMO.getDatabaseManager().queryPlayerDataByUUID(uuid, null); + PlayerProfile playerProfile = mcMMO.getDatabaseManager().loadPlayerProfile(uuid, null); return playerProfile.isLoaded(); } diff --git a/src/main/java/com/gmail/nossr50/api/PartyAPI.java b/src/main/java/com/gmail/nossr50/api/PartyAPI.java index 7f341e05f..97a2bbe40 100644 --- a/src/main/java/com/gmail/nossr50/api/PartyAPI.java +++ b/src/main/java/com/gmail/nossr50/api/PartyAPI.java @@ -1,255 +1,258 @@ -//package com.gmail.nossr50.api; -// -//import com.gmail.nossr50.config.Config; -//import com.gmail.nossr50.datatypes.interactions.NotificationType; -//import com.neetgames.mcmmo.party.Party; -//import com.gmail.nossr50.mcMMO; -//import com.gmail.nossr50.util.player.NotificationManager; -//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 mcMMO.getUserManager().queryPlayer(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(mcMMO.getUserManager().queryPlayer(player) == null) -// return false; -// -// return mcMMO.getUserManager().queryPlayer(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 mcMMO.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 mcMMO.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(mcMMO.getUserManager().queryPlayer(player) == null) -// return; -// -// Party party = mcMMO.getPartyManager().getParty(partyName); -// -// if (party == null) { -// party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); -// } else { -// if(mcMMO.getPartyManager().isPartyFull(player, party)) -// { -// NotificationManager.sendPlayerInformation(player, NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull", party.toString()); -// return; -// } -// } -// -// mcMMO.getPartyManager().addToParty(mcMMO.getUserManager().queryPlayer(player), party); -// } -// -// /** -// * The max party size of the server -// * 0 or less for no size limit -// * @return the max party size on this server -// */ -// public static int getMaxPartySize() -// { -// return Config.getInstance().getPartyMaxSize(); -// } -// -// /** -// * 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(mcMMO.getUserManager().queryPlayer(player) == null) -// return; -// -// Party party = mcMMO.getPartyManager().getParty(partyName); -// -// if (party == null) { -// party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); -// } -// -// mcMMO.getPartyManager().addToParty(mcMMO.getUserManager().queryPlayer(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(mcMMO.getUserManager().queryPlayer(player) == null) -// return; -// -// mcMMO.getPartyManager().removeFromParty(mcMMO.getUserManager().queryPlayer(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 mcMMO.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) { -// mcMMO.getPartyManager().setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), mcMMO.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 : mcMMO.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) mcMMO.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 mcMMO.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 mcMMO.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 mcMMO.getPartyManager().getOnlineMembers(player); -// } -// -// public static boolean hasAlly(String partyName) { -// return getAllyName(partyName) != null; -// } -// -// public static String getAllyName(String partyName) { -// Party ally = mcMMO.getPartyManager().getParty(partyName).getAlly(); -// if (ally != null) { -// return ally.getPartyName(); -// } -// -// return null; -// } -//} +package com.gmail.nossr50.api; + +import com.gmail.nossr50.config.Config; +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.NotificationManager; +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 PartyManager.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 PartyManager.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 = PartyManager.getParty(partyName); + + if (party == null) { + party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); + } else { + if(PartyManager.isPartyFull(player, party)) + { + NotificationManager.sendPlayerInformation(player, NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull", party.toString()); + return; + } + } + + PartyManager.addToParty(UserManager.getPlayer(player), party); + } + + /** + * The max party size of the server + * 0 or less for no size limit + * @return the max party size on this server + */ + public static int getMaxPartySize() + { + return Config.getInstance().getPartyMaxSize(); + } + + /** + * 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 = PartyManager.getParty(partyName); + + if (party == null) { + party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); + } + + PartyManager.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; + + PartyManager.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 PartyManager.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) { + PartyManager.setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), PartyManager.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 : PartyManager.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) PartyManager.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 PartyManager.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 PartyManager.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 PartyManager.getOnlineMembers(player); + } + + public static boolean hasAlly(String partyName) { + return getAllyName(partyName) != null; + } + + public static String getAllyName(String partyName) { + Party ally = PartyManager.getParty(partyName).getAlly(); + if (ally != null) { + return ally.getName(); + } + + return null; + } +}