From daada1a643546a01642c02616b8753699a56e41b Mon Sep 17 00:00:00 2001 From: nossr50 Date: Mon, 17 Aug 2020 21:15:27 -0700 Subject: [PATCH] Refactoring a bunch of stuff, more refactoring to come --- Changelog.txt | 20 +- .../com/gmail/nossr50/api/AbilityAPI.java | 36 +- .../java/com/gmail/nossr50/api/ChatAPI.java | 20 +- .../com/gmail/nossr50/api/ExperienceAPI.java | 143 +++-- .../java/com/gmail/nossr50/api/PartyAPI.java | 49 +- .../exceptions/UnexpectedValueException.java | 4 + .../com/gmail/nossr50/chat/ChatManager.java | 11 +- .../gmail/nossr50/chat/PartyChatManager.java | 2 +- .../commands/AbilityToggleCommand.java | 6 +- .../gmail/nossr50/commands/MHDCommand.java | 12 +- .../gmail/nossr50/commands/McgodCommand.java | 6 +- .../nossr50/commands/McnotifyCommand.java | 10 +- .../nossr50/commands/McrefreshCommand.java | 12 +- .../gmail/nossr50/commands/ToggleCommand.java | 13 +- .../commands/admin/PlayerDebugCommand.java | 7 +- .../nossr50/commands/chat/ChatCommand.java | 29 +- .../nossr50/commands/chat/McChatSpy.java | 6 +- .../commands/chat/PartyChatCommand.java | 8 +- .../database/ConvertDatabaseCommand.java | 5 +- .../commands/database/McremoveCommand.java | 3 +- .../commands/experience/AddxpCommand.java | 5 +- .../experience/ConvertExperienceCommand.java | 5 +- .../experience/ExperienceCommand.java | 13 +- .../experience/SkillresetCommand.java | 11 +- .../commands/party/PartyAcceptCommand.java | 12 +- .../party/PartyChangeOwnerCommand.java | 8 +- .../party/PartyChangePasswordCommand.java | 13 +- .../nossr50/commands/party/PartyCommand.java | 18 +- .../commands/party/PartyCreateCommand.java | 12 +- .../commands/party/PartyDisbandCommand.java | 14 +- .../commands/party/PartyInfoCommand.java | 16 +- .../commands/party/PartyInviteCommand.java | 18 +- .../commands/party/PartyItemShareCommand.java | 9 +- .../commands/party/PartyJoinCommand.java | 20 +- .../commands/party/PartyKickCommand.java | 14 +- .../commands/party/PartyLockCommand.java | 7 +- .../commands/party/PartyQuitCommand.java | 12 +- .../commands/party/PartyRenameCommand.java | 26 +- .../commands/party/PartyXpShareCommand.java | 7 +- .../alliance/PartyAllianceAcceptCommand.java | 12 +- .../party/alliance/PartyAllianceCommand.java | 18 +- .../alliance/PartyAllianceDisbandCommand.java | 10 +- .../alliance/PartyAllianceInviteCommand.java | 14 +- .../party/teleport/PtpAcceptAnyCommand.java | 3 +- .../party/teleport/PtpAcceptCommand.java | 5 +- .../commands/party/teleport/PtpCommand.java | 42 +- .../party/teleport/PtpToggleCommand.java | 3 +- .../commands/player/InspectCommand.java | 13 +- .../commands/player/MccooldownCommand.java | 7 +- .../commands/player/McrankCommand.java | 21 +- .../commands/player/McstatsCommand.java | 7 +- .../nossr50/commands/player/MctopCommand.java | 9 +- .../nossr50/commands/player/XPBarCommand.java | 31 +- .../commands/skills/AlchemyCommand.java | 7 +- .../nossr50/commands/skills/AxesCommand.java | 3 +- .../commands/skills/CrossbowsCommand.java | 3 +- .../commands/skills/ExcavationCommand.java | 3 +- .../commands/skills/FishingCommand.java | 3 +- .../commands/skills/MiningCommand.java | 3 +- .../commands/skills/RepairCommand.java | 3 +- .../commands/skills/SalvageCommand.java | 3 +- .../nossr50/commands/skills/SkillCommand.java | 23 +- .../commands/skills/SmeltingCommand.java | 5 +- .../commands/skills/SwordsCommand.java | 7 +- .../commands/skills/UnarmedCommand.java | 3 +- .../gmail/nossr50/config/AdvancedConfig.java | 2 +- .../java/com/gmail/nossr50/config/Config.java | 14 +- .../nossr50/database/DatabaseManager.java | 38 +- .../database/DatabaseManagerFactory.java | 4 +- .../database/FlatFileDatabaseManager.java | 2 +- .../gmail/nossr50/datatypes/party/Party.java | 545 +++--------------- .../datatypes/party/PartyAllianceManager.java | 26 + .../party/PartyExperienceManager.java | 118 ++++ .../nossr50/datatypes/party/PartyInvite.java | 51 ++ .../datatypes/party/PartyInviteManager.java | 4 + .../party/PartyItemShareManager.java | 85 +++ .../nossr50/datatypes/party/PartyLeader.java | 21 - .../nossr50/datatypes/party/PartyMember.java | 59 ++ .../datatypes/party/PartyMemberManager.java | 71 +++ .../datatypes/party/PartyMemberRank.java | 7 + .../skills/subskills/acrobatics/Roll.java | 55 +- .../datatypes/validation/NonNullRule.java | 9 + .../validation/PositiveIntegerRule.java | 11 + .../nossr50/datatypes/validation/Rule.java | 5 + .../datatypes/validation/Validates.java | 12 + .../datatypes/validation/Validator.java | 25 + .../McMMOPlayerExperienceEvent.java | 5 +- .../events/skills/McMMOPlayerSkillEvent.java | 3 +- .../nossr50/listeners/BlockListener.java | 105 ++-- .../nossr50/listeners/EntityListener.java | 64 +- .../nossr50/listeners/InventoryListener.java | 17 +- .../nossr50/listeners/PlayerListener.java | 100 ++-- .../gmail/nossr50/listeners/SelfListener.java | 48 +- src/main/java/com/gmail/nossr50/mcMMO.java | 68 +-- .../com/gmail/nossr50/party/PartyManager.java | 269 +++++---- .../com/gmail/nossr50/party/ShareHandler.java | 33 +- .../nossr50/runnables/SaveTimerTask.java | 10 +- .../commands/NotifySquelchReminderTask.java | 5 +- .../database/FormulaConversionTask.java | 9 +- .../runnables/items/ChimaeraWingWarmup.java | 14 +- .../runnables/items/TeleportationWarmup.java | 19 +- .../runnables/party/PartyAutoKickTask.java | 5 +- .../runnables/party/PartyChatTask.java | 6 +- .../player/ClearRegisteredXPGainTask.java | 5 +- .../player/PersistentPlayerDataSaveTask.java | 18 + .../player/PlayerProfileLoadingTask.java | 13 +- .../player/PlayerProfileSaveTask.java | 19 - .../runnables/skills/AbilityCooldownTask.java | 14 +- .../runnables/skills/AbilityDisableTask.java | 18 +- .../runnables/skills/AlchemyBrewTask.java | 5 +- .../runnables/skills/AwardCombatXpTask.java | 8 +- .../skills/DelayedHerbalismXPCheckTask.java | 8 +- .../skills/ExperienceBarHideTask.java | 18 +- .../skills/SkillUnlockNotificationTask.java | 12 +- .../runnables/skills/ToolLowerTask.java | 12 +- .../gmail/nossr50/skills/SkillManager.java | 14 +- .../skills/acrobatics/AcrobaticsManager.java | 8 +- .../skills/alchemy/AlchemyManager.java | 4 +- .../skills/alchemy/AlchemyPotionBrewer.java | 9 +- .../skills/archery/ArcheryManager.java | 6 +- .../nossr50/skills/axes/AxesManager.java | 20 +- .../skills/crossbows/CrossbowManager.java | 12 +- .../skills/excavation/ExcavationManager.java | 4 +- .../skills/fishing/FishingManager.java | 4 +- .../skills/herbalism/HerbalismManager.java | 24 +- .../nossr50/skills/mining/BlastMining.java | 7 +- .../nossr50/skills/mining/MiningManager.java | 18 +- .../nossr50/skills/repair/RepairManager.java | 4 +- .../skills/salvage/SalvageManager.java | 4 +- .../skills/smelting/SmeltingManager.java | 4 +- .../nossr50/skills/swords/SwordsManager.java | 12 +- .../nossr50/skills/taming/TamingManager.java | 4 +- .../skills/tridents/TridentManager.java | 4 +- .../skills/unarmed/UnarmedManager.java | 17 +- .../woodcutting/WoodcuttingManager.java | 6 +- .../com/gmail/nossr50/util/ChimaeraWing.java | 25 +- .../com/gmail/nossr50/util/EventUtils.java | 37 +- .../gmail/nossr50/util/HardcoreManager.java | 11 +- .../gmail/nossr50/util/HolidayManager.java | 3 +- .../java/com/gmail/nossr50/util/Misc.java | 3 +- .../nossr50/util/commands/CommandUtils.java | 17 +- .../util/experience/ExperienceBarManager.java | 193 ------- .../util/experience/ExperienceBarWrapper.java | 30 +- .../util/input/SuperAbilityManager.java | 6 +- .../util/player/NotificationManager.java | 36 +- .../nossr50/util/player/PlayerLevelUtils.java | 6 +- .../nossr50/util/player/UserManager.java | 218 +++++-- .../util/random/RandomChanceSkill.java | 25 +- .../util/scoreboards/ScoreboardManager.java | 9 +- .../util/scoreboards/ScoreboardWrapper.java | 35 +- .../nossr50/util/skills/CombatUtils.java | 124 ++-- .../gmail/nossr50/util/skills/PerksUtils.java | 5 +- .../gmail/nossr50/util/skills/RankUtils.java | 19 +- .../gmail/nossr50/util/skills/SkillUtils.java | 47 +- .../nossr50/util/skills/SmeltingTracker.java | 15 +- src/main/resources/config.yml | 9 - src/main/resources/mods/armor.default.yml | 131 ----- src/main/resources/mods/blocks.default.yml | 57 -- src/main/resources/mods/entities.default.yml | 42 -- src/main/resources/mods/tools.default.yml | 220 ------- src/main/resources/treasures.yml | 4 + 161 files changed, 1934 insertions(+), 2575 deletions(-) create mode 100644 src/main/java/com/gmail/nossr50/api/exceptions/UnexpectedValueException.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyAllianceManager.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyExperienceManager.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyInvite.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyInviteManager.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyItemShareManager.java delete mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyLeader.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyMember.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberManager.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberRank.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/validation/NonNullRule.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/validation/PositiveIntegerRule.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/validation/Rule.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/validation/Validates.java create mode 100644 src/main/java/com/gmail/nossr50/datatypes/validation/Validator.java create mode 100644 src/main/java/com/gmail/nossr50/runnables/player/PersistentPlayerDataSaveTask.java delete mode 100644 src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileSaveTask.java delete mode 100644 src/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java delete mode 100644 src/main/resources/mods/armor.default.yml delete mode 100644 src/main/resources/mods/blocks.default.yml delete mode 100644 src/main/resources/mods/entities.default.yml delete mode 100644 src/main/resources/mods/tools.default.yml diff --git a/Changelog.txt b/Changelog.txt index 9d4674e27..0352fad39 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -42,9 +42,21 @@ Version 2.2.000 Added new locale string 'Crossbows.SubSkill.CrossbowsLimitBreak.Description' Added new locale string 'Crossbows.SubSkill.CrossbowsLimitBreak.Stat' + Player Power Levels no longer need to pass permission checks when summing skills + Minor improvements to how player data is serialized + SMP mod settings removed from config.yml (this is a legacy feature and didn't really do anything anymore) + Refactored & Optimized a bunch of code involving player and party data + Added XP bar settings for Tridents & Crossbows to experience.yml Changed some debug level logging to info level for convenience - XP Bar settings (set by /mmoxpbar command) are now saved per player + + Database Changes + XP Bar settings (set by /mmoxpbar command) are now saved + Players can now be marked as exempt from leadboards + Party Chat Spy toggle is now saved + (FlatFile) Fixed a bug where last login was not being saved + Schema updated for the new skills and supers and things mentioned above + Notes: These are the first new skills that I've written for mcMMO in about 9 years, I'll be listening closely to feedback and tweaking them often. @@ -1080,7 +1092,7 @@ Version 2.1.43 Version 2.1.42 Fixed McMMOPlayerNotFoundException being thrown instead of null - (API) UserManager.getPlayer() returns null again (oopsie) + (API) mcMMO.getUserManager().getPlayer() returns null again (oopsie) Added new perk permission node `mcmmo.perks.bypass.salvageenchant` - guarantees full enchantment return for Salvage Added alternative permission node `mcmmo.perks.bypass.repairenchant` - guarantees full enchantment return for Repair Added new wildcard perk `mcmmo.perks.bypass.*` and `mcmmo.perks.bypass.all` (either of these will grant all new mcmmo.perks.bypass perk permissions) @@ -1096,7 +1108,7 @@ Version 2.1.41 Fixed a display error preventing the remaining time on /mcrank from being shown if it was on cooldown Version 2.1.40 - (API) mcMMO will now return null in all cases for UserManager.getPlayerProfile() if they have not been loaded yet + (API) mcMMO will now return null in all cases for mcMMO.getUserManager() if they have not been loaded yet (API) Roll stores exploit data in AcrobaticsManager now Added new locale string "Profile.Loading.FailureNotice" Added new locale string "Profile.Loading.FailurePlayer" @@ -1661,7 +1673,7 @@ Version 1.5.01 = Fixed bug where pistons would mess with the block tracking = Fixed bug where the Updater was running on the main thread. = Fixed bug when players would use /ptp without being in a party - = Fixed bug where player didn't have a mcMMOPlayer object in AsyncPlayerChatEvent + = Fixed bug where player didn't have a mmoPlayer object in AsyncPlayerChatEvent = Fixed bug where dodge would check the wrong player skill level = Fixed bug which causes /party teleport to stop working = Fixed bug where SaveTimerTask would produce an IndexOutOfBoundsException diff --git a/src/main/java/com/gmail/nossr50/api/AbilityAPI.java b/src/main/java/com/gmail/nossr50/api/AbilityAPI.java index 7520323e5..dafcb7d08 100644 --- a/src/main/java/com/gmail/nossr50/api/AbilityAPI.java +++ b/src/main/java/com/gmail/nossr50/api/AbilityAPI.java @@ -2,8 +2,8 @@ package com.gmail.nossr50.api; 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 UserManager.getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK); + return mcMMO.getUserManager().getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK); } public static boolean gigaDrillBreakerEnabled(Player player) { - return UserManager.getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER); + return mcMMO.getUserManager().getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER); } public static boolean greenTerraEnabled(Player player) { - return UserManager.getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA); + return mcMMO.getUserManager().getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA); } public static boolean serratedStrikesEnabled(Player player) { - return UserManager.getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SERRATED_STRIKES); + return mcMMO.getUserManager().getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SERRATED_STRIKES); } public static boolean skullSplitterEnabled(Player player) { - return UserManager.getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SKULL_SPLITTER); + return mcMMO.getUserManager().getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SKULL_SPLITTER); } public static boolean superBreakerEnabled(Player player) { - return UserManager.getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER); + return mcMMO.getUserManager().getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER); } public static boolean treeFellerEnabled(Player player) { - return UserManager.getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.TREE_FELLER); + return mcMMO.getUserManager().getPlayer(player).getSuperAbilityManager().getAbilityMode(SuperAbilityType.TREE_FELLER); } public static boolean isAnyAbilityEnabled(Player player) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); for (SuperAbilityType ability : SuperAbilityType.values()) { - if (mcMMOPlayer.getSuperAbilityManager().getAbilityMode(ability)) { + if (mmoPlayer.getSuperAbilityManager().getAbilityMode(ability)) { return true; } } @@ -51,35 +51,35 @@ public final class AbilityAPI { } public static void resetCooldowns(Player player) { - UserManager.getPlayer(player).resetCooldowns(); + mcMMO.getUserManager().getPlayer(player).getPersistentPlayerData().resetCooldowns(); } public static void setBerserkCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.BERSERK, cooldown); + mcMMO.getUserManager().getPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.BERSERK, cooldown); } public static void setGigaDrillBreakerCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.GIGA_DRILL_BREAKER, cooldown); + mcMMO.getUserManager().getPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.GIGA_DRILL_BREAKER, cooldown); } public static void setGreenTerraCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.GREEN_TERRA, cooldown); + mcMMO.getUserManager().getPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.GREEN_TERRA, cooldown); } public static void setSerratedStrikesCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.SERRATED_STRIKES, cooldown); + mcMMO.getUserManager().getPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.SERRATED_STRIKES, cooldown); } public static void setSkullSplitterCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.SKULL_SPLITTER, cooldown); + mcMMO.getUserManager().getPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.SKULL_SPLITTER, cooldown); } public static void setSuperBreakerCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.SUPER_BREAKER, cooldown); + mcMMO.getUserManager().getPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.SUPER_BREAKER, cooldown); } public static void setTreeFellerCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).setAbilityDATS(SuperAbilityType.TREE_FELLER, cooldown); + mcMMO.getUserManager().getPlayer(player).getPersistentPlayerData().setAbilityDATS(SuperAbilityType.TREE_FELLER, cooldown); } public static boolean isBleeding(LivingEntity entity) { diff --git a/src/main/java/com/gmail/nossr50/api/ChatAPI.java b/src/main/java/com/gmail/nossr50/api/ChatAPI.java index 7e4434316..77c24d063 100644 --- a/src/main/java/com/gmail/nossr50/api/ChatAPI.java +++ b/src/main/java/com/gmail/nossr50/api/ChatAPI.java @@ -4,8 +4,6 @@ import com.gmail.nossr50.chat.ChatManager; import com.gmail.nossr50.chat.ChatManagerFactory; import com.gmail.nossr50.chat.PartyChatManager; import com.gmail.nossr50.datatypes.chat.ChatMode; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -75,7 +73,7 @@ public final class ChatAPI { * @return true if the player is using party chat, false otherwise */ public static boolean isUsingPartyChat(Player player) { - return UserManager.getPlayer(player).isChatEnabled(ChatMode.PARTY); + return mcMMO.getUserManager().getPlayer(player).isChatEnabled(ChatMode.PARTY); } /** @@ -85,7 +83,7 @@ public final class ChatAPI { * @return true if the player is using party chat, false otherwise */ public static boolean isUsingPartyChat(String playerName) { - return UserManager.getPlayer(playerName).isChatEnabled(ChatMode.PARTY); + return mcMMO.getUserManager().getPlayer(playerName).isChatEnabled(ChatMode.PARTY); } /** @@ -95,7 +93,7 @@ public final class ChatAPI { * @return true if the player is using admin chat, false otherwise */ public static boolean isUsingAdminChat(Player player) { - return UserManager.getPlayer(player).isChatEnabled(ChatMode.ADMIN); + return mcMMO.getUserManager().getPlayer(player).isChatEnabled(ChatMode.ADMIN); } /** @@ -105,7 +103,7 @@ public final class ChatAPI { * @return true if the player is using admin chat, false otherwise */ public static boolean isUsingAdminChat(String playerName) { - return UserManager.getPlayer(playerName).isChatEnabled(ChatMode.ADMIN); + return mcMMO.getUserManager().getPlayer(playerName).isChatEnabled(ChatMode.ADMIN); } /** @@ -114,7 +112,7 @@ public final class ChatAPI { * @param player The player to toggle party chat on. */ public static void togglePartyChat(Player player) { - UserManager.getPlayer(player).toggleChat(ChatMode.PARTY); + mcMMO.getUserManager().getPlayer(player).toggleChat(ChatMode.PARTY); } /** @@ -123,7 +121,7 @@ public final class ChatAPI { * @param playerName The name of the player to toggle party chat on. */ public static void togglePartyChat(String playerName) { - UserManager.getPlayer(playerName).toggleChat(ChatMode.PARTY); + mcMMO.getUserManager().getPlayer(playerName).toggleChat(ChatMode.PARTY); } /** @@ -132,7 +130,7 @@ public final class ChatAPI { * @param player The player to toggle admin chat on. */ public static void toggleAdminChat(Player player) { - UserManager.getPlayer(player).toggleChat(ChatMode.ADMIN); + mcMMO.getUserManager().getPlayer(player).toggleChat(ChatMode.ADMIN); } /** @@ -141,12 +139,12 @@ public final class ChatAPI { * @param playerName The name of the player to toggle party chat on. */ public static void toggleAdminChat(String playerName) { - UserManager.getPlayer(playerName).toggleChat(ChatMode.ADMIN); + mcMMO.getUserManager().getPlayer(playerName).toggleChat(ChatMode.ADMIN); } private static ChatManager getPartyChatManager(Plugin plugin, String party) { ChatManager chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.PARTY); - ((PartyChatManager) chatManager).setParty(PartyManager.getParty(party)); + ((PartyChatManager) chatManager).setParty(mcMMO.getPartyManager().getParty(party)); return chatManager; } diff --git a/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java b/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java index 69a4e1e28..c582531a8 100644 --- a/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java +++ b/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java @@ -11,7 +11,6 @@ import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.child.FamilyTree; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.CombatUtils; import org.bukkit.block.BlockState; import org.bukkit.entity.LivingEntity; @@ -41,29 +40,29 @@ public final class ExperienceAPI { * Start the task that gives combat XP. * Processes combat XP like mcMMO normally would, so mcMMO will check whether or not the entity should reward XP when giving out the XP * - * @param mcMMOPlayer The attacking player + * @param mmoPlayer The attacking player * @param target The defending entity * @param primarySkillType The skill being used * @param multiplier final XP result will be multiplied by this * @deprecated Draft API */ @Deprecated - public static void addCombatXP(McMMOPlayer mcMMOPlayer, LivingEntity target, PrimarySkillType primarySkillType, double multiplier) { - CombatUtils.processCombatXP(mcMMOPlayer, target, primarySkillType, multiplier); + public static void addCombatXP(McMMOPlayer mmoPlayer, LivingEntity target, PrimarySkillType primarySkillType, double multiplier) { + CombatUtils.processCombatXP(mmoPlayer, target, primarySkillType, multiplier); } /** * Start the task that gives combat XP. * Processes combat XP like mcMMO normally would, so mcMMO will check whether or not the entity should reward XP when giving out the XP * - * @param mcMMOPlayer The attacking player + * @param mmoPlayer The attacking player * @param target The defending entity * @param primarySkillType The skill being used * @deprecated Draft API */ @Deprecated - public static void addCombatXP(McMMOPlayer mcMMOPlayer, LivingEntity target, PrimarySkillType primarySkillType) { - CombatUtils.processCombatXP(mcMMOPlayer, target, primarySkillType); + public static void addCombatXP(McMMOPlayer mmoPlayer, LivingEntity target, PrimarySkillType primarySkillType) { + CombatUtils.processCombatXP(mmoPlayer, target, primarySkillType); } /** @@ -136,11 +135,11 @@ public final class ExperienceAPI { */ public static void addRawXP(Player player, String skillType, float XP, String xpGainReason, boolean isUnshared) { if (isUnshared) { - getPlayer(player).beginUnsharedXpGain(getSkillType(skillType), XP, getXPGainReason(xpGainReason), XPGainSource.CUSTOM); + getPlayer(player).getExperienceManager().beginUnsharedXpGain(player, getSkillType(skillType), XP, getXPGainReason(xpGainReason), XPGainSource.CUSTOM); return; } - getPlayer(player).applyXpGain(getSkillType(skillType), XP, getXPGainReason(xpGainReason), XPGainSource.CUSTOM); + getPlayer(player).getExperienceManager().applyXpGain(player, getSkillType(skillType), XP, getXPGainReason(xpGainReason), XPGainSource.CUSTOM); } /** @@ -222,7 +221,7 @@ public final class ExperienceAPI { * @throws InvalidXPGainReasonException if the given xpGainReason is not valid */ public static void addMultipliedXP(Player player, String skillType, int XP, String xpGainReason) { - getPlayer(player).applyXpGain(getSkillType(skillType), (int) (XP * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()), getXPGainReason(xpGainReason), XPGainSource.CUSTOM); + getPlayer(player).getExperienceManager().applyXpGain(player, getSkillType(skillType), (int) (XP * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()), getXPGainReason(xpGainReason), XPGainSource.CUSTOM); } /** @@ -293,11 +292,11 @@ public final class ExperienceAPI { PrimarySkillType skill = getSkillType(skillType); if (isUnshared) { - getPlayer(player).beginUnsharedXpGain(skill, (int) (XP / skill.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()), getXPGainReason(xpGainReason), XPGainSource.CUSTOM); + getPlayer(player).getExperienceManager().beginUnsharedXpGain(player, skill, (int) (XP / skill.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()), getXPGainReason(xpGainReason), XPGainSource.CUSTOM); return; } - getPlayer(player).applyXpGain(skill, (int) (XP / skill.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()), getXPGainReason(xpGainReason), XPGainSource.CUSTOM); + getPlayer(player).getExperienceManager().applyXpGain(player, skill, (int) (XP / skill.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()), getXPGainReason(xpGainReason), XPGainSource.CUSTOM); } /** @@ -371,11 +370,11 @@ public final class ExperienceAPI { */ public static void addXP(Player player, String skillType, int XP, String xpGainReason, boolean isUnshared) { if (isUnshared) { - getPlayer(player).beginUnsharedXpGain(getSkillType(skillType), XP, getXPGainReason(xpGainReason), XPGainSource.CUSTOM); + getPlayer(player).getExperienceManager().beginUnsharedXpGain(player, getSkillType(skillType), XP, getXPGainReason(xpGainReason), XPGainSource.CUSTOM); return; } - getPlayer(player).beginXpGain(getSkillType(skillType), XP, getXPGainReason(xpGainReason), XPGainSource.CUSTOM); + getPlayer(player).getExperienceManager().beginXpGain(player, getSkillType(skillType), XP, getXPGainReason(xpGainReason), XPGainSource.CUSTOM); } /** @@ -391,7 +390,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static int getXP(Player player, String skillType) { - return getPlayer(player).getSkillXpLevel(getNonChildSkillType(skillType)); + return getPlayer(player).getExperienceManager().getSkillXpLevel(getNonChildSkillType(skillType)); } /** @@ -409,7 +408,7 @@ public final class ExperienceAPI { */ @Deprecated public static int getOfflineXP(String playerName, String skillType) { - return getOfflineProfile(playerName).getSkillXpLevel(getNonChildSkillType(skillType)); + return getOfflineProfile(playerName).getExperienceManager().getSkillXpLevel(getNonChildSkillType(skillType)); } /** @@ -426,7 +425,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static int getOfflineXP(UUID uuid, String skillType) { - return getOfflineProfile(uuid).getSkillXpLevel(getNonChildSkillType(skillType)); + return getOfflineProfile(uuid).getExperienceManager().getSkillXpLevel(getNonChildSkillType(skillType)); } /** @@ -442,7 +441,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static float getXPRaw(Player player, String skillType) { - return getPlayer(player).getSkillXpLevelRaw(getNonChildSkillType(skillType)); + return getPlayer(player).getExperienceManager().getSkillXpLevelRaw(getNonChildSkillType(skillType)); } /** @@ -460,7 +459,7 @@ public final class ExperienceAPI { */ @Deprecated public static float getOfflineXPRaw(String playerName, String skillType) { - return getOfflineProfile(playerName).getSkillXpLevelRaw(getNonChildSkillType(skillType)); + return getOfflineProfile(playerName).getExperienceManager().getSkillXpLevelRaw(getNonChildSkillType(skillType)); } /** @@ -477,7 +476,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static float getOfflineXPRaw(UUID uuid, String skillType) { - return getOfflineProfile(uuid).getSkillXpLevelRaw(getNonChildSkillType(skillType)); + return getOfflineProfile(uuid).getExperienceManager().getSkillXpLevelRaw(getNonChildSkillType(skillType)); } /** @@ -493,7 +492,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static int getXPToNextLevel(Player player, String skillType) { - return getPlayer(player).getXpToLevel(getNonChildSkillType(skillType)); + return getPlayer(player).getExperienceManager().getXpToLevel(getNonChildSkillType(skillType)); } /** @@ -511,7 +510,7 @@ public final class ExperienceAPI { */ @Deprecated public static int getOfflineXPToNextLevel(String playerName, String skillType) { - return getOfflineProfile(playerName).getXpToLevel(getNonChildSkillType(skillType)); + return getOfflineProfile(playerName).getExperienceManager().getXpToLevel(getNonChildSkillType(skillType)); } /** @@ -528,7 +527,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static int getOfflineXPToNextLevel(UUID uuid, String skillType) { - return getOfflineProfile(uuid).getXpToLevel(getNonChildSkillType(skillType)); + return getOfflineProfile(uuid).getExperienceManager().getXpToLevel(getNonChildSkillType(skillType)); } /** @@ -546,9 +545,9 @@ public final class ExperienceAPI { public static int getXPRemaining(Player player, String skillType) { PrimarySkillType skill = getNonChildSkillType(skillType); - PlayerProfile profile = getPlayer(player).getProfile(); + PlayerProfile profile = getPlayer(player); - return profile.getXpToLevel(skill) - profile.getSkillXpLevel(skill); + return profile.getExperienceManager().getXpToLevel(skill) - profile.getExperienceManager().getSkillXpLevel(skill); } /** @@ -569,7 +568,7 @@ public final class ExperienceAPI { PrimarySkillType skill = getNonChildSkillType(skillType); PlayerProfile profile = getOfflineProfile(playerName); - return profile.getXpToLevel(skill) - profile.getSkillXpLevel(skill); + return profile.getExperienceManager().getXpToLevel(skill) - profile.getExperienceManager().getSkillXpLevel(skill); } /** @@ -589,7 +588,7 @@ public final class ExperienceAPI { PrimarySkillType skill = getNonChildSkillType(skillType); PlayerProfile profile = getOfflineProfile(uuid); - return profile.getXpToLevel(skill) - profile.getSkillXpLevelRaw(skill); + return profile.getExperienceManager().getXpToLevel(skill) - profile.getExperienceManager().getSkillXpLevelRaw(skill); } /** @@ -604,7 +603,7 @@ public final class ExperienceAPI { * @throws InvalidSkillException if the given skill is not valid */ public static void addLevel(Player player, String skillType, int levels) { - getPlayer(player).addLevels(getSkillType(skillType), levels); + getPlayer(player).getExperienceManager().addLevels(getSkillType(skillType), levels); } /** @@ -628,15 +627,15 @@ public final class ExperienceAPI { Set parentSkills = FamilyTree.getParents(skill); for (PrimarySkillType parentSkill : parentSkills) { - profile.addLevels(parentSkill, (levels / parentSkills.size())); + profile.getExperienceManager().addLevels(parentSkill, (levels / parentSkills.size())); } - profile.scheduleAsyncSave(); + mcMMO.getUserManager().scheduleAsyncSave(profile.getPersistentPlayerData()); return; } - profile.addLevels(skill, levels); - profile.scheduleAsyncSave(); + profile.getExperienceManager().addLevels(skill, levels); + mcMMO.getUserManager().scheduleAsyncSave(profile.getPersistentPlayerData()); } /** @@ -659,15 +658,15 @@ public final class ExperienceAPI { Set parentSkills = FamilyTree.getParents(skill); for (PrimarySkillType parentSkill : parentSkills) { - profile.addLevels(parentSkill, (levels / parentSkills.size())); + profile.getExperienceManager().addLevels(parentSkill, (levels / parentSkills.size())); } - profile.scheduleAsyncSave(); + mcMMO.getUserManager().scheduleAsyncSave(profile.getPersistentPlayerData()); return; } - profile.addLevels(skill, levels); - profile.scheduleAsyncSave(); + profile.getExperienceManager().addLevels(skill, levels); + mcMMO.getUserManager().scheduleAsyncSave(profile.getPersistentPlayerData()); } /** @@ -684,7 +683,7 @@ public final class ExperienceAPI { */ @Deprecated public static int getLevel(Player player, String skillType) { - return getPlayer(player).getSkillLevel(getSkillType(skillType)); + return getPlayer(player).getExperienceManager().getSkillLevel(getSkillType(skillType)); } /** @@ -699,7 +698,7 @@ public final class ExperienceAPI { * @throws InvalidSkillException if the given skill is not valid */ public static int getLevel(Player player, PrimarySkillType skillType) { - return getPlayer(player).getSkillLevel(skillType); + return getPlayer(player).getExperienceManager().getSkillLevel(skillType); } /** @@ -716,7 +715,7 @@ public final class ExperienceAPI { */ @Deprecated public static int getLevelOffline(String playerName, String skillType) { - return getOfflineProfile(playerName).getSkillLevel(getSkillType(skillType)); + return getOfflineProfile(playerName).getExperienceManager().getSkillLevel(getSkillType(skillType)); } /** @@ -732,7 +731,7 @@ public final class ExperienceAPI { * @throws InvalidPlayerException if the given player does not exist in the database */ public static int getLevelOffline(UUID uuid, String skillType) { - return getOfflineProfile(uuid).getSkillLevel(getSkillType(skillType)); + return getOfflineProfile(uuid).getExperienceManager().getSkillLevel(getSkillType(skillType)); } /** @@ -744,7 +743,7 @@ public final class ExperienceAPI { * @return the power level of the player */ public static int getPowerLevel(Player player) { - return getPlayer(player).getPowerLevel(); + return getPlayer(player).getExperienceManager().getPowerLevel(); } /** @@ -763,7 +762,7 @@ public final class ExperienceAPI { PlayerProfile profile = getOfflineProfile(playerName); for (PrimarySkillType type : PrimarySkillType.NON_CHILD_SKILLS) { - powerLevel += profile.getSkillLevel(type); + powerLevel += profile.getExperienceManager().getSkillLevel(type); } return powerLevel; @@ -784,7 +783,7 @@ public final class ExperienceAPI { PlayerProfile profile = getOfflineProfile(uuid); for (PrimarySkillType type : PrimarySkillType.NON_CHILD_SKILLS) { - powerLevel += profile.getSkillLevel(type); + powerLevel += profile.getExperienceManager().getSkillLevel(type); } return powerLevel; @@ -895,7 +894,7 @@ public final class ExperienceAPI { * @throws InvalidSkillException if the given skill is not valid */ public static void setLevel(Player player, String skillType, int skillLevel) { - getPlayer(player).modifySkill(getSkillType(skillType), skillLevel); + getPlayer(player).getExperienceManager().modifySkill(getSkillType(skillType), skillLevel); } /** @@ -912,7 +911,7 @@ public final class ExperienceAPI { */ @Deprecated public static void setLevelOffline(String playerName, String skillType, int skillLevel) { - getOfflineProfile(playerName).modifySkill(getSkillType(skillType), skillLevel); + getOfflineProfile(playerName).getExperienceManager().modifySkill(getSkillType(skillType), skillLevel); } /** @@ -928,7 +927,7 @@ public final class ExperienceAPI { * @throws InvalidPlayerException if the given player does not exist in the database */ public static void setLevelOffline(UUID uuid, String skillType, int skillLevel) { - getOfflineProfile(uuid).modifySkill(getSkillType(skillType), skillLevel); + getOfflineProfile(uuid).getExperienceManager().modifySkill(getSkillType(skillType), skillLevel); } /** @@ -944,7 +943,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static void setXP(Player player, String skillType, int newValue) { - getPlayer(player).setSkillXpLevel(getNonChildSkillType(skillType), newValue); + getPlayer(player).getExperienceManager().setSkillXpLevel(getNonChildSkillType(skillType), (float) newValue); } /** @@ -962,7 +961,7 @@ public final class ExperienceAPI { */ @Deprecated public static void setXPOffline(String playerName, String skillType, int newValue) { - getOfflineProfile(playerName).setSkillXpLevel(getNonChildSkillType(skillType), newValue); + getOfflineProfile(playerName).getExperienceManager().setSkillXpLevel(getNonChildSkillType(skillType), newValue); } /** @@ -979,7 +978,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static void setXPOffline(UUID uuid, String skillType, int newValue) { - getOfflineProfile(uuid).setSkillXpLevel(getNonChildSkillType(skillType), newValue); + getOfflineProfile(uuid).getExperienceManager().setSkillXpLevel(getNonChildSkillType(skillType), newValue); } /** @@ -995,7 +994,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static void removeXP(Player player, String skillType, int xp) { - getPlayer(player).removeXp(getNonChildSkillType(skillType), xp); + getPlayer(player).getExperienceManager().removeXp(getNonChildSkillType(skillType), xp); } /** @@ -1013,7 +1012,7 @@ public final class ExperienceAPI { */ @Deprecated public static void removeXPOffline(String playerName, String skillType, int xp) { - getOfflineProfile(playerName).removeXp(getNonChildSkillType(skillType), xp); + getOfflineProfile(playerName).getExperienceManager().removeXp(getNonChildSkillType(skillType), xp); } /** @@ -1030,7 +1029,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static void removeXPOffline(UUID uuid, String skillType, int xp) { - getOfflineProfile(uuid).removeXp(getNonChildSkillType(skillType), xp); + getOfflineProfile(uuid).getExperienceManager().removeXp(getNonChildSkillType(skillType), xp); } /** @@ -1063,9 +1062,9 @@ public final class ExperienceAPI { /** * Will add the appropriate type of XP from the block to the player based on the material of the blocks given * @param blockStates the blocks to reward XP for - * @param mcMMOPlayer the target player + * @param mmoPlayer the target player */ - public static void addXpFromBlocks(ArrayList blockStates, McMMOPlayer mcMMOPlayer) + public static void addXpFromBlocks(ArrayList blockStates, McMMOPlayer mmoPlayer) { for(BlockState bs : blockStates) { @@ -1073,7 +1072,7 @@ public final class ExperienceAPI { { if(ExperienceConfig.getInstance().getXp(skillType, bs.getType()) > 0) { - mcMMOPlayer.applyXpGain(skillType, ExperienceConfig.getInstance().getXp(skillType, bs.getType()), XPGainReason.PVE, XPGainSource.SELF); + mmoPlayer.getExperienceManager().applyXpGain(mmoPlayer.getPlayer(), skillType, ExperienceConfig.getInstance().getXp(skillType, bs.getType()), XPGainReason.PVE, XPGainSource.SELF); } } } @@ -1082,16 +1081,16 @@ public final class ExperienceAPI { /** * Will add the appropriate type of XP from the block to the player based on the material of the blocks given if it matches the given skillType * @param blockStates the blocks to reward XP for - * @param mcMMOPlayer the target player + * @param mmoPlayer the target player * @param skillType target primary skill */ - public static void addXpFromBlocksBySkill(ArrayList blockStates, McMMOPlayer mcMMOPlayer, PrimarySkillType skillType) + public static void addXpFromBlocksBySkill(ArrayList blockStates, McMMOPlayer mmoPlayer, PrimarySkillType skillType) { for(BlockState bs : blockStates) { if(ExperienceConfig.getInstance().getXp(skillType, bs.getType()) > 0) { - mcMMOPlayer.applyXpGain(skillType, ExperienceConfig.getInstance().getXp(skillType, bs.getType()), XPGainReason.PVE, XPGainSource.SELF); + mmoPlayer.getExperienceManager().applyXpGain(mmoPlayer.getPlayer(), skillType, ExperienceConfig.getInstance().getXp(skillType, bs.getType()), XPGainReason.PVE, XPGainSource.SELF); } } } @@ -1099,15 +1098,15 @@ public final class ExperienceAPI { /** * Will add the appropriate type of XP from the block to the player based on the material of the blocks given * @param blockState The target blockstate - * @param mcMMOPlayer The target player + * @param mmoPlayer The target player */ - public static void addXpFromBlock(BlockState blockState, McMMOPlayer mcMMOPlayer) + public static void addXpFromBlock(BlockState blockState, McMMOPlayer mmoPlayer) { for(PrimarySkillType skillType : PrimarySkillType.values()) { if(ExperienceConfig.getInstance().getXp(skillType, blockState.getType()) > 0) { - mcMMOPlayer.applyXpGain(skillType, ExperienceConfig.getInstance().getXp(skillType, blockState.getType()), XPGainReason.PVE, XPGainSource.SELF); + mmoPlayer.getExperienceManager().applyXpGain(mmoPlayer.getPlayer(), skillType, ExperienceConfig.getInstance().getXp(skillType, blockState.getType()), XPGainReason.PVE, XPGainSource.SELF); } } } @@ -1115,14 +1114,14 @@ public final class ExperienceAPI { /** * Will add the appropriate type of XP from the block to the player based on the material of the blocks given if it matches the given skillType * @param blockState The target blockstate - * @param mcMMOPlayer The target player + * @param mmoPlayer The target player * @param skillType target primary skill */ - public static void addXpFromBlockBySkill(BlockState blockState, McMMOPlayer mcMMOPlayer, PrimarySkillType skillType) + public static void addXpFromBlockBySkill(BlockState blockState, McMMOPlayer mmoPlayer, PrimarySkillType skillType) { if(ExperienceConfig.getInstance().getXp(skillType, blockState.getType()) > 0) { - mcMMOPlayer.applyXpGain(skillType, ExperienceConfig.getInstance().getXp(skillType, blockState.getType()), XPGainReason.PVE, XPGainSource.SELF); + mmoPlayer.getExperienceManager().applyXpGain(mmoPlayer.getPlayer(), skillType, ExperienceConfig.getInstance().getXp(skillType, blockState.getType()), XPGainReason.PVE, XPGainSource.SELF); } } @@ -1132,22 +1131,22 @@ public final class ExperienceAPI { private static void addOfflineXP(UUID playerUniqueId, PrimarySkillType skill, int XP) { PlayerProfile profile = getOfflineProfile(playerUniqueId); - profile.addXp(skill, XP); - profile.save(true); + profile.getExperienceManager().addXp(skill, XP); + mcMMO.getUserManager().scheduleAsyncSave(profile.getPersistentPlayerData()); } @Deprecated private static void addOfflineXP(String playerName, PrimarySkillType skill, int XP) { PlayerProfile profile = getOfflineProfile(playerName); - profile.addXp(skill, XP); - profile.scheduleAsyncSave(); + profile.getExperienceManager().addXp(skill, XP); + mcMMO.getUserManager().scheduleAsyncSave(profile.getPersistentPlayerData()); } private static PlayerProfile getOfflineProfile(UUID uuid) { PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(uuid); - if (!profile.isLoaded()) { + if (profile == null) { throw new InvalidPlayerException(); } @@ -1159,7 +1158,7 @@ public final class ExperienceAPI { UUID uuid = mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(); PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(uuid); - if (!profile.isLoaded()) { + if (profile == null) { throw new InvalidPlayerException(); } @@ -1214,10 +1213,10 @@ public final class ExperienceAPI { */ @Deprecated private static McMMOPlayer getPlayer(Player player) throws McMMOPlayerNotFoundException { - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { throw new McMMOPlayerNotFoundException(player); } - return UserManager.getPlayer(player); + return mcMMO.getUserManager().getPlayer(player); } } diff --git a/src/main/java/com/gmail/nossr50/api/PartyAPI.java b/src/main/java/com/gmail/nossr50/api/PartyAPI.java index 97a2bbe40..503b4700e 100644 --- a/src/main/java/com/gmail/nossr50/api/PartyAPI.java +++ b/src/main/java/com/gmail/nossr50/api/PartyAPI.java @@ -3,11 +3,8 @@ 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; @@ -29,7 +26,7 @@ public final class PartyAPI { return null; } - return UserManager.getPlayer(player).getParty().getName(); + return mcMMO.getUserManager().getPlayer(player).getParty().getName(); } /** @@ -41,10 +38,10 @@ public final class PartyAPI { * @return true if the player is in a party, false otherwise */ public static boolean inParty(Player player) { - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return false; - return UserManager.getPlayer(player).inParty(); + return mcMMO.getUserManager().getPlayer(player).inParty(); } /** @@ -57,7 +54,7 @@ public final class PartyAPI { * @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); + return mcMMO.getPartyManager().inSameParty(playera, playerb); } /** @@ -68,7 +65,7 @@ public final class PartyAPI { * @return the list of parties. */ public static List getParties() { - return PartyManager.getParties(); + return mcMMO.getPartyManager().getParties(); } /** @@ -83,22 +80,22 @@ public final class PartyAPI { @Deprecated public static void addToParty(Player player, String partyName) { //Check if player profile is loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return; - Party party = PartyManager.getParty(partyName); + Party party = mcMMO.getPartyManager().getParty(partyName); if (party == null) { party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); } else { - if(PartyManager.isPartyFull(player, party)) + if(mcMMO.getPartyManager().isPartyFull(player, party)) { NotificationManager.sendPlayerInformation(player, NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull", party.toString()); return; } } - PartyManager.addToParty(UserManager.getPlayer(player), party); + mcMMO.getPartyManager().addToParty(mcMMO.getUserManager().getPlayer(player), party); } /** @@ -123,16 +120,16 @@ public final class PartyAPI { //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) + if(mcMMO.getUserManager().getPlayer(player) == null) return; - Party party = PartyManager.getParty(partyName); + Party party = mcMMO.getPartyManager().getParty(partyName); if (party == null) { party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName); } - PartyManager.addToParty(UserManager.getPlayer(player), party); + mcMMO.getPartyManager().addToParty(mcMMO.getUserManager().getPlayer(player), party); } /** @@ -144,10 +141,10 @@ public final class PartyAPI { */ public static void removeFromParty(Player player) { //Check if player profile is loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return; - PartyManager.removeFromParty(UserManager.getPlayer(player)); + mcMMO.getPartyManager().removeFromParty(mcMMO.getUserManager().getPlayer(player)); } /** @@ -159,7 +156,7 @@ public final class PartyAPI { * @return the leader of the party */ public static String getPartyLeader(String partyName) { - return PartyManager.getPartyLeaderName(partyName); + return mcMMO.getPartyManager().getPartyLeaderName(partyName); } /** @@ -172,7 +169,7 @@ public final class PartyAPI { */ @Deprecated public static void setPartyLeader(String partyName, String playerName) { - PartyManager.setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), PartyManager.getParty(partyName)); + mcMMO.getPartyManager().setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), mcMMO.getPartyManager().getParty(partyName)); } /** @@ -187,7 +184,7 @@ public final class PartyAPI { public static List getOnlineAndOfflineMembers(Player player) { List members = new ArrayList<>(); - for (UUID memberUniqueId : PartyManager.getAllMembers(player).keySet()) { + for (UUID memberUniqueId : mcMMO.getPartyManager().getAllMembers(player).keySet()) { OfflinePlayer member = mcMMO.p.getServer().getOfflinePlayer(memberUniqueId); members.add(member); } @@ -204,7 +201,7 @@ public final class PartyAPI { */ @Deprecated public static LinkedHashSet getMembers(Player player) { - return (LinkedHashSet) PartyManager.getAllMembers(player).values(); + return (LinkedHashSet) mcMMO.getPartyManager().getAllMembers(player).values(); } /** @@ -216,7 +213,7 @@ public final class PartyAPI { * @return all the player names and uuids in the player's party */ public static LinkedHashMap getMembersMap(Player player) { - return PartyManager.getAllMembers(player); + return mcMMO.getPartyManager().getAllMembers(player); } /** @@ -228,7 +225,7 @@ public final class PartyAPI { * @return all online players in this party */ public static List getOnlineMembers(String partyName) { - return PartyManager.getOnlineMembers(partyName); + return mcMMO.getPartyManager().getOnlineMembers(partyName); } /** @@ -240,7 +237,7 @@ public final class PartyAPI { * @return all online players in the player's party */ public static List getOnlineMembers(Player player) { - return PartyManager.getOnlineMembers(player); + return mcMMO.getPartyManager().getOnlineMembers(player); } public static boolean hasAlly(String partyName) { @@ -248,9 +245,9 @@ public final class PartyAPI { } public static String getAllyName(String partyName) { - Party ally = PartyManager.getParty(partyName).getAlly(); + Party ally = mcMMO.getPartyManager().getParty(partyName).getAlly(); if (ally != null) { - return ally.getName(); + return ally.getPartyName(); } return null; diff --git a/src/main/java/com/gmail/nossr50/api/exceptions/UnexpectedValueException.java b/src/main/java/com/gmail/nossr50/api/exceptions/UnexpectedValueException.java new file mode 100644 index 000000000..6a86ba94f --- /dev/null +++ b/src/main/java/com/gmail/nossr50/api/exceptions/UnexpectedValueException.java @@ -0,0 +1,4 @@ +package com.gmail.nossr50.api.exceptions; + +public class UnexpectedValueException extends RuntimeException { +} diff --git a/src/main/java/com/gmail/nossr50/chat/ChatManager.java b/src/main/java/com/gmail/nossr50/chat/ChatManager.java index d91d5885e..f42ebaf31 100644 --- a/src/main/java/com/gmail/nossr50/chat/ChatManager.java +++ b/src/main/java/com/gmail/nossr50/chat/ChatManager.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.events.chat.McMMOChatEvent; import com.gmail.nossr50.events.chat.McMMOPartyChatEvent; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -47,20 +46,20 @@ public abstract class ChatManager { McMMOPartyChatEvent partyChatEvent = (McMMOPartyChatEvent) event; //Find the people with permissions - for(McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) + for(McMMOPlayer mmoPlayer : mcMMO.getUserManager().getPlayers()) { - Player player = mcMMOPlayer.getPlayer(); + Player player = mmoPlayer.getPlayer(); //Check for toggled players - if(mcMMOPlayer.isPartyChatSpying()) + if(mmoPlayer.isPartyChatSpying()) { - Party adminParty = mcMMOPlayer.getParty(); + Party adminParty = mmoPlayer.getParty(); //Only message admins not part of this party if(adminParty != null) { //TODO: Incorporate JSON - if(!adminParty.getName().equalsIgnoreCase(partyChatEvent.getParty())) + if(!adminParty.getPartyName().equalsIgnoreCase(partyChatEvent.getParty())) player.sendMessage(LocaleLoader.getString("Commands.AdminChatSpy.Chat", partyChatEvent.getParty(), message)); } else { player.sendMessage(LocaleLoader.getString("Commands.AdminChatSpy.Chat", partyChatEvent.getParty(), message)); diff --git a/src/main/java/com/gmail/nossr50/chat/PartyChatManager.java b/src/main/java/com/gmail/nossr50/chat/PartyChatManager.java index ac4a32065..9aed0e889 100644 --- a/src/main/java/com/gmail/nossr50/chat/PartyChatManager.java +++ b/src/main/java/com/gmail/nossr50/chat/PartyChatManager.java @@ -19,7 +19,7 @@ public class PartyChatManager extends ChatManager { @Override public void handleChat(String senderName, String displayName, String message, boolean isAsync) { - handleChat(new McMMOPartyChatEvent(plugin, senderName, displayName, party.getName(), message, isAsync)); + handleChat(new McMMOPartyChatEvent(plugin, senderName, displayName, party.getPartyName(), message, isAsync)); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/AbilityToggleCommand.java b/src/main/java/com/gmail/nossr50/commands/AbilityToggleCommand.java index fb85b1471..4e7bf99fc 100644 --- a/src/main/java/com/gmail/nossr50/commands/AbilityToggleCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/AbilityToggleCommand.java @@ -17,9 +17,9 @@ public class AbilityToggleCommand extends ToggleCommand { } @Override - protected void applyCommandAction(McMMOPlayer mcMMOPlayer) { - mcMMOPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.Ability." + (mcMMOPlayer.getSuperAbilityManager().getAbilityActivationPermission() ? "Off" : "On"))); - mcMMOPlayer.getSuperAbilityManager().toggleAbilityActivationPermission(); + protected void applyCommandAction(McMMOPlayer mmoPlayer) { + mmoPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.Ability." + (mmoPlayer.getSuperAbilityManager().getAbilityActivationPermission() ? "Off" : "On"))); + mmoPlayer.getSuperAbilityManager().toggleAbilityActivationPermission(); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/MHDCommand.java b/src/main/java/com/gmail/nossr50/commands/MHDCommand.java index a85fe9426..f69f4014a 100644 --- a/src/main/java/com/gmail/nossr50/commands/MHDCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/MHDCommand.java @@ -1,11 +1,9 @@ package com.gmail.nossr50.commands; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.database.FlatfileDatabaseManager; +import com.gmail.nossr50.database.FlatFileDatabaseManager; import com.gmail.nossr50.database.SQLDatabaseManager; -import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -21,16 +19,16 @@ public class MHDCommand implements TabExecutor { if (mcMMO.getDatabaseManager() instanceof SQLDatabaseManager) { SQLDatabaseManager m = (SQLDatabaseManager) mcMMO.getDatabaseManager(); m.resetMobHealthSettings(); - for (McMMOPlayer player : UserManager.getPlayers()) { + for (mmoPlayer player : mcMMO.getUserManager().getPlayers()) { player.getProfile().setMobHealthbarType(Config.getInstance().getMobHealthbarDefault()); } sender.sendMessage("Mob health reset"); return true; } - if (mcMMO.getDatabaseManager() instanceof FlatfileDatabaseManager) { - FlatfileDatabaseManager m = (FlatfileDatabaseManager) mcMMO.getDatabaseManager(); + if (mcMMO.getDatabaseManager() instanceof FlatFileDatabaseManager) { + FlatFileDatabaseManager m = (FlatFileDatabaseManager) mcMMO.getDatabaseManager(); m.resetMobHealthSettings(); - for (McMMOPlayer player : UserManager.getPlayers()) { + for (mmoPlayer player : mcMMO.getUserManager().getPlayers()) { player.getProfile().setMobHealthbarType(Config.getInstance().getMobHealthbarDefault()); } sender.sendMessage("Mob health reset"); diff --git a/src/main/java/com/gmail/nossr50/commands/McgodCommand.java b/src/main/java/com/gmail/nossr50/commands/McgodCommand.java index 1867c4672..a7736acdf 100644 --- a/src/main/java/com/gmail/nossr50/commands/McgodCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/McgodCommand.java @@ -17,9 +17,9 @@ public class McgodCommand extends ToggleCommand { } @Override - protected void applyCommandAction(McMMOPlayer mcMMOPlayer) { - mcMMOPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.GodMode." + (mcMMOPlayer.getGodMode() ? "Disabled" : "Enabled"))); - mcMMOPlayer.toggleGodMode(); + protected void applyCommandAction(McMMOPlayer mmoPlayer) { + mmoPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.GodMode." + (mmoPlayer.getGodMode() ? "Disabled" : "Enabled"))); + mmoPlayer.toggleGodMode(); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/McnotifyCommand.java b/src/main/java/com/gmail/nossr50/commands/McnotifyCommand.java index 2ffb16910..f699e796e 100644 --- a/src/main/java/com/gmail/nossr50/commands/McnotifyCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/McnotifyCommand.java @@ -2,8 +2,8 @@ package com.gmail.nossr50.commands; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; +import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -21,14 +21,14 @@ public class McnotifyCommand implements TabExecutor { } if (args.length == 0) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer((Player) sender); //Not Loaded yet - if (mcMMOPlayer == null) + if (mmoPlayer == null) sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); - sender.sendMessage(LocaleLoader.getString("Commands.Notifications." + (mcMMOPlayer.useChatNotifications() ? "Off" : "On"))); - mcMMOPlayer.toggleChatNotifications(); + sender.sendMessage(LocaleLoader.getString("Commands.Notifications." + (mmoPlayer.hasSkillChatNotifications() ? "Off" : "On"))); + mmoPlayer.toggleSkillChatNotifications(); return true; } return false; diff --git a/src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java b/src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java index c6d9dd82f..35a3fe1ca 100644 --- a/src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java @@ -17,13 +17,13 @@ public class McrefreshCommand extends ToggleCommand { } @Override - protected void applyCommandAction(McMMOPlayer mcMMOPlayer) { - mcMMOPlayer.setRecentlyHurt(0); - mcMMOPlayer.resetCooldowns(); - mcMMOPlayer.getSuperAbilityManager().unprimeAllAbilityTools(); - mcMMOPlayer.getSuperAbilityManager().resetSuperAbilities(); + protected void applyCommandAction(McMMOPlayer mmoPlayer) { + mmoPlayer.setRecentlyHurtTimestamp(0); + mmoPlayer.resetCooldowns(); + mmoPlayer.getSuperAbilityManager().unprimeAllAbilityTools(); + mmoPlayer.getSuperAbilityManager().resetSuperAbilities(); - mcMMOPlayer.getPlayer().sendMessage(LocaleLoader.getString("Ability.Generic.Refresh")); + mmoPlayer.getPlayer().sendMessage(LocaleLoader.getString("Ability.Generic.Refresh")); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/ToggleCommand.java b/src/main/java/com/gmail/nossr50/commands/ToggleCommand.java index fea470d0e..7b49565b9 100644 --- a/src/main/java/com/gmail/nossr50/commands/ToggleCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/ToggleCommand.java @@ -2,7 +2,6 @@ package com.gmail.nossr50.commands; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -31,7 +30,7 @@ public abstract class ToggleCommand implements TabExecutor { return true; } - applyCommandAction(UserManager.getPlayer(sender.getName())); + applyCommandAction(mcMMO.getUserManager().getPlayer(sender.getName())); return true; case 1: @@ -41,17 +40,17 @@ public abstract class ToggleCommand implements TabExecutor { } String playerName = CommandUtils.getMatchedPlayerName(args[0]); - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(playerName); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(playerName); - if (!CommandUtils.checkPlayerExistence(sender, playerName, mcMMOPlayer)) { + if (!CommandUtils.checkPlayerExistence(sender, playerName, mmoPlayer)) { return true; } - if (CommandUtils.isOffline(sender, mcMMOPlayer.getPlayer())) { + if (CommandUtils.isOffline(sender, mmoPlayer.getPlayer())) { return true; } - applyCommandAction(mcMMOPlayer); + applyCommandAction(mmoPlayer); sendSuccessMessage(sender, playerName); return true; @@ -71,6 +70,6 @@ public abstract class ToggleCommand implements TabExecutor { protected abstract boolean hasOtherPermission(CommandSender sender); protected abstract boolean hasSelfPermission(CommandSender sender); - protected abstract void applyCommandAction(McMMOPlayer mcMMOPlayer); + protected abstract void applyCommandAction(McMMOPlayer mmoPlayer); protected abstract void sendSuccessMessage(CommandSender sender, String playerName); } diff --git a/src/main/java/com/gmail/nossr50/commands/admin/PlayerDebugCommand.java b/src/main/java/com/gmail/nossr50/commands/admin/PlayerDebugCommand.java index 25a87ceb3..4b1fbaaf9 100644 --- a/src/main/java/com/gmail/nossr50/commands/admin/PlayerDebugCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/admin/PlayerDebugCommand.java @@ -2,7 +2,6 @@ package com.gmail.nossr50.commands.admin; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -14,9 +13,9 @@ public class PlayerDebugCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if(sender instanceof Player) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender); - mcMMOPlayer.toggleDebugMode(); //Toggle debug mode - NotificationManager.sendPlayerInformationChatOnlyPrefixed(mcMMOPlayer.getPlayer(), "Commands.Mmodebug.Toggle", String.valueOf(mcMMOPlayer.isDebugMode())); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer((Player) sender); + mmoPlayer.toggleDebugMode(); //Toggle debug mode + NotificationManager.sendPlayerInformationChatOnlyPrefixed(mmoPlayer.getPlayer(), "Commands.Mmodebug.Toggle", String.valueOf(mmoPlayer.isDebugMode())); return true; } else { return false; diff --git a/src/main/java/com/gmail/nossr50/commands/chat/ChatCommand.java b/src/main/java/com/gmail/nossr50/commands/chat/ChatCommand.java index 559395e8e..4a56e014e 100644 --- a/src/main/java/com/gmail/nossr50/commands/chat/ChatCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/chat/ChatCommand.java @@ -9,7 +9,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -32,7 +31,7 @@ public abstract class ChatCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - McMMOPlayer mcMMOPlayer; + McMMOPlayer mmoPlayer; switch (args.length) { case 0: @@ -44,13 +43,13 @@ public abstract class ChatCommand implements TabExecutor { return true; } - mcMMOPlayer = UserManager.getPlayer(sender.getName()); + mmoPlayer = mcMMO.getUserManager().getPlayer(sender.getName()); - if (mcMMOPlayer.isChatEnabled(chatMode)) { - disableChatMode(mcMMOPlayer, sender); + if (mmoPlayer.isChatEnabled(chatMode)) { + disableChatMode(mmoPlayer, sender); } else { - enableChatMode(mcMMOPlayer, sender); + enableChatMode(mmoPlayer, sender); } return true; @@ -64,7 +63,7 @@ public abstract class ChatCommand implements TabExecutor { return true; } - enableChatMode(UserManager.getPlayer(sender.getName()), sender); + enableChatMode(mcMMO.getUserManager().getPlayer(sender.getName()), sender); return true; } @@ -76,7 +75,7 @@ public abstract class ChatCommand implements TabExecutor { return true; } - disableChatMode(UserManager.getPlayer(sender.getName()), sender); + disableChatMode(mcMMO.getUserManager().getPlayer(sender.getName()), sender); return true; } @@ -114,28 +113,28 @@ public abstract class ChatCommand implements TabExecutor { protected abstract void handleChatSending(CommandSender sender, String[] args); - private void enableChatMode(McMMOPlayer mcMMOPlayer, CommandSender sender) { - if (chatMode == ChatMode.PARTY && mcMMOPlayer.getParty() == null) { + private void enableChatMode(McMMOPlayer mmoPlayer, CommandSender sender) { + if (chatMode == ChatMode.PARTY && mmoPlayer.getParty() == null) { sender.sendMessage(LocaleLoader.getString("Commands.Party.None")); return; } - if (chatMode == ChatMode.PARTY && (mcMMOPlayer.getParty().getLevel() < Config.getInstance().getPartyFeatureUnlockLevel(PartyFeature.CHAT))) { + if (chatMode == ChatMode.PARTY && (mmoPlayer.getParty().getLevel() < Config.getInstance().getPartyFeatureUnlockLevel(PartyFeature.CHAT))) { sender.sendMessage(LocaleLoader.getString("Party.Feature.Disabled.1")); return; } - mcMMOPlayer.enableChat(chatMode); + mmoPlayer.enableChat(chatMode); sender.sendMessage(chatMode.getEnabledMessage()); } - private void disableChatMode(McMMOPlayer mcMMOPlayer, CommandSender sender) { - if (chatMode == ChatMode.PARTY && mcMMOPlayer.getParty() == null) { + private void disableChatMode(McMMOPlayer mmoPlayer, CommandSender sender) { + if (chatMode == ChatMode.PARTY && mmoPlayer.getParty() == null) { sender.sendMessage(LocaleLoader.getString("Commands.Party.None")); return; } - mcMMOPlayer.disableChat(chatMode); + mmoPlayer.disableChat(chatMode); sender.sendMessage(chatMode.getDisabledMessage()); } } diff --git a/src/main/java/com/gmail/nossr50/commands/chat/McChatSpy.java b/src/main/java/com/gmail/nossr50/commands/chat/McChatSpy.java index 87ef2285f..4d8026dc9 100644 --- a/src/main/java/com/gmail/nossr50/commands/chat/McChatSpy.java +++ b/src/main/java/com/gmail/nossr50/commands/chat/McChatSpy.java @@ -18,9 +18,9 @@ public class McChatSpy extends ToggleCommand { } @Override - protected void applyCommandAction(McMMOPlayer mcMMOPlayer) { - mcMMOPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.AdminChatSpy." + (mcMMOPlayer.isPartyChatSpying() ? "Disabled" : "Enabled"))); - mcMMOPlayer.togglePartyChatSpying(); + protected void applyCommandAction(McMMOPlayer mmoPlayer) { + mmoPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.AdminChatSpy." + (mmoPlayer.isPartyChatSpying() ? "Disabled" : "Enabled"))); + mmoPlayer.togglePartyChatSpying(); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java b/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java index 8cb3a488e..2214795e0 100644 --- a/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java @@ -6,8 +6,6 @@ import com.gmail.nossr50.datatypes.chat.ChatMode; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.party.PartyFeature; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -23,10 +21,10 @@ public class PartyChatCommand extends ChatCommand { if (sender instanceof Player) { //Check if player profile is loaded - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) return; - party = UserManager.getPlayer((Player) sender).getParty(); + party = mcMMO.getUserManager().getPlayer((Player) sender).getParty(); if (party == null) { sender.sendMessage(LocaleLoader.getString("Commands.Party.None")); @@ -46,7 +44,7 @@ public class PartyChatCommand extends ChatCommand { return; } - party = PartyManager.getParty(args[0]); + party = mcMMO.getPartyManager().getParty(args[0]); if (party == null) { sender.sendMessage(LocaleLoader.getString("Party.InvalidName")); diff --git a/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java b/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java index 327d7da8b..dd4a5711c 100644 --- a/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java @@ -8,7 +8,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.database.DatabaseConversionTask; import com.gmail.nossr50.runnables.player.PlayerProfileLoadingTask; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -50,8 +49,8 @@ public class ConvertDatabaseCommand implements CommandExecutor { sender.sendMessage(LocaleLoader.getString("Commands.mcconvert.Database.Start", previousType.toString(), newType.toString())); - UserManager.saveAll(); - UserManager.clearAll(); + mcMMO.getUserManager().saveAllSync(); + mcMMO.getUserManager().clearAll(); for (Player player : mcMMO.p.getServer().getOnlinePlayers()) { PlayerProfile profile = oldDatabase.loadPlayerProfile(player.getUniqueId()); diff --git a/src/main/java/com/gmail/nossr50/commands/database/McremoveCommand.java b/src/main/java/com/gmail/nossr50/commands/database/McremoveCommand.java index 731a35524..2ec416753 100644 --- a/src/main/java/com/gmail/nossr50/commands/database/McremoveCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/database/McremoveCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.database; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -22,7 +21,7 @@ public class McremoveCommand implements TabExecutor { if (args.length == 1) { String playerName = CommandUtils.getMatchedPlayerName(args[0]); - if (UserManager.getOfflinePlayer(playerName) == null && CommandUtils.unloadedProfile(sender, mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false))) { + if (mcMMO.getUserManager().getOfflinePlayer(playerName) == null && CommandUtils.unloadedProfile(sender, mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false))) { return true; } diff --git a/src/main/java/com/gmail/nossr50/commands/experience/AddxpCommand.java b/src/main/java/com/gmail/nossr50/commands/experience/AddxpCommand.java index f2f3a5370..def2ab755 100644 --- a/src/main/java/com/gmail/nossr50/commands/experience/AddxpCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/experience/AddxpCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -25,10 +24,10 @@ public class AddxpCommand extends ExperienceCommand { protected void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value) { if (player != null) { //Check if player profile is loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return; - UserManager.getPlayer(player).applyXpGain(skill, value, XPGainReason.COMMAND, XPGainSource.COMMAND); + mcMMO.getUserManager().getPlayer(player).applyXpGain(skill, value, XPGainReason.COMMAND, XPGainSource.COMMAND); } else { profile.addXp(skill, value); diff --git a/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java b/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java index e15063ebf..569b51e69 100644 --- a/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.database.FormulaConversionTask; import com.gmail.nossr50.runnables.player.PlayerProfileLoadingTask; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -33,8 +32,8 @@ public class ConvertExperienceCommand implements CommandExecutor { sender.sendMessage(LocaleLoader.getString("Commands.mcconvert.Experience.Start", previousType.toString(), newType.toString())); - UserManager.saveAll(); - UserManager.clearAll(); + mcMMO.getUserManager().saveAllSync(); + mcMMO.getUserManager().clearAll(); new FormulaConversionTask(sender, newType).runTaskLater(mcMMO.p, 1); diff --git a/src/main/java/com/gmail/nossr50/commands/experience/ExperienceCommand.java b/src/main/java/com/gmail/nossr50/commands/experience/ExperienceCommand.java index e4886ae0f..2cfd53dcb 100644 --- a/src/main/java/com/gmail/nossr50/commands/experience/ExperienceCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/experience/ExperienceCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; @@ -55,14 +54,14 @@ public abstract class ExperienceCommand implements TabExecutor { } //Profile not loaded - if(UserManager.getPlayer(sender.getName()) == null) + if(mcMMO.getUserManager().getPlayer(sender.getName()) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - editValues((Player) sender, UserManager.getPlayer(sender.getName()).getProfile(), skill, Integer.parseInt(args[1])); + editValues((Player) sender, mcMMO.getUserManager().getPlayer(sender.getName()), skill, Integer.parseInt(args[1])); return true; case 3: @@ -90,10 +89,10 @@ public abstract class ExperienceCommand implements TabExecutor { int value = Integer.parseInt(args[2]); String playerName = CommandUtils.getMatchedPlayerName(args[0]); - McMMOPlayer mcMMOPlayer = UserManager.getOfflinePlayer(playerName); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getOfflinePlayer(playerName); - // If the mcMMOPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process. - if (mcMMOPlayer == null) { + // If the mmoPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process. + if (mmoPlayer == null) { UUID uuid = null; OfflinePlayer player = mcMMO.p.getServer().getOfflinePlayer(playerName); if (player != null) { @@ -108,7 +107,7 @@ public abstract class ExperienceCommand implements TabExecutor { editValues(null, profile, skill, value); } else { - editValues(mcMMOPlayer.getPlayer(), mcMMOPlayer.getProfile(), skill, value); + editValues(mmoPlayer.getPlayer(), mmoPlayer, skill, value); } handleSenderMessage(sender, playerName, skill); diff --git a/src/main/java/com/gmail/nossr50/commands/experience/SkillresetCommand.java b/src/main/java/com/gmail/nossr50/commands/experience/SkillresetCommand.java index 1132f7235..2fb39c1a6 100644 --- a/src/main/java/com/gmail/nossr50/commands/experience/SkillresetCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/experience/SkillresetCommand.java @@ -9,7 +9,6 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; @@ -53,7 +52,7 @@ public class SkillresetCommand implements TabExecutor { skill = PrimarySkillType.getSkill(args[1]); } - editValues((Player) sender, UserManager.getPlayer(sender.getName()).getProfile(), skill); + editValues((Player) sender, mcMMO.getUserManager().getPlayer(sender.getName()), skill); return true; case 2: @@ -74,10 +73,10 @@ public class SkillresetCommand implements TabExecutor { } String playerName = CommandUtils.getMatchedPlayerName(args[0]); - McMMOPlayer mcMMOPlayer = UserManager.getOfflinePlayer(playerName); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getOfflinePlayer(playerName); - // If the mcMMOPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process. - if (mcMMOPlayer == null) { + // If the mmoPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process. + if (mmoPlayer == null) { UUID uuid = null; OfflinePlayer player = mcMMO.p.getServer().getOfflinePlayer(playerName); if (player != null) { @@ -92,7 +91,7 @@ public class SkillresetCommand implements TabExecutor { editValues(null, profile, skill); } else { - editValues(mcMMOPlayer.getPlayer(), mcMMOPlayer.getProfile(), skill); + editValues(mmoPlayer.getPlayer(), mmoPlayer, skill); } handleSenderMessage(sender, playerName, skill); diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java index 09cb1165e..7f92a4228 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java @@ -2,8 +2,6 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -17,25 +15,25 @@ public class PartyAcceptCommand implements CommandExecutor { Player player = (Player) sender; //Check if player profile is loaded - if (UserManager.getPlayer(player) == null) { + if (mcMMO.getUserManager().getPlayer(player) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - if (!mcMMOPlayer.hasPartyInvite()) { + if (!mmoPlayer.hasPartyInvite()) { sender.sendMessage(LocaleLoader.getString("mcMMO.NoInvites")); return true; } // Changing parties - if (!PartyManager.changeOrJoinParty(mcMMOPlayer, mcMMOPlayer.getPartyInvite().getName())) { + if (!mcMMO.getPartyManager().changeOrJoinParty(mmoPlayer, mmoPlayer.getPartyInvite().getName())) { return true; } - PartyManager.joinInvitedParty(mcMMOPlayer); + mcMMO.getPartyManager().joinInvitedParty(mmoPlayer); return true; } sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "accept")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java index a918a3ce9..498ebe5f5 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java @@ -3,9 +3,7 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -17,12 +15,12 @@ public class PartyChangeOwnerCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 2) {//Check if player profile is loaded - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - Party playerParty = UserManager.getPlayer((Player) sender).getParty(); + Party playerParty = mcMMO.getUserManager().getPlayer((Player) sender).getParty(); String targetName = CommandUtils.getMatchedPlayerName(args[1]); OfflinePlayer target = mcMMO.p.getServer().getOfflinePlayer(targetName); @@ -31,7 +29,7 @@ public class PartyChangeOwnerCommand implements CommandExecutor { return true; } - PartyManager.setPartyLeader(target.getUniqueId(), playerParty); + mcMMO.getPartyManager().setPartyLeader(target.getUniqueId(), playerParty); return true; } sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "owner", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java index b8d835ef3..2bc18b607 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java @@ -2,7 +2,6 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -12,13 +11,13 @@ import org.jetbrains.annotations.NotNull; public class PartyChangePasswordCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - Party party = UserManager.getPlayer((Player) sender).getParty(); + Party party = mcMMO.getUserManager().getPlayer((Player) sender).getParty(); switch (args.length) { case 1: @@ -42,14 +41,14 @@ public class PartyChangePasswordCommand implements CommandExecutor { } private void unprotectParty(Party party, CommandSender sender) { - party.setLocked(true); - party.setPassword(null); + party.setPartyLock(true); + party.setPartyPassword(null); sender.sendMessage(LocaleLoader.getString("Party.Password.Removed")); } private void protectParty(Party party, CommandSender sender, String password) { - party.setLocked(true); - party.setPassword(password); + party.setPartyLock(true); + party.setPartyPassword(password); sender.sendMessage(LocaleLoader.getString("Party.Password.Set", password)); } } diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java index 7a8f99f9d..c59b13bb6 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java @@ -6,9 +6,9 @@ import com.gmail.nossr50.commands.party.teleport.PtpCommand; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; +import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -71,20 +71,20 @@ public class PartyCommand implements TabExecutor { Player player = (Player) sender; - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return true; } - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { player.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); if (args.length < 1) { - if (!mcMMOPlayer.inParty()) { + if (!mcMMO.getPartyManager().mmoPlayer.inParty()) { sender.sendMessage(LocaleLoader.getString("Commands.Party.None")); return printUsage(player); } @@ -118,7 +118,7 @@ public class PartyCommand implements TabExecutor { } // Party member commands - if (!mcMMOPlayer.inParty()) { + if (!mmoPlayer.inParty()) { sender.sendMessage(LocaleLoader.getString("Commands.Party.None")); return printUsage(player); } @@ -139,7 +139,7 @@ public class PartyCommand implements TabExecutor { } // Party leader commands - if (!mcMMOPlayer.getParty().getLeader().getUniqueId().equals(player.getUniqueId())) { + if (!mmoPlayer.getParty().getLeader().getUniqueId().equals(player.getUniqueId())) { sender.sendMessage(LocaleLoader.getString("Party.NotOwner")); return true; } @@ -206,13 +206,13 @@ public class PartyCommand implements TabExecutor { Player player = (Player) sender; //Not Loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return ImmutableList.of(); } - Party party = UserManager.getPlayer(player).getParty(); + Party party = mcMMO.getUserManager().getPlayer(player).getParty(); playerNames = party.getOnlinePlayerNames(player); return StringUtil.copyPartialMatches(args[1], playerNames, new ArrayList<>(playerNames.size())); diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java index 34daed151..e8f716785 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java @@ -2,8 +2,6 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -17,25 +15,25 @@ public class PartyCreateCommand implements CommandExecutor { case 2: case 3: Player player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { player.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } // Check to see if the party exists, and if it does cancel creating a new party - if (PartyManager.checkPartyExistence(player, args[1])) { + if (mcMMO.getPartyManager().checkPartyExistence(player, args[1])) { return true; } // Changing parties - if (!PartyManager.changeOrJoinParty(mcMMOPlayer, args[1])) { + if (!mcMMO.getPartyManager().changeOrJoinParty(mmoPlayer, args[1])) { return true; } - PartyManager.createParty(mcMMOPlayer, args[1], getPassword(args)); + mcMMO.getPartyManager().createParty(mmoPlayer, args[1], getPassword(args)); return true; default: diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java index f4f8f3d2a..05923e69d 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java @@ -3,8 +3,6 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -15,23 +13,23 @@ public class PartyDisbandCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 1) { - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - Party playerParty = UserManager.getPlayer((Player) sender).getParty(); - String partyName = playerParty.getName(); + Party playerParty = mcMMO.getUserManager().getPlayer((Player) sender).getParty(); + String partyName = playerParty.getPartyName(); - for (Player member : playerParty.getOnlineMembers()) { - if (!PartyManager.handlePartyChangeEvent(member, partyName, null, EventReason.KICKED_FROM_PARTY)) { + for (Player member : playerParty.getPartyMembers()) { + if (!mcMMO.getPartyManager().handlePartyChangeEvent(member, partyName, null, EventReason.KICKED_FROM_PARTY)) { return true; } member.sendMessage(LocaleLoader.getString("Party.Disband")); } - PartyManager.disbandParty(playerParty); + mcMMO.getPartyManager().disbandParty(playerParty); return true; } sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "disband")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java index ec28ac529..8e401e0b0 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java @@ -6,8 +6,6 @@ import com.gmail.nossr50.datatypes.party.PartyFeature; import com.gmail.nossr50.datatypes.party.ShareMode; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -24,19 +22,19 @@ public class PartyInfoCommand implements CommandExecutor { switch (args.length) { case 0: case 1: - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } Player player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - Party party = mcMMOPlayer.getParty(); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + Party party = mmoPlayer.getParty(); displayPartyHeader(player, party); displayShareModeInfo(player, party); displayPartyFeatures(player, party); - displayMemberInfo(player, mcMMOPlayer, party); + displayMemberInfo(player, mmoPlayer, party); return true; default: @@ -49,7 +47,7 @@ public class PartyInfoCommand implements CommandExecutor { player.sendMessage(LocaleLoader.getString("Commands.Party.Header")); StringBuilder status = new StringBuilder(); - status.append(LocaleLoader.getString("Commands.Party.Status", party.getName(), LocaleLoader.getString("Party.Status." + (party.isLocked() ? "Locked" : "Unlocked")), party.getLevel())); + status.append(LocaleLoader.getString("Commands.Party.Status", party.getPartyName(), LocaleLoader.getString("Party.Status." + (party.isLocked() ? "Locked" : "Unlocked")), party.getLevel())); if (!party.hasReachedLevelCap()) { status.append(" (").append(party.getXpToLevelPercentage()).append(")"); @@ -120,12 +118,12 @@ public class PartyInfoCommand implements CommandExecutor { } } - private void displayMemberInfo(Player player, McMMOPlayer mcMMOPlayer, Party party) { + private void displayMemberInfo(Player player, McMMOPlayer mmoPlayer, Party party) { /* * Only show members of the party that this member can see */ - List nearMembers = PartyManager.getNearVisibleMembers(mcMMOPlayer); + List nearMembers = mcMMO.getPartyManager().getNearVisibleMembers(mmoPlayer); int membersOnline = party.getVisibleMembers(player).size(); player.sendMessage(LocaleLoader.getString("Commands.Party.Members.Header")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java index 7d6c6a8ca..93cf08aac 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java @@ -4,9 +4,7 @@ import com.gmail.nossr50.config.Config; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -18,7 +16,7 @@ public class PartyInviteCommand implements CommandExecutor { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 2) { String targetName = CommandUtils.getMatchedPlayerName(args[1]); - McMMOPlayer mcMMOTarget = UserManager.getOfflinePlayer(targetName); + McMMOPlayer mcMMOTarget = mcMMO.getUserManager().getOfflinePlayer(targetName); if (!CommandUtils.checkPlayerExistence(sender, targetName, mcMMOTarget)) { return false; @@ -26,13 +24,13 @@ public class PartyInviteCommand implements CommandExecutor { Player target = mcMMOTarget.getPlayer(); - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } Player player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); String playerName = player.getName(); if (player.equals(target)) { @@ -40,19 +38,19 @@ public class PartyInviteCommand implements CommandExecutor { return true; } - if (PartyManager.inSameParty(player, target)) { + if (mcMMO.getPartyManager().inSameParty(player, target)) { sender.sendMessage(LocaleLoader.getString("Party.Player.InSameParty", targetName)); return true; } - if (!PartyManager.canInvite(mcMMOPlayer)) { + if (!mcMMO.getPartyManager().canInvite(mmoPlayer)) { player.sendMessage(LocaleLoader.getString("Party.Locked")); return true; } - Party playerParty = mcMMOPlayer.getParty(); + Party playerParty = mmoPlayer.getParty(); - if (PartyManager.isPartyFull(target, playerParty)) { + if (mcMMO.getPartyManager().isPartyFull(target, playerParty)) { player.sendMessage(LocaleLoader.getString("Commands.Party.PartyFull.Invite", target.getName(), playerParty.toString(), Config.getInstance().getPartyMaxSize())); return true; } @@ -60,7 +58,7 @@ public class PartyInviteCommand implements CommandExecutor { mcMMOTarget.setPartyInvite(playerParty); sender.sendMessage(LocaleLoader.getString("Commands.Invite.Success")); - target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.0", playerParty.getName(), playerName)); + target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.0", playerParty.getPartyName(), playerName)); target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.1")); return true; } diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyItemShareCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyItemShareCommand.java index 54a8af8fa..81f16dc5b 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyItemShareCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyItemShareCommand.java @@ -8,7 +8,6 @@ import com.gmail.nossr50.datatypes.party.ShareMode; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.StringUtils; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -20,13 +19,13 @@ import java.util.Locale; public class PartyItemShareCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - Party party = UserManager.getPlayer((Player) sender).getParty(); + Party party = mcMMO.getUserManager().getPlayer((Player) sender).getParty(); if (party.getLevel() < Config.getInstance().getPartyFeatureUnlockLevel(PartyFeature.ITEM_SHARE)) { sender.sendMessage(LocaleLoader.getString("Party.Feature.Disabled.4")); @@ -80,7 +79,7 @@ public class PartyItemShareCommand implements CommandExecutor { String changeModeMessage = LocaleLoader.getString("Commands.Party.SetSharing", LocaleLoader.getString("Party.ShareType.Item"), LocaleLoader.getString("Party.ShareMode." + StringUtils.getCapitalized(mode.toString()))); - for (Player member : party.getOnlineMembers()) { + for (Player member : party.getPartyMembers()) { member.sendMessage(changeModeMessage); } } @@ -90,7 +89,7 @@ public class PartyItemShareCommand implements CommandExecutor { String toggleMessage = LocaleLoader.getString("Commands.Party.ToggleShareCategory", StringUtils.getCapitalized(type.toString()), toggle ? "enabled" : "disabled"); - for (Player member : party.getOnlineMembers()) { + for (Player member : party.getPartyMembers()) { member.sendMessage(toggleMessage); } } diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java index 8971fc0ed..df4e0a7ea 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java @@ -3,9 +3,7 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -19,7 +17,7 @@ public class PartyJoinCommand implements CommandExecutor { case 2: case 3: String targetName = CommandUtils.getMatchedPlayerName(args[1]); - McMMOPlayer mcMMOTarget = UserManager.getPlayer(targetName); + McMMOPlayer mcMMOTarget = mcMMO.getUserManager().getPlayer(targetName); if (!CommandUtils.checkPlayerExistence(sender, targetName, mcMMOTarget)) { return true; @@ -34,16 +32,16 @@ public class PartyJoinCommand implements CommandExecutor { Player player = (Player) sender; - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); Party targetParty = mcMMOTarget.getParty(); - if (player.equals(target) || (mcMMOPlayer.inParty() && mcMMOPlayer.getParty().equals(targetParty))) { + if (player.equals(target) || (mmoPlayer.inParty() && mmoPlayer.getParty().equals(targetParty))) { sender.sendMessage(LocaleLoader.getString("Party.Join.Self")); return true; } @@ -51,25 +49,25 @@ public class PartyJoinCommand implements CommandExecutor { String password = getPassword(args); // Make sure party passwords match - if (!PartyManager.checkPartyPassword(player, targetParty, password)) { + if (!mcMMO.getPartyManager().checkPartyPassword(player, targetParty, password)) { return true; } - String partyName = targetParty.getName(); + String partyName = targetParty.getPartyName(); // Changing parties - if (!PartyManager.changeOrJoinParty(mcMMOPlayer, partyName)) { + if (!mcMMO.getPartyManager().changeOrJoinParty(mmoPlayer, partyName)) { return true; } - if(PartyManager.isPartyFull(player, targetParty)) + if(mcMMO.getPartyManager().isPartyFull(player, targetParty)) { player.sendMessage(LocaleLoader.getString("Commands.Party.PartyFull", targetParty.toString())); return true; } player.sendMessage(LocaleLoader.getString("Commands.Party.Join", partyName)); - PartyManager.addToParty(mcMMOPlayer, targetParty); + mcMMO.getPartyManager().addToParty(mmoPlayer, targetParty); return true; default: diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java index fd6b3e495..7ecce2927 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java @@ -4,9 +4,7 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -18,12 +16,12 @@ public class PartyKickCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 2) { - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - Party playerParty = UserManager.getPlayer((Player) sender).getParty(); + Party playerParty = mcMMO.getUserManager().getPlayer((Player) sender).getParty(); String targetName = CommandUtils.getMatchedPlayerName(args[1]); if (!playerParty.hasMember(targetName)) { @@ -35,17 +33,17 @@ public class PartyKickCommand implements CommandExecutor { if (target.isOnline()) { Player onlineTarget = target.getPlayer(); - String partyName = playerParty.getName(); + String partyName = playerParty.getPartyName(); - if (!PartyManager.handlePartyChangeEvent(onlineTarget, partyName, null, EventReason.KICKED_FROM_PARTY)) { + if (!mcMMO.getPartyManager().handlePartyChangeEvent(onlineTarget, partyName, null, EventReason.KICKED_FROM_PARTY)) { return true; } - PartyManager.processPartyLeaving(UserManager.getPlayer(onlineTarget)); + mcMMO.getPartyManager().processPartyLeaving(mcMMO.getUserManager().getPlayer(onlineTarget)); onlineTarget.sendMessage(LocaleLoader.getString("Commands.Party.Kick", partyName)); } - PartyManager.removeFromParty(target, playerParty); + mcMMO.getPartyManager().removeFromParty(target, playerParty); return true; } sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "kick", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyLockCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyLockCommand.java index eb87e0843..fb09fd10b 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyLockCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyLockCommand.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -55,13 +54,13 @@ public class PartyLockCommand implements CommandExecutor { } private void togglePartyLock(CommandSender sender, boolean lock) { - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return; } - Party party = UserManager.getPlayer((Player) sender).getParty(); + Party party = mcMMO.getUserManager().getPlayer((Player) sender).getParty(); if (!Permissions.partySubcommand(sender, lock ? PartySubcommandType.LOCK : PartySubcommandType.UNLOCK)) { sender.sendMessage(LocaleLoader.getString("mcMMO.NoPermission")); @@ -73,7 +72,7 @@ public class PartyLockCommand implements CommandExecutor { return; } - party.setLocked(lock); + party.setPartyLock(lock); sender.sendMessage(LocaleLoader.getString("Party." + (lock ? "Locked" : "Unlocked"))); } } diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java index c450a0757..a3bb9d0a8 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java @@ -4,8 +4,6 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -18,19 +16,19 @@ public class PartyQuitCommand implements CommandExecutor { if (args.length == 1) { Player player = (Player) sender; - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - Party playerParty = mcMMOPlayer.getParty(); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + Party playerParty = mmoPlayer.getParty(); - if (!PartyManager.handlePartyChangeEvent(player, playerParty.getName(), null, EventReason.LEFT_PARTY)) { + if (!mcMMO.getPartyManager().handlePartyChangeEvent(player, playerParty.getPartyName(), null, EventReason.LEFT_PARTY)) { return true; } - PartyManager.removeFromParty(mcMMOPlayer); + mcMMO.getPartyManager().removeFromParty(mmoPlayer); sender.sendMessage(LocaleLoader.getString("Commands.Party.Leave")); return true; } diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java index 2ab6f0621..7a7839892 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java @@ -1,11 +1,11 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.party.Party; +import com.gmail.nossr50.datatypes.party.PartyMember; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; +import com.gmail.nossr50.mcMMO; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -16,15 +16,15 @@ public class PartyRenameCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 2) { - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender); - Party playerParty = mcMMOPlayer.getParty(); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer((Player) sender); + Party playerParty = mmoPlayer.getParty(); - String oldPartyName = playerParty.getName(); + String oldPartyName = playerParty.getPartyName(); String newPartyName = args[1]; // This is to prevent party leaders from spamming other players with the rename message @@ -33,26 +33,26 @@ public class PartyRenameCommand implements CommandExecutor { return true; } - Player player = mcMMOPlayer.getPlayer(); + Player player = mmoPlayer.getPlayer(); // Check to see if the party exists, and if it does cancel renaming the party - if (PartyManager.checkPartyExistence(player, newPartyName)) { + if (mcMMO.getPartyManager().checkPartyExistence(player, newPartyName)) { return true; } String leaderName = playerParty.getLeader().getPlayerName(); - for (Player member : playerParty.getOnlineMembers()) { - if (!PartyManager.handlePartyChangeEvent(member, oldPartyName, newPartyName, EventReason.CHANGED_PARTIES)) { + for (PartyMember partyMember : playerParty.getPartyMembers()) { + if (!mcMMO.getPartyManager().handlePartyChangeEvent(partyMember, oldPartyName, newPartyName, EventReason.CHANGED_PARTIES)) { return true; } - if (!member.getName().equalsIgnoreCase(leaderName)) { - member.sendMessage(LocaleLoader.getString("Party.InformedOnNameChange", leaderName, newPartyName)); + if (!partyMember.getName().equalsIgnoreCase(leaderName)) { + partyMember.sendMessage(LocaleLoader.getString("Party.InformedOnNameChange", leaderName, newPartyName)); } } - playerParty.setName(newPartyName); + playerParty.setPartyName(newPartyName); sender.sendMessage(LocaleLoader.getString("Commands.Party.Rename", newPartyName)); return true; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java index c1310cf0e..e450291f8 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java @@ -7,7 +7,6 @@ import com.gmail.nossr50.datatypes.party.ShareMode; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.StringUtils; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -17,13 +16,13 @@ import org.jetbrains.annotations.NotNull; public class PartyXpShareCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - Party party = UserManager.getPlayer((Player) sender).getParty(); + Party party = mcMMO.getUserManager().getPlayer((Player) sender).getParty(); if (party.getLevel() < Config.getInstance().getPartyFeatureUnlockLevel(PartyFeature.XP_SHARE)) { sender.sendMessage(LocaleLoader.getString("Party.Feature.Disabled.5")); @@ -50,7 +49,7 @@ public class PartyXpShareCommand implements CommandExecutor { String changeModeMessage = LocaleLoader.getString("Commands.Party.SetSharing", LocaleLoader.getString("Party.ShareType.Xp"), LocaleLoader.getString("Party.ShareMode." + StringUtils.getCapitalized(mode.toString()))); - for (Player member : party.getOnlineMembers()) { + for (Player member : party.getPartyMembers()) { member.sendMessage(changeModeMessage); } } diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java index 1977ad67b..227dc78f3 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java @@ -2,8 +2,6 @@ package com.gmail.nossr50.commands.party.alliance; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -14,24 +12,24 @@ public class PartyAllianceAcceptCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 2) { - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } Player player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - if (!mcMMOPlayer.hasPartyAllianceInvite()) { + if (!mmoPlayer.hasPartyAllianceInvite()) { sender.sendMessage(LocaleLoader.getString("mcMMO.NoInvites")); return true; } - if (mcMMOPlayer.getParty().getAlly() != null) { + if (mmoPlayer.getParty().getAlly() != null) { player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.AlreadyAllies")); return true; } - PartyManager.acceptAllianceInvite(mcMMOPlayer); + mcMMO.getPartyManager().acceptAllianceInvite(mmoPlayer); return true; } sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "alliance", "accept")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java index d97edf3d7..93be5afdb 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java @@ -5,9 +5,7 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.party.PartyFeature; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -38,16 +36,16 @@ public class PartyAllianceCommand implements TabExecutor { return true; } - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - playerParty = mcMMOPlayer.getParty(); + playerParty = mmoPlayer.getParty(); switch (args.length) { case 1: @@ -64,7 +62,7 @@ public class PartyAllianceCommand implements TabExecutor { targetParty = playerParty.getAlly(); displayPartyHeader(); - displayMemberInfo(mcMMOPlayer); + displayMemberInfo(mmoPlayer); return true; case 2: @@ -94,7 +92,7 @@ public class PartyAllianceCommand implements TabExecutor { targetParty = playerParty.getAlly(); displayPartyHeader(); - displayMemberInfo(mcMMOPlayer); + displayMemberInfo(mmoPlayer); return true; default: @@ -125,11 +123,11 @@ public class PartyAllianceCommand implements TabExecutor { private void displayPartyHeader() { player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Header")); - player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Ally", playerParty.getName(), targetParty.getName())); + player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Ally", playerParty.getPartyName(), targetParty.getPartyName())); } - private void displayMemberInfo(McMMOPlayer mcMMOPlayer) { - List nearMembers = PartyManager.getNearMembers(mcMMOPlayer); + private void displayMemberInfo(McMMOPlayer mmoPlayer) { + List nearMembers = mcMMO.getPartyManager().getNearMembers(mmoPlayer); player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Members.Header")); player.sendMessage(playerParty.createMembersList(player)); player.sendMessage(ChatColor.DARK_GRAY + "----------------------------"); diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java index c2cfa666c..779c6c0af 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java @@ -3,8 +3,6 @@ package com.gmail.nossr50.commands.party.alliance; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -15,20 +13,20 @@ public class PartyAllianceDisbandCommand implements CommandExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 2) { - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } Player player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - Party party = mcMMOPlayer.getParty(); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + Party party = mmoPlayer.getParty(); if (party.getAlly() == null) { sender.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.None")); return true; } - PartyManager.disbandAlliance(player, party, party.getAlly()); + mcMMO.getPartyManager().disbandAlliance(player, party, party.getAlly()); return true; } sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "alliance", "disband")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java index 408c6136a..652ee8391 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java @@ -3,9 +3,7 @@ package com.gmail.nossr50.commands.party.alliance; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -17,7 +15,7 @@ public class PartyAllianceInviteCommand implements CommandExecutor { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 3) { String targetName = CommandUtils.getMatchedPlayerName(args[2]); - McMMOPlayer mcMMOTarget = UserManager.getOfflinePlayer(targetName); + McMMOPlayer mcMMOTarget = mcMMO.getUserManager().getOfflinePlayer(targetName); if (!CommandUtils.checkPlayerExistence(sender, targetName, mcMMOTarget)) { return false; @@ -25,13 +23,13 @@ public class PartyAllianceInviteCommand implements CommandExecutor { Player target = mcMMOTarget.getPlayer(); - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } Player player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); String playerName = player.getName(); if (player.equals(target)) { @@ -44,7 +42,7 @@ public class PartyAllianceInviteCommand implements CommandExecutor { return true; } - if (PartyManager.inSameParty(player, target)) { + if (mcMMO.getPartyManager().inSameParty(player, target)) { sender.sendMessage(LocaleLoader.getString("Party.Player.InSameParty", targetName)); return true; } @@ -54,7 +52,7 @@ public class PartyAllianceInviteCommand implements CommandExecutor { return true; } - Party playerParty = mcMMOPlayer.getParty(); + Party playerParty = mmoPlayer.getParty(); if (playerParty.getAlly() != null) { player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.AlreadyAllies")); @@ -64,7 +62,7 @@ public class PartyAllianceInviteCommand implements CommandExecutor { mcMMOTarget.setPartyAllianceInvite(playerParty); sender.sendMessage(LocaleLoader.getString("Commands.Invite.Success")); - target.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.0", playerParty.getName(), playerName)); + target.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.0", playerParty.getPartyName(), playerName)); target.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.1")); return true; } diff --git a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java index 9822860f6..da465eb67 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.party.teleport; import com.gmail.nossr50.datatypes.party.PartyTeleportRecord; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -17,7 +16,7 @@ public class PtpAcceptAnyCommand implements CommandExecutor { return true; } - PartyTeleportRecord ptpRecord = UserManager.getPlayer(sender.getName()).getPartyTeleportRecord(); + PartyTeleportRecord ptpRecord = mcMMO.getUserManager().getPlayer(sender.getName()).getPartyTeleportRecord(); if (ptpRecord.isConfirmRequired()) { sender.sendMessage(LocaleLoader.getString("Commands.ptp.AcceptAny.Disabled")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptCommand.java b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptCommand.java index 86728e272..988cdb937 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptCommand.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.config.Config; import com.gmail.nossr50.datatypes.party.PartyTeleportRecord; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.SkillUtils; import org.bukkit.World; import org.bukkit.command.Command; @@ -21,14 +20,14 @@ public class PtpAcceptCommand implements CommandExecutor { return true; } - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } Player player = (Player) sender; - PartyTeleportRecord ptpRecord = UserManager.getPlayer(player).getPartyTeleportRecord(); + PartyTeleportRecord ptpRecord = mcMMO.getUserManager().getPlayer(player).getPartyTeleportRecord(); if (!ptpRecord.hasRequest()) { player.sendMessage(LocaleLoader.getString("Commands.ptp.NoRequests")); diff --git a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java index 893164435..5152dbf72 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java @@ -8,13 +8,11 @@ import com.gmail.nossr50.datatypes.party.PartyTeleportRecord; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.runnables.items.TeleportationWarmup; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.SkillUtils; import com.gmail.nossr50.worldguard.WorldGuardManager; import com.gmail.nossr50.worldguard.WorldGuardUtils; @@ -57,24 +55,24 @@ public class PtpCommand implements TabExecutor { if(WorldBlacklist.isWorldBlacklisted(player.getWorld())) return true; - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return true; } - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - if (!mcMMOPlayer.inParty()) { + if (!mmoPlayer.inParty()) { sender.sendMessage(LocaleLoader.getString("Commands.Party.None")); return true; } - Party party = mcMMOPlayer.getParty(); + Party party = mmoPlayer.getParty(); if (party.getLevel() < Config.getInstance().getPartyFeatureUnlockLevel(PartyFeature.TELEPORT)) { sender.sendMessage(LocaleLoader.getString("Party.Feature.Disabled.2")); @@ -90,7 +88,7 @@ public class PtpCommand implements TabExecutor { return ptpAcceptAnyCommand.onCommand(sender, command, label, args); } - long recentlyHurt = mcMMOPlayer.getRecentlyHurt(); + long recentlyHurt = mmoPlayer.getRecentlyHurtTimestamp(); int hurtCooldown = Config.getInstance().getPTPCommandRecentlyHurtCooldown(); if (hurtCooldown > 0) { @@ -112,7 +110,7 @@ public class PtpCommand implements TabExecutor { } int ptpCooldown = Config.getInstance().getPTPCommandCooldown(); - long ptpLastUse = mcMMOPlayer.getPartyTeleportRecord().getLastUse(); + long ptpLastUse = mmoPlayer.getPartyTeleportRecord().getLastUse(); if (ptpCooldown > 0) { int timeRemaining = SkillUtils.calculateTimeLeft(ptpLastUse * Misc.TIME_CONVERSION_FACTOR, ptpCooldown, player); @@ -135,19 +133,19 @@ public class PtpCommand implements TabExecutor { List matches = StringUtil.copyPartialMatches(args[0], TELEPORT_SUBCOMMANDS, new ArrayList<>(TELEPORT_SUBCOMMANDS.size())); if (matches.size() == 0) { - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return ImmutableList.of(); } Player player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - if (!mcMMOPlayer.inParty()) { + if (!mmoPlayer.inParty()) { return ImmutableList.of(); } - List playerNames = mcMMOPlayer.getParty().getOnlinePlayerNames(player); + List playerNames = mmoPlayer.getParty().getOnlinePlayerNames(player); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size())); } @@ -161,7 +159,7 @@ public class PtpCommand implements TabExecutor { return; } - McMMOPlayer mcMMOTarget = UserManager.getPlayer(targetName); + McMMOPlayer mcMMOTarget = mcMMO.getUserManager().getPlayer(targetName); Player target = mcMMOTarget.getPlayer(); @@ -198,7 +196,7 @@ public class PtpCommand implements TabExecutor { } protected static boolean canTeleport(CommandSender sender, Player player, String targetName) { - McMMOPlayer mcMMOTarget = UserManager.getPlayer(targetName); + McMMOPlayer mcMMOTarget = mcMMO.getUserManager().getPlayer(targetName); if (!CommandUtils.checkPlayerExistence(sender, targetName, mcMMOTarget)) { return false; @@ -211,7 +209,7 @@ public class PtpCommand implements TabExecutor { return false; } - if (!PartyManager.inSameParty(player, target)) { + if (!mcMMO.getPartyManager().inSameParty(player, target)) { player.sendMessage(LocaleLoader.getString("Party.NotInYourParty", targetName)); return false; } @@ -230,28 +228,28 @@ public class PtpCommand implements TabExecutor { } protected static void handleTeleportWarmup(Player teleportingPlayer, Player targetPlayer) { - if(UserManager.getPlayer(targetPlayer) == null) + if(mcMMO.getUserManager().getPlayer(targetPlayer) == null) { targetPlayer.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return; } - if(UserManager.getPlayer(teleportingPlayer) == null) + if(mcMMO.getUserManager().getPlayer(teleportingPlayer) == null) { teleportingPlayer.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(teleportingPlayer); - McMMOPlayer mcMMOTarget = UserManager.getPlayer(targetPlayer); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(teleportingPlayer); + McMMOPlayer mcMMOTarget = mcMMO.getUserManager().getPlayer(targetPlayer); long warmup = Config.getInstance().getPTPCommandWarmup(); - mcMMOPlayer.actualizeTeleportCommenceLocation(teleportingPlayer); + mmoPlayer.actualizeTeleportCommenceLocation(teleportingPlayer); if (warmup > 0) { teleportingPlayer.sendMessage(LocaleLoader.getString("Teleport.Commencing", warmup)); - new TeleportationWarmup(mcMMOPlayer, mcMMOTarget).runTaskLater(mcMMO.p, 20 * warmup); + new TeleportationWarmup(mmoPlayer, mcMMOTarget).runTaskLater(mcMMO.p, 20 * warmup); } else { EventUtils.handlePartyTeleportEvent(teleportingPlayer, targetPlayer); diff --git a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpToggleCommand.java b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpToggleCommand.java index aad4df9b9..c67c3e0e4 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpToggleCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpToggleCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.party.teleport; import com.gmail.nossr50.datatypes.party.PartyTeleportRecord; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -17,7 +16,7 @@ public class PtpToggleCommand implements CommandExecutor { return true; } - PartyTeleportRecord ptpRecord = UserManager.getPlayer(sender.getName()).getPartyTeleportRecord(); + PartyTeleportRecord ptpRecord = mcMMO.getUserManager().getPlayer(sender.getName()).getPartyTeleportRecord(); if (ptpRecord.isEnabled()) { sender.sendMessage(LocaleLoader.getString("Commands.ptp.Disabled")); diff --git a/src/main/java/com/gmail/nossr50/commands/player/InspectCommand.java b/src/main/java/com/gmail/nossr50/commands/player/InspectCommand.java index 3e54ffa8b..bbda098aa 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/InspectCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/InspectCommand.java @@ -8,7 +8,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; @@ -26,10 +25,10 @@ public class InspectCommand implements TabExecutor { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (args.length == 1) { String playerName = CommandUtils.getMatchedPlayerName(args[0]); - McMMOPlayer mcMMOPlayer = UserManager.getOfflinePlayer(playerName); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getOfflinePlayer(playerName); - // If the mcMMOPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process. - if (mcMMOPlayer == null) { + // If the mmoPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process. + if (mmoPlayer == null) { PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false); // Temporary Profile if (!CommandUtils.isLoaded(sender, profile)) { @@ -62,7 +61,7 @@ public class InspectCommand implements TabExecutor { } } else { - Player target = mcMMOPlayer.getPlayer(); + Player target = mmoPlayer.getPlayer(); if (CommandUtils.hidden(sender, target, Permissions.inspectHidden(sender))) { sender.sendMessage(LocaleLoader.getString("Inspect.Offline")); @@ -72,7 +71,7 @@ public class InspectCommand implements TabExecutor { } if (Config.getInstance().getScoreboardsEnabled() && sender instanceof Player && Config.getInstance().getInspectUseBoard()) { - ScoreboardManager.enablePlayerInspectScoreboard((Player) sender, mcMMOPlayer.getProfile()); + ScoreboardManager.enablePlayerInspectScoreboard((Player) sender, mmoPlayer); if (!Config.getInstance().getInspectUseChat()) { return true; @@ -83,7 +82,7 @@ public class InspectCommand implements TabExecutor { CommandUtils.printGatheringSkills(target, sender); CommandUtils.printCombatSkills(target, sender); CommandUtils.printMiscSkills(target, sender); - sender.sendMessage(LocaleLoader.getString("Commands.PowerLevel", mcMMOPlayer.getPowerLevel())); + sender.sendMessage(LocaleLoader.getString("Commands.PowerLevel", mmoPlayer.getPowerLevel())); } return true; diff --git a/src/main/java/com/gmail/nossr50/commands/player/MccooldownCommand.java b/src/main/java/com/gmail/nossr50/commands/player/MccooldownCommand.java index 74011a39c..dbce4c443 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/MccooldownCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/MccooldownCommand.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; @@ -38,12 +37,12 @@ public class MccooldownCommand implements TabExecutor { } } - if (UserManager.getPlayer(player) == null) { + if (mcMMO.getUserManager().getPlayer(player) == null) { player.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Header")); player.sendMessage(LocaleLoader.getString("mcMMO.NoSkillNote")); @@ -53,7 +52,7 @@ public class MccooldownCommand implements TabExecutor { continue; } - int seconds = mcMMOPlayer.calculateTimeRemaining(ability); + int seconds = mmoPlayer.calculateTimeRemaining(ability); if (seconds <= 0) { player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.Y", ability.getLocalizedName())); diff --git a/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java b/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java index 5a781cdfb..a82a0c795 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java @@ -7,7 +7,6 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.commands.McrankCommandAsyncTask; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -53,10 +52,10 @@ public class McrankCommand implements TabExecutor { } String playerName = CommandUtils.getMatchedPlayerName(args[0]); - McMMOPlayer mcMMOPlayer = UserManager.getOfflinePlayer(playerName); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getOfflinePlayer(playerName); - if (mcMMOPlayer != null) { - Player player = mcMMOPlayer.getPlayer(); + if (mmoPlayer != null) { + Player player = mmoPlayer.getPlayer(); playerName = player.getName(); if (CommandUtils.tooFar(sender, player, Permissions.mcrankFar(sender))) { @@ -83,9 +82,9 @@ public class McrankCommand implements TabExecutor { private void display(CommandSender sender, String playerName) { if (sender instanceof Player) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(sender.getName()); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(sender.getName()); - if(mcMMOPlayer == null) + if(mmoPlayer == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return; @@ -93,8 +92,8 @@ public class McrankCommand implements TabExecutor { long cooldownMillis = Math.min(Config.getInstance().getDatabasePlayerCooldown(), 1750); - if (mcMMOPlayer.getDatabaseATS() + cooldownMillis > System.currentTimeMillis()) { - sender.sendMessage(LocaleLoader.getString("Commands.Database.CooldownMS", getCDSeconds(mcMMOPlayer, cooldownMillis))); + if (mmoPlayer.getDatabaseCommandATS() + cooldownMillis > System.currentTimeMillis()) { + sender.sendMessage(LocaleLoader.getString("Commands.Database.CooldownMS", getCDSeconds(mmoPlayer, cooldownMillis))); return; } @@ -105,7 +104,7 @@ public class McrankCommand implements TabExecutor { ((Player) sender).setMetadata(mcMMO.databaseCommandKey, new FixedMetadataValue(mcMMO.p, null)); } - mcMMOPlayer.actualizeDatabaseATS(); + mmoPlayer.actualizeDatabaseCommandATS(); } boolean useBoard = Config.getInstance().getScoreboardsEnabled() && (sender instanceof Player) && (Config.getInstance().getRankUseBoard()); @@ -114,7 +113,7 @@ public class McrankCommand implements TabExecutor { new McrankCommandAsyncTask(playerName, sender, useBoard, useChat).runTaskAsynchronously(mcMMO.p); } - private long getCDSeconds(McMMOPlayer mcMMOPlayer, long cooldownMillis) { - return ((mcMMOPlayer.getDatabaseATS() + cooldownMillis) - System.currentTimeMillis()); + private long getCDSeconds(McMMOPlayer mmoPlayer, long cooldownMillis) { + return ((mmoPlayer.getDatabaseCommandATS() + cooldownMillis) - System.currentTimeMillis()); } } diff --git a/src/main/java/com/gmail/nossr50/commands/player/McstatsCommand.java b/src/main/java/com/gmail/nossr50/commands/player/McstatsCommand.java index 87025fac5..a0001e178 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/McstatsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/McstatsCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.player; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; @@ -26,7 +25,7 @@ public class McstatsCommand implements TabExecutor { } if (args.length == 0) { - if (UserManager.getPlayer((Player) sender) == null) { + if (mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; } @@ -51,9 +50,9 @@ public class McstatsCommand implements TabExecutor { int powerLevelCap = Config.getInstance().getPowerLevelCap(); if (powerLevelCap != Integer.MAX_VALUE) { - player.sendMessage(LocaleLoader.getString("Commands.PowerLevel.Capped", UserManager.getPlayer(player).getPowerLevel(), powerLevelCap)); + player.sendMessage(LocaleLoader.getString("Commands.PowerLevel.Capped", mcMMO.getUserManager().getPlayer(player).getPowerLevel(), powerLevelCap)); } else { - player.sendMessage(LocaleLoader.getString("Commands.PowerLevel", UserManager.getPlayer(player).getPowerLevel())); + player.sendMessage(LocaleLoader.getString("Commands.PowerLevel", mcMMO.getUserManager().getPlayer(player).getPowerLevel())); } return true; diff --git a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java index a50b51c20..e4e6d684a 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java @@ -9,7 +9,6 @@ import com.gmail.nossr50.runnables.commands.MctopCommandAsyncTask; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.StringUtils; import com.gmail.nossr50.util.commands.CommandUtils; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -85,11 +84,11 @@ public class MctopCommand implements TabExecutor { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(sender.getName()); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(sender.getName()); long cooldownMillis = Math.max(Config.getInstance().getDatabasePlayerCooldown(), 1750); - if (mcMMOPlayer.getDatabaseATS() + cooldownMillis > System.currentTimeMillis()) { - double seconds = ((mcMMOPlayer.getDatabaseATS() + cooldownMillis) - System.currentTimeMillis()) / 1000.0D; + if (mmoPlayer.getDatabaseCommandATS() + cooldownMillis > System.currentTimeMillis()) { + double seconds = ((mmoPlayer.getDatabaseCommandATS() + cooldownMillis) - System.currentTimeMillis()) / 1000.0D; if (seconds < 1) { seconds = 1; } @@ -105,7 +104,7 @@ public class MctopCommand implements TabExecutor { ((Player) sender).setMetadata(mcMMO.databaseCommandKey, new FixedMetadataValue(mcMMO.p, null)); } - mcMMOPlayer.actualizeDatabaseATS(); + mmoPlayer.actualizeDatabaseCommandATS(); } display(page, skill, sender); diff --git a/src/main/java/com/gmail/nossr50/commands/player/XPBarCommand.java b/src/main/java/com/gmail/nossr50/commands/player/XPBarCommand.java index 2c429ddd8..640ed1a3f 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/XPBarCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/XPBarCommand.java @@ -3,9 +3,8 @@ package com.gmail.nossr50.commands.player; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.util.StringUtils; -import com.gmail.nossr50.util.experience.ExperienceBarManager; +import com.gmail.nossr50.util.experience.MMOExperienceBarManager; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.SkillUtils; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; @@ -24,7 +23,7 @@ public class XPBarCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if(sender instanceof Player) { - McMMOPlayer mmoPlayer = UserManager.getPlayer((Player) sender); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer((Player) sender); if(mmoPlayer == null) { NotificationManager.sendPlayerInformationChatOnlyPrefixed(mmoPlayer.getPlayer(), "Profile.PendingLoad"); return false; @@ -35,10 +34,10 @@ public class XPBarCommand implements TabExecutor { } else if(args.length < 2) { String option = args[0]; - if(option.equalsIgnoreCase(ExperienceBarManager.XPBarSettingTarget.RESET.toString())) { - mmoPlayer.getExperienceBarManager().xpBarSettingToggle(ExperienceBarManager.XPBarSettingTarget.RESET, null); + if(option.equalsIgnoreCase(MMOExperienceBarManager.XPBarSettingTarget.RESET.toString())) { + mmoPlayer.getExperienceBarManager().xpBarSettingToggle(MMOExperienceBarManager.XPBarSettingTarget.RESET, null); return true; - } else if(option.equalsIgnoreCase(ExperienceBarManager.XPBarSettingTarget.DISABLE.toString())) { + } else if(option.equalsIgnoreCase(MMOExperienceBarManager.XPBarSettingTarget.DISABLE.toString())) { mmoPlayer.getExperienceBarManager().disableAllBars(); return true; } else { @@ -56,8 +55,8 @@ public class XPBarCommand implements TabExecutor { //Target setting String option = args[0].toLowerCase(); - ExperienceBarManager.XPBarSettingTarget settingTarget = getSettingTarget(option); - if(settingTarget != null && settingTarget != ExperienceBarManager.XPBarSettingTarget.RESET) { + MMOExperienceBarManager.XPBarSettingTarget settingTarget = getSettingTarget(option); + if(settingTarget != null && settingTarget != MMOExperienceBarManager.XPBarSettingTarget.RESET) { //Change setting mmoPlayer.getExperienceBarManager().xpBarSettingToggle(settingTarget, targetSkill); return true; @@ -75,16 +74,16 @@ public class XPBarCommand implements TabExecutor { } } - private @Nullable ExperienceBarManager.XPBarSettingTarget getSettingTarget(String string) { + private @Nullable MMOExperienceBarManager.XPBarSettingTarget getSettingTarget(String string) { switch (string.toLowerCase()) { case "hide": - return ExperienceBarManager.XPBarSettingTarget.HIDE; + return MMOExperienceBarManager.XPBarSettingTarget.HIDE; case "show": - return ExperienceBarManager.XPBarSettingTarget.SHOW; + return MMOExperienceBarManager.XPBarSettingTarget.SHOW; case "reset": - return ExperienceBarManager.XPBarSettingTarget.RESET; + return MMOExperienceBarManager.XPBarSettingTarget.RESET; case "disable": - return ExperienceBarManager.XPBarSettingTarget.DISABLE; + return MMOExperienceBarManager.XPBarSettingTarget.DISABLE; } return null; @@ -96,13 +95,13 @@ public class XPBarCommand implements TabExecutor { case 1: List options = new ArrayList<>(); - for(ExperienceBarManager.XPBarSettingTarget settingTarget : ExperienceBarManager.XPBarSettingTarget.values()) { + for(MMOExperienceBarManager.XPBarSettingTarget settingTarget : MMOExperienceBarManager.XPBarSettingTarget.values()) { options.add(StringUtils.getCapitalized(settingTarget.toString())); } - return StringUtil.copyPartialMatches(args[0], options, new ArrayList<>(ExperienceBarManager.XPBarSettingTarget.values().length)); + return StringUtil.copyPartialMatches(args[0], options, new ArrayList<>(MMOExperienceBarManager.XPBarSettingTarget.values().length)); case 2: - if(!args[0].equalsIgnoreCase(ExperienceBarManager.XPBarSettingTarget.RESET.toString())) + if(!args[0].equalsIgnoreCase(MMOExperienceBarManager.XPBarSettingTarget.RESET.toString())) return StringUtil.copyPartialMatches(args[1], PrimarySkillType.SKILL_NAMES, new ArrayList<>(PrimarySkillType.SKILL_NAMES.size())); default: return ImmutableList.of(); diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java index b8df20ad4..390d695cb 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.skills.alchemy.AlchemyManager; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.RankUtils; import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.entity.Player; @@ -31,13 +30,13 @@ public class AlchemyCommand extends SkillCommand { protected String[] calculateAbilityDisplayValues(Player player) { //TODO: Needed? - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { player.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return new String[] {"DATA NOT LOADED", "DATA NOT LOADED"}; } - AlchemyManager alchemyManager = UserManager.getPlayer(player).getAlchemyManager(); + AlchemyManager alchemyManager = mcMMO.getUserManager().getPlayer(player).getAlchemyManager(); String[] displayValues = new String[2]; boolean isLucky = Permissions.lucky(player, PrimarySkillType.ALCHEMY); @@ -59,7 +58,7 @@ public class AlchemyCommand extends SkillCommand { // ALCHEMY_CONCOCTIONS if (canConcoctions) { - AlchemyManager alchemyManager = UserManager.getPlayer(player).getAlchemyManager(); + AlchemyManager alchemyManager = mcMMO.getUserManager().getPlayer(player).getAlchemyManager(); tier = alchemyManager.getTier(); ingredientCount = alchemyManager.getIngredients().size(); ingredientList = alchemyManager.getIngredientList(); diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java index 8454b4af3..be6d19214 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.skills.axes.Axes; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.CombatUtils; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillActivationType; @@ -38,7 +37,7 @@ public class AxesCommand extends SkillCommand { protected void dataCalculations(Player player, float skillValue) { // ARMOR IMPACT if (canImpact) { - impactDamage = UserManager.getPlayer(player).getAxesManager().getImpactDurabilityDamage(); + impactDamage = mcMMO.getUserManager().getPlayer(player).getAxesManager().getImpactDurabilityDamage(); } // AXE MASTERY diff --git a/src/main/java/com/gmail/nossr50/commands/skills/CrossbowsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/CrossbowsCommand.java index ba88a113f..8feb5fdbb 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/CrossbowsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/CrossbowsCommand.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.skills.crossbows.CrossbowManager; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.entity.Player; @@ -30,7 +29,7 @@ public class CrossbowsCommand extends SkillCommand { protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList<>(); - CrossbowManager crossbowManager = UserManager.getPlayer(player).getCrossbowManager(); + CrossbowManager crossbowManager = mcMMO.getUserManager().getPlayer(player).getCrossbowManager(); if(canUseSubskill(player, SubSkillType.CROSSBOWS_SUPER_SHOTGUN)) { String additionalArrowCount = String.valueOf(crossbowManager.getSuperShotgunAdditionalArrowCount()); diff --git a/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java index 2f3d53a0f..1e074bbdf 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.skills.excavation.ExcavationManager; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.RankUtils; import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.entity.Player; @@ -45,7 +44,7 @@ public class ExcavationCommand extends SkillCommand { protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList<>(); - ExcavationManager excavationManager = UserManager.getPlayer(player).getExcavationManager(); + ExcavationManager excavationManager = mcMMO.getUserManager().getPlayer(player).getExcavationManager(); if (canGigaDrill) { messages.add(getStatMessage(SubSkillType.EXCAVATION_GIGA_DRILL_BREAKER, gigaDrillBreakerLength) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java index 2788b98d4..db16d59df 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java @@ -10,7 +10,6 @@ import com.gmail.nossr50.skills.fishing.Fishing; import com.gmail.nossr50.skills.fishing.FishingManager; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.random.RandomChanceUtil; import com.gmail.nossr50.util.skills.RankUtils; import net.md_5.bungee.api.chat.TextComponent; @@ -51,7 +50,7 @@ public class FishingCommand extends SkillCommand { @Override protected void dataCalculations(Player player, float skillValue) { - FishingManager fishingManager = UserManager.getPlayer(player).getFishingManager(); + FishingManager fishingManager = mcMMO.getUserManager().getPlayer(player).getFishingManager(); // TREASURE HUNTER if (canTreasureHunt) { diff --git a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java index 27102d7b4..d763f917c 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.skills.mining.MiningManager; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillActivationType; import net.md_5.bungee.api.chat.TextComponent; @@ -42,7 +41,7 @@ public class MiningCommand extends SkillCommand { protected void dataCalculations(Player player, float skillValue) { // BLAST MINING if (canBlast || canDemoExpert || canBiggerBombs) { - MiningManager miningManager = UserManager.getPlayer(player).getMiningManager(); + MiningManager miningManager = mcMMO.getUserManager().getPlayer(player).getMiningManager(); blastMiningRank = miningManager.getBlastMiningTier(); bonusTNTDrops = miningManager.getDropMultiplier(); diff --git a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java index a88a45bb6..2858a9781 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java @@ -11,7 +11,6 @@ import com.gmail.nossr50.skills.repair.RepairManager; import com.gmail.nossr50.skills.repair.repairables.Repairable; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillActivationType; import net.md_5.bungee.api.chat.TextComponent; @@ -94,7 +93,7 @@ public class RepairCommand extends SkillCommand { List messages = new ArrayList<>(); if (canArcaneForge) { - RepairManager repairManager = UserManager.getPlayer(player).getRepairManager(); + RepairManager repairManager = mcMMO.getUserManager().getPlayer(player).getRepairManager(); messages.add(getStatMessage(false, true, SubSkillType.REPAIR_ARCANE_FORGING, diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java index 9dc5263fe..7758f29ba 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.skills.salvage.Salvage; import com.gmail.nossr50.skills.salvage.SalvageManager; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.RankUtils; import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.entity.Player; @@ -37,7 +36,7 @@ public class SalvageCommand extends SkillCommand { @Override protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList<>(); - SalvageManager salvageManager = UserManager.getPlayer(player).getSalvageManager(); + SalvageManager salvageManager = mcMMO.getUserManager().getPlayer(player).getSalvageManager(); if (canScrapCollector) { messages.add(getStatMessage(false, true, diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java index 58cc27d55..e3d21ef0f 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java @@ -12,7 +12,6 @@ import com.gmail.nossr50.util.StringUtils; import com.gmail.nossr50.util.TextComponentFactory; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.random.RandomChanceUtil; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.gmail.nossr50.util.skills.PerksUtils; @@ -59,7 +58,7 @@ public abstract class SkillCommand implements TabExecutor { return true; } - if(UserManager.getPlayer((Player) sender) == null) + if(mcMMO.getUserManager().getPlayer((Player) sender) == null) { sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); return true; @@ -67,11 +66,11 @@ public abstract class SkillCommand implements TabExecutor { if (args.length == 0) { Player player = (Player) sender; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); boolean isLucky = Permissions.lucky(player, skill); boolean hasEndurance = (PerksUtils.handleActivationPerks(player, 0, 0) != 0); - float skillValue = mcMMOPlayer.getSkillLevel(skill); + float skillValue = mmoPlayer.getSkillLevel(skill); //Send the players a few blank lines to make finding the top of the skill command easier if (AdvancedConfig.getInstance().doesSkillCommandSendBlankLines()) @@ -82,7 +81,7 @@ public abstract class SkillCommand implements TabExecutor { permissionsCheck(player); dataCalculations(player, skillValue); - sendSkillCommandHeader(player, mcMMOPlayer, (int) skillValue); + sendSkillCommandHeader(player, mmoPlayer, (int) skillValue); //Make JSON text components List subskillTextComponents = getTextComponents(player); @@ -135,7 +134,7 @@ public abstract class SkillCommand implements TabExecutor { player.sendMessage(LocaleLoader.getString("Guides.Available", skillName, skillName.toLowerCase(Locale.ENGLISH))); } - private void sendSkillCommandHeader(Player player, McMMOPlayer mcMMOPlayer, int skillValue) { + private void sendSkillCommandHeader(Player player, McMMOPlayer mmoPlayer, int skillValue) { ChatColor hd1 = ChatColor.DARK_AQUA; ChatColor c1 = ChatColor.GOLD; ChatColor c2 = ChatColor.RED; @@ -153,7 +152,7 @@ public abstract class SkillCommand implements TabExecutor { player.sendMessage(LocaleLoader.getString("Commands.XPGain.Overhaul", LocaleLoader.getString("Commands.XPGain." + StringUtils.getCapitalized(skill.toString())))); //LEVEL - player.sendMessage(LocaleLoader.getString("Effects.Level.Overhaul", skillValue, mcMMOPlayer.getSkillXpLevel(skill), mcMMOPlayer.getXpToLevel(skill))); + player.sendMessage(LocaleLoader.getString("Effects.Level.Overhaul", skillValue, mmoPlayer.getSkillXpLevel(skill), mmoPlayer.getXpToLevel(skill))); } else { /* @@ -164,7 +163,7 @@ public abstract class SkillCommand implements TabExecutor { Set parents = FamilyTree.getParents(skill); //TODO: Add JSON here - /*player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level.Overhaul", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent)))*/ + /*player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level.Overhaul", mmoPlayer.getSkillLevel(parent), mmoPlayer.getSkillXpLevel(parent), mmoPlayer.getXpToLevel(parent)))*/ ArrayList parentList = new ArrayList<>(parents); StringBuilder parentMessage = new StringBuilder(); @@ -173,10 +172,10 @@ public abstract class SkillCommand implements TabExecutor { { if(i+1 < parentList.size()) { - parentMessage.append(LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mcMMOPlayer.getSkillLevel(parentList.get(i)))); + parentMessage.append(LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mmoPlayer.getSkillLevel(parentList.get(i)))); parentMessage.append(ChatColor.GRAY).append(", "); } else { - parentMessage.append(LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mcMMOPlayer.getSkillLevel(parentList.get(i)))); + parentMessage.append(LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mmoPlayer.getSkillLevel(parentList.get(i)))); } } @@ -192,7 +191,7 @@ public abstract class SkillCommand implements TabExecutor { if (!skill.isChildSkill()) { player.sendMessage(LocaleLoader.getString("Skills.Header", skillName)); player.sendMessage(LocaleLoader.getString("Commands.XPGain", LocaleLoader.getString("Commands.XPGain." + StringUtils.getCapitalized(skill.toString())))); - player.sendMessage(LocaleLoader.getString("Effects.Level", skillValue, mcMMOPlayer.getSkillXpLevel(skill), mcMMOPlayer.getXpToLevel(skill))); + player.sendMessage(LocaleLoader.getString("Effects.Level", skillValue, mmoPlayer.getSkillXpLevel(skill), mmoPlayer.getXpToLevel(skill))); } else { player.sendMessage(LocaleLoader.getString("Skills.Header", skillName + " " + LocaleLoader.getString("Skills.Child"))); player.sendMessage(LocaleLoader.getString("Commands.XPGain", LocaleLoader.getString("Commands.XPGain.Child"))); @@ -202,7 +201,7 @@ public abstract class SkillCommand implements TabExecutor { Set parents = FamilyTree.getParents(skill); for (PrimarySkillType parent : parents) { - player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent))); + player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level", mmoPlayer.getSkillLevel(parent), mmoPlayer.getSkillXpLevel(parent), mmoPlayer.getXpToLevel(parent))); } } */ diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java index a3a5f5805..8ddeab502 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillActivationType; import net.md_5.bungee.api.chat.TextComponent; @@ -34,7 +33,7 @@ public class SmeltingCommand extends SkillCommand { protected void dataCalculations(Player player, float skillValue) { // FUEL EFFICIENCY if (canFuelEfficiency) { - burnTimeModifier = String.valueOf(UserManager.getPlayer(player).getSmeltingManager().getFuelEfficiencyMultiplier()); + burnTimeModifier = String.valueOf(mcMMO.getUserManager().getPlayer(player).getSmeltingManager().getFuelEfficiencyMultiplier()); } // FLUX MINING @@ -81,7 +80,7 @@ public class SmeltingCommand extends SkillCommand { if (canUnderstandTheArt) { messages.add(getStatMessage(false, true, SubSkillType.SMELTING_UNDERSTANDING_THE_ART, - String.valueOf(UserManager.getPlayer(player).getSmeltingManager().getVanillaXpMultiplier()))); + String.valueOf(mcMMO.getUserManager().getPlayer(player).getSmeltingManager().getVanillaXpMultiplier()))); } return messages; diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java index 0933d6c79..046e98b1f 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.CombatUtils; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillActivationType; @@ -44,7 +43,7 @@ public class SwordsCommand extends SkillCommand { // SWORDS_RUPTURE if (canBleed) { - bleedLength = UserManager.getPlayer(player).getSwordsManager().getRuptureBleedTicks(); + bleedLength = mcMMO.getUserManager().getPlayer(player).getSwordsManager().getRuptureBleedTicks(); String[] bleedStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.SWORDS_RUPTURE); bleedChance = bleedStrings[0]; @@ -70,7 +69,7 @@ public class SwordsCommand extends SkillCommand { protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList<>(); - int ruptureTicks = UserManager.getPlayer(player).getSwordsManager().getRuptureBleedTicks(); + int ruptureTicks = mcMMO.getUserManager().getPlayer(player).getSwordsManager().getRuptureBleedTicks(); double ruptureDamagePlayers = RankUtils.getRank(player, SubSkillType.SWORDS_RUPTURE) >= 3 ? AdvancedConfig.getInstance().getRuptureDamagePlayer() * 1.5D : AdvancedConfig.getInstance().getRuptureDamagePlayer(); double ruptureDamageMobs = RankUtils.getRank(player, SubSkillType.SWORDS_RUPTURE) >= 3 ? AdvancedConfig.getInstance().getRuptureDamageMobs() * 1.5D : AdvancedConfig.getInstance().getRuptureDamageMobs(); @@ -98,7 +97,7 @@ public class SwordsCommand extends SkillCommand { if(canUseSubskill(player, SubSkillType.SWORDS_STAB)) { messages.add(getStatMessage(SubSkillType.SWORDS_STAB, - String.valueOf(UserManager.getPlayer(player).getSwordsManager().getStabDamage()))); + String.valueOf(mcMMO.getUserManager().getPlayer(player).getSwordsManager().getStabDamage()))); } if(canUseSubskill(player, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK)) { diff --git a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java index 383b28318..73b1ad75f 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.TextComponentFactory; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.CombatUtils; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillActivationType; @@ -61,7 +60,7 @@ public class UnarmedCommand extends SkillCommand { // IRON ARM if (canIronArm) { - ironArmBonus = UserManager.getPlayer(player).getUnarmedManager().getIronArmDamage(); + ironArmBonus = mcMMO.getUserManager().getPlayer(player).getUnarmedManager().getIronArmDamage(); } // IRON GRIP diff --git a/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java b/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java index 615488646..4634e8c6b 100644 --- a/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java +++ b/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java @@ -638,7 +638,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader { /* GENERAL */ public boolean canApplyLimitBreakPVE() { return config.getBoolean("Skills.General.LimitBreak.AllowPVE", false); } - public int getStartingLevel() { return config.getInt("Skills.General.StartingLevel", 1); } + public int getStartingLevel() { return config.getInt("Skills.General.StartingLevel", 0); } public boolean allowPlayerTips() { return config.getBoolean("Feedback.PlayerTips", true); diff --git a/src/main/java/com/gmail/nossr50/config/Config.java b/src/main/java/com/gmail/nossr50/config/Config.java index 4db327aa5..051fc2c7c 100644 --- a/src/main/java/com/gmail/nossr50/config/Config.java +++ b/src/main/java/com/gmail/nossr50/config/Config.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.config; import com.gmail.nossr50.database.SQLDatabaseManager.PoolIdentifier; -import com.gmail.nossr50.datatypes.MobHealthbarType; +import com.gmail.nossr50.datatypes.MobHealthBarType; import com.gmail.nossr50.datatypes.party.PartyFeature; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; @@ -276,12 +276,12 @@ public class Config extends AutoUpdateConfigLoader { public boolean getMobHealthbarEnabled() { return config.getBoolean("Mob_Healthbar.Enabled", true); } /* Mob Healthbar */ - public MobHealthbarType getMobHealthbarDefault() { + public MobHealthBarType getMobHealthbarDefault() { try { - return MobHealthbarType.valueOf(config.getString("Mob_Healthbar.Display_Type", "HEARTS").toUpperCase(Locale.ENGLISH).trim()); + return MobHealthBarType.valueOf(config.getString("Mob_Healthbar.Display_Type", "HEARTS").toUpperCase(Locale.ENGLISH).trim()); } catch (IllegalArgumentException ex) { - return MobHealthbarType.HEARTS; + return MobHealthBarType.HEARTS; } } @@ -374,12 +374,6 @@ public class Config extends AutoUpdateConfigLoader { public int getHardcoreVampirismLevelThreshold() { return config.getInt("Hardcore.Vampirism.Level_Threshold", 0); } - /* SMP Mods */ - public boolean getToolModsEnabled() { return config.getBoolean("Mods.Tool_Mods_Enabled", false); } - public boolean getArmorModsEnabled() { return config.getBoolean("Mods.Armor_Mods_Enabled", false); } - public boolean getBlockModsEnabled() { return config.getBoolean("Mods.Block_Mods_Enabled", false); } - public boolean getEntityModsEnabled() { return config.getBoolean("Mods.Entity_Mods_Enabled", false); } - /* Items */ public int getChimaeraUseCost() { return config.getInt("Items.Chimaera_Wing.Use_Cost", 1); } public int getChimaeraRecipeCost() { return config.getInt("Items.Chimaera_Wing.Recipe_Cost", 5); } diff --git a/src/main/java/com/gmail/nossr50/database/DatabaseManager.java b/src/main/java/com/gmail/nossr50/database/DatabaseManager.java index f5769d93e..ea00f1e5e 100644 --- a/src/main/java/com/gmail/nossr50/database/DatabaseManager.java +++ b/src/main/java/com/gmail/nossr50/database/DatabaseManager.java @@ -3,6 +3,7 @@ package com.gmail.nossr50.database; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.datatypes.database.DatabaseType; import com.gmail.nossr50.datatypes.database.PlayerStat; +import com.gmail.nossr50.datatypes.player.MMODataSnapshot; import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; @@ -40,15 +41,14 @@ public interface DatabaseManager { * Currently only used for SQL * @param uuid target UUID to cleanup */ - void cleanupUser(UUID uuid); + void removeCache(UUID uuid); /** * Save a user to the database. * - * @param profile The profile of the player to save - * @return true if successful, false on failure + * @param mmoDataSnapshot Snapshot of player data to save */ - boolean saveUser(PlayerProfile profile); + boolean saveUser(MMODataSnapshot mmoDataSnapshot); /** * Retrieve leaderboard info. @@ -79,20 +79,6 @@ public interface DatabaseManager { */ void newUser(String playerName, UUID uuid); - /** - * Load a player from the database. - * - * @deprecated replaced by {@link #loadPlayerProfile(String playerName, UUID uuid, boolean createNew)} - * - * @param playerName The name of the player to load from the database - * @param createNew Whether to create a new record if the player is not - * found - * @return The player's data, or an unloaded PlayerProfile if not found - * and createNew is false - */ - @Deprecated - PlayerProfile loadPlayerProfile(String playerName, boolean createNew); - /** * Load a player from the database. * @@ -101,18 +87,6 @@ public interface DatabaseManager { */ PlayerProfile loadPlayerProfile(UUID uuid); - /** - * Load a player from the database. Attempt to use uuid, fall back on playername - * - * @param playerName The name of the player to load from the database - * @param uuid The uuid of the player to load from the database - * @param createNew Whether to create a new record if the player is not - * found - * @return The player's data, or an unloaded PlayerProfile if not found - * and createNew is false - */ - PlayerProfile loadPlayerProfile(String playerName, UUID uuid, boolean createNew); - /** * Get all users currently stored in the database. * @@ -128,9 +102,9 @@ public interface DatabaseManager { */ void convertUsers(DatabaseManager destination); - boolean saveUserUUID(String userName, UUID uuid); +// boolean saveUserUUID(String userName, UUID uuid); - boolean saveUserUUIDs(Map fetchedUUIDs); +// boolean saveUserUUIDs(Map fetchedUUIDs); /** * Retrieve the type of database in use. Custom databases should return CUSTOM. diff --git a/src/main/java/com/gmail/nossr50/database/DatabaseManagerFactory.java b/src/main/java/com/gmail/nossr50/database/DatabaseManagerFactory.java index a70359400..c781d4428 100644 --- a/src/main/java/com/gmail/nossr50/database/DatabaseManagerFactory.java +++ b/src/main/java/com/gmail/nossr50/database/DatabaseManagerFactory.java @@ -23,7 +23,7 @@ public class DatabaseManagerFactory { mcMMO.p.getLogger().info("Falling back on " + (Config.getInstance().getUseMySQL() ? "SQL" : "Flatfile") + " database"); } - return Config.getInstance().getUseMySQL() ? new SQLDatabaseManager() : new FlatfileDatabaseManager(); + return Config.getInstance().getUseMySQL() ? new SQLDatabaseManager() : new FlatFileDatabaseManager(); } /** @@ -60,7 +60,7 @@ public class DatabaseManagerFactory { switch (type) { case FLATFILE: mcMMO.p.getLogger().info("Using FlatFile Database"); - return new FlatfileDatabaseManager(); + return new FlatFileDatabaseManager(); case SQL: mcMMO.p.getLogger().info("Using SQL Database"); diff --git a/src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java b/src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java index 2a2856de9..7de98e6f2 100644 --- a/src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java +++ b/src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java @@ -1448,7 +1448,7 @@ public final class FlatFileDatabaseManager implements DatabaseManager { .setBarStateMap(xpBarStateMap); PersistentPlayerData persistentPlayerData; - + try { persistentPlayerData = playerDataBuilder.build(); } catch (Exception e) { diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java b/src/main/java/com/gmail/nossr50/datatypes/party/Party.java index c4b6e42ca..9afe718a9 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java +++ b/src/main/java/com/gmail/nossr50/datatypes/party/Party.java @@ -1,337 +1,96 @@ package com.gmail.nossr50.datatypes.party; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.config.experience.ExperienceConfig; -import com.gmail.nossr50.datatypes.experience.FormulaType; import com.gmail.nossr50.datatypes.player.McMMOPlayer; -import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; -import com.gmail.nossr50.util.player.UserManager; -import com.gmail.nossr50.util.sounds.SoundManager; -import com.gmail.nossr50.util.sounds.SoundType; -import org.bukkit.Bukkit; import org.bukkit.ChatColor; -import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import java.text.DecimalFormat; import java.util.ArrayList; -import java.util.LinkedHashMap; +import java.util.HashSet; import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; public class Party { -// private static final String ONLINE_PLAYER_PREFIX = "★"; -// private static final String ONLINE_PLAYER_PREFIX = "●" + ChatColor.RESET; private static final String ONLINE_PLAYER_PREFIX = "⬤"; -// private static final String OFFLINE_PLAYER_PREFIX = "☆"; - private static final String OFFLINE_PLAYER_PREFIX = "○"; -// private static final String OFFLINE_PLAYER_PREFIX = "⭕" + ChatColor.RESET; - private final LinkedHashMap members = new LinkedHashMap<>(); - private final List onlineMembers = new ArrayList<>(); - private PartyLeader leader; - private String name; - private String password; - private boolean locked; - private Party ally; - private int level; - private float xp; + private final String partyName; + private String partyPassword; + private boolean partyLock; - private ShareMode xpShareMode = ShareMode.NONE; - private ShareMode itemShareMode = ShareMode.NONE; + private final PartyMemberManager partyMemberManager; + private final PartyItemShareManager partyItemShareManager; + private final PartyExperienceManager partyExperienceManager; + private final PartyAllianceManager partyAllianceManager; - private boolean shareLootDrops = true; - private boolean shareMiningDrops = true; - private boolean shareHerbalismDrops = true; - private boolean shareWoodcuttingDrops = true; - private boolean shareMiscDrops = true; + public static final String PARTY_LEADER_PREFIX = ChatColor.GOLD + + "♕" + + ChatColor.RESET; - public Party(String name) { - this.name = name; - } - - public Party(PartyLeader leader, String name) { - this.leader = leader; - this.name = name; - this.locked = true; - this.level = 0; - } - - public Party(PartyLeader leader, String name, String password) { - this.leader = leader; - this.name = name; - this.password = password; - this.locked = true; - this.level = 0; - } - - public Party(PartyLeader leader, String name, String password, boolean locked) { - this.leader = leader; - this.name = name; - this.password = password; - this.locked = locked; - this.level = 0; - } - - public LinkedHashMap getMembers() { - return members; - } - - public List getOnlineMembers() { - return onlineMembers; - } - - public List getVisibleMembers(Player player) - { - ArrayList visibleMembers = new ArrayList<>(); - - for(Player p : onlineMembers) - { - if(player.canSee(p)) - visibleMembers.add(p); + public Party(String partyName, HashSet partyMembers, int partyLevel) throws RuntimeException { + if(partyMembers.isEmpty()) { + throw new RuntimeException("No party members for the party named "+ partyName); } - return visibleMembers; + this.partyName = partyName; + this.partyLock = true; + this.partyLevel = partyLevel; + this.partyMemberManager = new PartyMemberManager(partyMembers); + this.partyItemShareManager = new PartyItemShareManager(); } - public List getOnlinePlayerNames(CommandSender sender) { - Player player = sender instanceof Player ? (Player) sender : null; - List onlinePlayerNames = new ArrayList<>(); - - for (Player onlinePlayer : getOnlineMembers()) { - if (player != null && player.canSee(onlinePlayer)) { - onlinePlayerNames.add(onlinePlayer.getName()); - } - } - - return onlinePlayerNames; + public Party(Player partyLeader, String partyName, String partyPassword) { + this.partyName = partyName; + this.partyPassword = partyPassword; + this.partyLock = true; + this.partyLevel = 0; + this.partyMemberManager = new PartyMemberManager(partyLeader); + this.partyItemShareManager = new PartyItemShareManager(); } - public boolean addOnlineMember(Player player) { - return onlineMembers.add(player); + public HashSet getPartyMembers() { + return partyMemberManager.getPartyMembers(); } - public boolean removeOnlineMember(Player player) { - return onlineMembers.remove(player); + public String getPartyName() { + return partyName; } - public String getName() { - return name; - } - - public PartyLeader getLeader() { - return leader; - } - - public String getPassword() { - return password; + public String getPartyPassword() { + return partyPassword; } public boolean isLocked() { - return locked; + return partyLock; } public Party getAlly() { return ally; } - public List getItemShareCategories() { - List shareCategories = new ArrayList<>(); + public void setPartyName(String partyName) { + this.partyName = partyName; + } - for (ItemShareType shareType : ItemShareType.values()) { - if (sharingDrops(shareType)) { - shareCategories.add(shareType.getLocaleString()); - } + public void setLeader(UUID newPartyLeader) { + this.partyMemberManager = ; + } + + public void setPartyPassword(String partyPassword) { + this.partyPassword = partyPassword; + } + + public void setPartyLock(boolean partyLock) { + this.partyLock = partyLock; + } + + public boolean hasMember(Player player) { + for(PartyMember partyMember : getPartyMembers()) { + if(partyMember.getUniqueId().equals(player.getUniqueId())) + return true; } - return shareCategories; - } - - public void setName(String name) { - this.name = name; - } - - public void setLeader(PartyLeader leader) { - this.leader = leader; - } - - public void setPassword(String password) { - this.password = password; - } - - public void setLocked(boolean locked) { - this.locked = locked; - } - - public void setAlly(Party ally) { - this.ally = ally; - } - - public int getLevel() { - return level; - } - - public void setLevel(int level) { - this.level = level; - } - - public float getXp() { - return xp; - } - - public void setXp(float xp) { - this.xp = xp; - } - - public void addXp(float xp) { - setXp(getXp() + xp); - } - - protected float levelUp() { - float xpRemoved = getXpToLevel(); - - setLevel(getLevel() + 1); - setXp(getXp() - xpRemoved); - - return xpRemoved; - } - - public int getXpToLevel() { - FormulaType formulaType = ExperienceConfig.getInstance().getFormulaType(); - return (mcMMO.getFormulaManager().getXPtoNextLevel(level, formulaType)) * (getOnlineMembers().size() + Config.getInstance().getPartyXpCurveMultiplier()); - } - - public String getXpToLevelPercentage() { - DecimalFormat percent = new DecimalFormat("##0.00%"); - return percent.format(this.getXp() / getXpToLevel()); - } - - /** - * Applies an experience gain - * - * @param xp Experience amount to add - */ - public void applyXpGain(float xp) { - if (!EventUtils.handlePartyXpGainEvent(this, xp)) { - return; - } - - if (getXp() < getXpToLevel()) { - return; - } - - int levelsGained = 0; - float xpRemoved = 0; - - while (getXp() >= getXpToLevel()) { - if (hasReachedLevelCap()) { - setXp(0); - return; - } - - xpRemoved += levelUp(); - levelsGained++; - } - - if (!EventUtils.handlePartyLevelChangeEvent(this, levelsGained, xpRemoved)) { - return; - } - - if (!Config.getInstance().getPartyInformAllMembers()) { - Player leader = mcMMO.p.getServer().getPlayer(this.leader.getUniqueId()); - - if (leader != null) { - leader.sendMessage(LocaleLoader.getString("Party.LevelUp", levelsGained, getLevel())); - - if (Config.getInstance().getLevelUpSoundsEnabled()) { - SoundManager.sendSound(leader, leader.getLocation(), SoundType.LEVEL_UP); - } - } - return; - } - - PartyManager.informPartyMembersLevelUp(this, levelsGained, getLevel()); - } - - public boolean hasReachedLevelCap() { - return Config.getInstance().getPartyLevelCap() < getLevel() + 1; - } - - public void setXpShareMode(ShareMode xpShareMode) { - this.xpShareMode = xpShareMode; - } - - public ShareMode getXpShareMode() { - return xpShareMode; - } - - public void setItemShareMode(ShareMode itemShareMode) { - this.itemShareMode = itemShareMode; - } - - public ShareMode getItemShareMode() { - return itemShareMode; - } - - public boolean sharingDrops(ItemShareType shareType) { - switch (shareType) { - case HERBALISM: - return shareHerbalismDrops; - - case LOOT: - return shareLootDrops; - - case MINING: - return shareMiningDrops; - - case MISC: - return shareMiscDrops; - - case WOODCUTTING: - return shareWoodcuttingDrops; - - default: - return false; - } - } - - public void setSharingDrops(ItemShareType shareType, boolean enabled) { - switch (shareType) { - case HERBALISM: - shareHerbalismDrops = enabled; - break; - - case LOOT: - shareLootDrops = enabled; - break; - - case MINING: - shareMiningDrops = enabled; - break; - - case MISC: - shareMiscDrops = enabled; - break; - - case WOODCUTTING: - shareWoodcuttingDrops = enabled; - break; - - default: - } - } - - public boolean hasMember(String memberName) { - return this.getMembers().containsValue(memberName); - } - - public boolean hasMember(UUID uuid) { - return this.getMembers().containsKey(uuid); + return false; } /** @@ -342,189 +101,39 @@ public class Party { * @return formatted list of party members from the POV of a player */ public String createMembersList(Player player) { - StringBuilder memberList = new StringBuilder(); - - List onlineMembers = members.keySet().stream() - .filter(x -> Bukkit.getOfflinePlayer(x).isOnline()) - .collect(Collectors.toList()); - - List offlineMembers = members.keySet().stream() - .filter(x -> !Bukkit.getOfflinePlayer(x).isOnline()) - .collect(Collectors.toList()); - - ArrayList visiblePartyList = new ArrayList<>(); - boolean isPartyLeaderOfflineOrHidden = false; - ArrayList offlineOrHiddenPartyList = new ArrayList<>(); - - for(UUID onlineMember : onlineMembers) - { - Player onlinePlayer = Bukkit.getPlayer(onlineMember); - - if(!isNotSamePerson(player.getUniqueId(), onlineMember) - || onlinePlayer != null && player.canSee(onlinePlayer)) - { - visiblePartyList.add(onlineMember); - } else { - //Party leader and cannot be seen by this player - if(isNotSamePerson(leader.getUniqueId(), player.getUniqueId()) && onlineMember == leader.getUniqueId()) - isPartyLeaderOfflineOrHidden = true; - - offlineOrHiddenPartyList.add(onlineMember); - } - } - - if(offlineMembers.contains(leader.getUniqueId())) - isPartyLeaderOfflineOrHidden = true; - - //Add all the actually offline members - offlineOrHiddenPartyList.addAll(offlineMembers); - /* BUILD THE PARTY LIST WITH FORMATTING */ - - String partyLeaderPrefix = - /*ChatColor.WHITE - + "[" - +*/ ChatColor.GOLD - + "♕" - /*+ ChatColor.WHITE - + "]"*/ - + ChatColor.RESET; - - //First add the party leader - memberList.append(partyLeaderPrefix); - - List nearbyPlayerList = getNearMembers(UserManager.getPlayer(player)); - boolean useDisplayNames = Config.getInstance().getPartyDisplayNames(); - if(isPartyLeaderOfflineOrHidden) - { - if(isNotSamePerson(player.getUniqueId(), leader.getUniqueId())) - applyOnlineAndRangeFormatting(memberList, false, false); + StringBuilder formattedPartyMemberList = new StringBuilder(); - memberList.append(ChatColor.GRAY) - .append(leader.getPlayerName()); - } - else { - if(isNotSamePerson(leader.getUniqueId(), player.getUniqueId())) - applyOnlineAndRangeFormatting(memberList, true, nearbyPlayerList.contains(Bukkit.getPlayer(leader.getUniqueId()))); + PartyMember partyLeader = getLeader(); - if(useDisplayNames) { - memberList.append(leader.getPlayerName()); - } else { - memberList.append(ChatColor.GOLD) - .append(Bukkit.getOfflinePlayer(leader.getUniqueId())); - } - } - - //Space - memberList.append(" "); - - //Now do online members - for(UUID onlinePlayerUUID : visiblePartyList) - { - if(onlinePlayerUUID == leader.getUniqueId()) - continue; - - if(isNotSamePerson(onlinePlayerUUID, player.getUniqueId())) - applyOnlineAndRangeFormatting(memberList, true, nearbyPlayerList.contains(Bukkit.getPlayer(onlinePlayerUUID))); - - if(useDisplayNames) - { - memberList.append(Bukkit.getPlayer(onlinePlayerUUID).getDisplayName()); - } - else - { - //Color allies green, players dark aqua - memberList.append(ChatColor.GREEN) - .append(Bukkit.getPlayer(onlinePlayerUUID).getName()); - } - - memberList.append(" ").append(ChatColor.RESET); - } - - for(UUID offlineOrHiddenPlayer : offlineOrHiddenPartyList) - { - if(offlineOrHiddenPlayer == leader.getUniqueId()) - continue; - - applyOnlineAndRangeFormatting(memberList, false, false); - - memberList.append(ChatColor.GRAY) - .append(Bukkit.getOfflinePlayer(offlineOrHiddenPlayer).getName()) - .append(" ").append(ChatColor.RESET); - } - - -// for (Player otherPlayer : this.getVisibleMembers(player)) { -// String memberName = otherPlayer.getName(); -// -// if (this.getLeader().getUniqueId().equals(otherPlayer.getUniqueId())) { -// memberList.append(ChatColor.GOLD); -// -// if (otherPlayer == null) { -// memberName = memberName.substring(0, 1) + ChatColor.GRAY + ChatColor.ITALIC + "" + memberName.substring(1); -// } -// } -// else if (otherPlayer != null) { -// memberList.append(ChatColor.WHITE); -// } -// else { -// memberList.append(ChatColor.GRAY); -// } -// -// if (player.getName().equalsIgnoreCase(otherPlayer.getName())) { -// memberList.append(ChatColor.ITALIC); -// } -// -// memberList.append(memberName).append(ChatColor.RESET).append(" "); -// } + //First add the party leader + memberList.append(PARTY_LEADER_PREFIX); return memberList.toString(); } - private boolean isNotSamePerson(UUID onlinePlayerUUID, UUID uniqueId) { - return onlinePlayerUUID != uniqueId; - } - - private void applyOnlineAndRangeFormatting(StringBuilder stringBuilder, boolean isVisibleOrOnline, boolean isNear) - { - if(isVisibleOrOnline) - { - if(isNear) - { - stringBuilder.append(ChatColor.GREEN); - } else { - stringBuilder.append(ChatColor.GRAY); - } - -// stringBuilder.append(ChatColor.BOLD); - stringBuilder.append(ONLINE_PLAYER_PREFIX); - } else { - stringBuilder.append(ChatColor.GRAY); - stringBuilder.append(OFFLINE_PLAYER_PREFIX); - } - - stringBuilder.append(ChatColor.RESET); - } - /** * Get the near party members. * - * @param mcMMOPlayer The player to check + * @param mmoPlayer The player to check * @return the near party members */ - public List getNearMembers(McMMOPlayer mcMMOPlayer) { + public List getNearMembers(McMMOPlayer mmoPlayer) { List nearMembers = new ArrayList<>(); - Party party = mcMMOPlayer.getParty(); + Party party = mmoPlayer.getParty(); if (party != null) { - Player player = mcMMOPlayer.getPlayer(); + Player player = mmoPlayer.getPlayer(); double range = Config.getInstance().getPartyShareRange(); - for (Player member : party.getOnlineMembers()) { - if (!player.equals(member) && member.isValid() && Misc.isNear(player.getLocation(), member.getLocation(), range)) { - nearMembers.add(member); + for (PartyMember partyMember : party.getPartyMembers()) { + if (!player.getUniqueId().equals(partyMember.getOfflinePlayer().getUniqueId()) + && partyMember.getOfflinePlayer().isOnline() + && partyMember.getOfflinePlayer().getPlayer() != null + && Misc.isNear(player.getLocation(), partyMember.getOfflinePlayer().getPlayer().getLocation(), range)) { + nearMembers.add(partyMember.getOfflinePlayer().getPlayer()); } } } @@ -533,21 +142,11 @@ public class Party { } @Override - public boolean equals(Object obj) { - if (obj == null) { - return false; - } + public boolean equals(Object o) { + } - if (!(obj instanceof Party)) { - return false; - } - - Party other = (Party) obj; - - if ((this.getName() == null) || (other.getName() == null)) { - return false; - } - - return this.getName().equals(other.getName()); + @Override + public int hashCode() { + return ; } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyAllianceManager.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyAllianceManager.java new file mode 100644 index 000000000..ea2a50c16 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyAllianceManager.java @@ -0,0 +1,26 @@ +package com.gmail.nossr50.datatypes.party; + +public class PartyAllianceManager { + private Party ally; + private Party allianceInvite; + + public void setPartyAllianceInvite(Party allianceInvite) { + this.allianceInvite = allianceInvite; + } + + public Party getPartyAllianceInvite() { + return allianceInvite; + } + + public boolean hasPartyAllianceInvite() { + return (allianceInvite != null); + } + + public void removePartyAllianceInvite() { + allianceInvite = null; + } + + public void setAlly(Party ally) { + this.ally = ally; + } +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyExperienceManager.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyExperienceManager.java new file mode 100644 index 000000000..a95d2886e --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyExperienceManager.java @@ -0,0 +1,118 @@ +package com.gmail.nossr50.datatypes.party; + +import com.gmail.nossr50.config.Config; +import com.gmail.nossr50.config.experience.ExperienceConfig; +import com.gmail.nossr50.datatypes.experience.FormulaType; +import com.gmail.nossr50.locale.LocaleLoader; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.EventUtils; +import com.gmail.nossr50.util.sounds.SoundManager; +import com.gmail.nossr50.util.sounds.SoundType; +import org.bukkit.entity.Player; + +import java.text.DecimalFormat; + +public class PartyExperienceManager { + + private int partyLevel; + private float partyExperience; + private ShareMode xpShareMode = ShareMode.NONE; + + public void setXpShareMode(ShareMode xpShareMode) { + this.xpShareMode = xpShareMode; + } + + public ShareMode getXpShareMode() { + return xpShareMode; + } + + /** + * Applies an experience gain + * + * @param xp Experience amount to add + */ + public void applyXpGain(float xp) { + if (!EventUtils.handlePartyXpGainEvent(this, xp)) { + return; + } + + if (getXp() < getXpToLevel()) { + return; + } + + int levelsGained = 0; + float xpRemoved = 0; + + while (getXp() >= getXpToLevel()) { + if (hasReachedLevelCap()) { + setXp(0); + return; + } + + xpRemoved += levelUp(); + levelsGained++; + } + + if (!EventUtils.handlePartyLevelChangeEvent(this, levelsGained, xpRemoved)) { + return; + } + + if (!Config.getInstance().getPartyInformAllMembers()) { + Player leader = mcMMO.p.getServer().getPlayer(this.leader.getUniqueId()); + + if (leader != null) { + leader.sendMessage(LocaleLoader.getString("Party.LevelUp", levelsGained, getLevel())); + + if (Config.getInstance().getLevelUpSoundsEnabled()) { + SoundManager.sendSound(leader, leader.getLocation(), SoundType.LEVEL_UP); + } + } + return; + } + + mcMMO.getPartyManager().informPartyMembersLevelUp(this, levelsGained, getLevel()); + } + + public boolean hasReachedLevelCap() { + return Config.getInstance().getPartyLevelCap() < getLevel() + 1; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public float getXp() { + return xp; + } + + public void setXp(float xp) { + this.xp = xp; + } + + public void addXp(float xp) { + setXp(getXp() + xp); + } + + protected float levelUp() { + float xpRemoved = getXpToLevel(); + + setLevel(getLevel() + 1); + setXp(getXp() - xpRemoved); + + return xpRemoved; + } + + public int getXpToLevel() { + FormulaType formulaType = ExperienceConfig.getInstance().getFormulaType(); + return (mcMMO.getFormulaManager().getXPtoNextLevel(level, formulaType)) * (getPartyMembers().size() + Config.getInstance().getPartyXpCurveMultiplier()); + } + + public String getXpToLevelPercentage() { + DecimalFormat percent = new DecimalFormat("##0.00%"); + return percent.format(this.getXp() / getXpToLevel()); + } +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyInvite.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyInvite.java new file mode 100644 index 000000000..d58beb927 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyInvite.java @@ -0,0 +1,51 @@ +package com.gmail.nossr50.datatypes.party; + +import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.UUID; + +public class PartyInvite { + + private final String partyName; + private Party invitingParty; + private final UUID inviterUUID; + private final UUID targetUUID; + + public PartyInvite(@NotNull String partyName, @NotNull Party invitingParty, @NotNull UUID inviterUUID, @NotNull UUID targetUUID) { + this.partyName = partyName; + this.invitingParty = invitingParty; + this.inviterUUID = inviterUUID; + this.targetUUID = targetUUID; + } + + /** + * The name of the Party who made this invite + * @return + */ + public String getPartyName() { + return partyName; + } + + /** + * The UUID of the player who created this invite + * @return + */ + public @NotNull UUID getInviterUUID() { + return inviterUUID; + } + + /** + * The target of this party invite + * @return the target player for this invite + */ + public @NotNull UUID getTargetPlayer() { + return targetUUID; + } + + public @Nullable OfflinePlayer getTargetOfflinePlayer() { + return Bukkit.getOfflinePlayer(targetUUID); + } +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyInviteManager.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyInviteManager.java new file mode 100644 index 000000000..cbd03f4ba --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyInviteManager.java @@ -0,0 +1,4 @@ +package com.gmail.nossr50.datatypes.party; + +public class PartyInviteManager { +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyItemShareManager.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyItemShareManager.java new file mode 100644 index 000000000..334279396 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyItemShareManager.java @@ -0,0 +1,85 @@ +package com.gmail.nossr50.datatypes.party; + +import java.util.ArrayList; +import java.util.List; + +public class PartyItemShareManager { + + private ShareMode itemShareMode = ShareMode.NONE; + + private boolean shareLootDrops = true; + private boolean shareMiningDrops = true; + private boolean shareHerbalismDrops = true; + private boolean shareWoodcuttingDrops = true; + private boolean shareMiscDrops = true; + + public void setItemShareMode(ShareMode itemShareMode) { + this.itemShareMode = itemShareMode; + } + + public ShareMode getItemShareMode() { + return itemShareMode; + } + + public boolean sharingDrops(ItemShareType shareType) { + switch (shareType) { + case HERBALISM: + return shareHerbalismDrops; + + case LOOT: + return shareLootDrops; + + case MINING: + return shareMiningDrops; + + case MISC: + return shareMiscDrops; + + case WOODCUTTING: + return shareWoodcuttingDrops; + + default: + return false; + } + } + + public void setSharingDrops(ItemShareType shareType, boolean enabled) { + switch (shareType) { + case HERBALISM: + shareHerbalismDrops = enabled; + break; + + case LOOT: + shareLootDrops = enabled; + break; + + case MINING: + shareMiningDrops = enabled; + break; + + case MISC: + shareMiscDrops = enabled; + break; + + case WOODCUTTING: + shareWoodcuttingDrops = enabled; + break; + + default: + } + } + + public List getItemShareCategories() { + List shareCategories = new ArrayList<>(); + + for (ItemShareType shareType : ItemShareType.values()) { + if (sharingDrops(shareType)) { + shareCategories.add(shareType.getLocaleString()); + } + } + + return shareCategories; + } + + +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyLeader.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyLeader.java deleted file mode 100644 index 4317b83df..000000000 --- a/src/main/java/com/gmail/nossr50/datatypes/party/PartyLeader.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.gmail.nossr50.datatypes.party; - -import java.util.UUID; - -public class PartyLeader { - private final UUID uuid; - private final String playerName; - - public PartyLeader(UUID uuid, String playerName) { - this.uuid = uuid; - this.playerName = playerName; - } - - public UUID getUniqueId() { - return uuid; - } - - public String getPlayerName() { - return playerName; - } -} diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyMember.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyMember.java new file mode 100644 index 000000000..6db58ab49 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyMember.java @@ -0,0 +1,59 @@ +package com.gmail.nossr50.datatypes.party; + +import org.bukkit.OfflinePlayer; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.UUID; + +public class PartyMember { + private final OfflinePlayer offlinePlayer; + private PartyMemberRank partyMemberRank; + private final PartyTeleportRecord partyTeleportRecord; + + private int itemShareModifier; + + public PartyMember(OfflinePlayer offlinePlayer, PartyMemberRank partyMemberRank) { + this.offlinePlayer = offlinePlayer; + this.partyMemberRank = partyMemberRank; + this.partyTeleportRecord = new PartyTeleportRecord(); + } + + public OfflinePlayer getOfflinePlayer() { + return offlinePlayer; + } + + public PartyMemberRank getPartyMemberRank() { + return partyMemberRank; + } + + public void setPartyMemberRank(PartyMemberRank partyMemberRank) { + this.partyMemberRank = partyMemberRank; + } + + public @NotNull UUID getUniqueId() { + return offlinePlayer.getUniqueId(); + } + + @Nullable + public String getName() { + return offlinePlayer.getName(); + } + + public int getItemShareModifier() { + if (itemShareModifier < 10) { + setItemShareModifier(10); + } + + return itemShareModifier; + } + + public void setItemShareModifier(int modifier) { + itemShareModifier = Math.max(10, modifier); + } + + public PartyTeleportRecord getPartyTeleportRecord() { + return partyTeleportRecord; + } + +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberManager.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberManager.java new file mode 100644 index 000000000..ace917b3b --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberManager.java @@ -0,0 +1,71 @@ +package com.gmail.nossr50.datatypes.party; + +import org.bukkit.OfflinePlayer; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; + +import java.util.Collection; +import java.util.HashSet; +import java.util.Map; + +public class PartyMemberManager { + private final @NotNull Map partyMembers; + private @NotNull PartyMember partyLeaderRef; + private final @NotNull HashSet partyOfficers; + + public PartyMemberManager(@NotNull HashSet partyMembers) { + this.partyMembers = partyMembers; + } + + public PartyMemberManager(@NotNull Player partyLeader) { + addPartyMember(partyLeader, PartyMemberRank.LEADER); + } + + public @NotNull Collection getPartyMembers() { + return partyMembers.values(); + } + + private void registerSpecialPartyMembers() { + clearOfficers(); + + for(PartyMember partyMember : partyMembers) { + switch (partyMember.getPartyMemberRank()) { + + case MEMBER: + break; + case OFFICER: + partyOfficers.add(partyMember); + break; + case LEADER: + partyLeaderRef = partyMember; + break; + } + } + } + + private void clearOfficers() { + partyOfficers.clear(); + } + + public void addPartyMember(OfflinePlayer player, PartyMemberRank partyMemberRank) { + //TODO: Prevent adding multiple leaders + //TODO: Call event + partyMembers.add(new PartyMember(player, partyMemberRank)); + } + + public HashSet getVisibleMembers(Player player) + { + HashSet visibleMembers = new HashSet<>(); + + for(PartyMember partyMember : partyMembers) + { + if(partyMember.getOfflinePlayer().getPlayer() == null) + continue; + + if(player.canSee(partyMember.getOfflinePlayer().getPlayer())) + visibleMembers.add(partyMember); + } + + return visibleMembers; + } +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberRank.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberRank.java new file mode 100644 index 000000000..eb09f36e0 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberRank.java @@ -0,0 +1,7 @@ +package com.gmail.nossr50.datatypes.party; + +public enum PartyMemberRank { + MEMBER, + OFFICER, + LEADER; +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/subskills/acrobatics/Roll.java b/src/main/java/com/gmail/nossr50/datatypes/skills/subskills/acrobatics/Roll.java index 9c233ae5e..aeb3797ca 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/subskills/acrobatics/Roll.java +++ b/src/main/java/com/gmail/nossr50/datatypes/skills/subskills/acrobatics/Roll.java @@ -13,7 +13,6 @@ import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.ItemUtils; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.random.RandomChanceSkill; import com.gmail.nossr50.util.random.RandomChanceUtil; import com.gmail.nossr50.util.skills.PerksUtils; @@ -66,9 +65,9 @@ public class Roll extends AcrobaticsSubSkill { return false; if (entityDamageEvent.getCause() == EntityDamageEvent.DamageCause.FALL) {//Grab the player - McMMOPlayer mcMMOPlayer = EventUtils.getMcMMOPlayer(entityDamageEvent.getEntity()); + McMMOPlayer mmoPlayer = EventUtils.getMcMMOPlayer(entityDamageEvent.getEntity()); - if (mcMMOPlayer == null) + if (mmoPlayer == null) return false; /* @@ -76,7 +75,7 @@ public class Roll extends AcrobaticsSubSkill { */ Player player = (Player) ((EntityDamageEvent) event).getEntity(); if (canRoll(player)) { - entityDamageEvent.setDamage(rollCheck(player, mcMMOPlayer, entityDamageEvent.getDamage())); + entityDamageEvent.setDamage(rollCheck(player, mmoPlayer, entityDamageEvent.getDamage())); if (entityDamageEvent.getFinalDamage() == 0) { entityDamageEvent.setCancelled(true); @@ -120,7 +119,7 @@ public class Roll extends AcrobaticsSubSkill { String rollChance, rollChanceLucky, gracefulRollChance, gracefulRollChanceLucky; /* Values related to the player */ - PlayerProfile playerProfile = UserManager.getPlayer(player).getProfile(); + PlayerProfile playerProfile = mcMMO.getUserManager().getPlayer(player); float skillValue = playerProfile.getSkillLevel(getPrimarySkill()); boolean isLucky = Permissions.lucky(player, getPrimarySkill()); @@ -187,12 +186,12 @@ public class Roll extends AcrobaticsSubSkill { * @param damage The amount of damage initially dealt by the event * @return the modified event damage if the ability was successful, the original event damage otherwise */ - private double rollCheck(Player player, McMMOPlayer mcMMOPlayer, double damage) { + private double rollCheck(Player player, McMMOPlayer mmoPlayer, double damage) { - int skillLevel = mcMMOPlayer.getSkillLevel(getPrimarySkill()); + int skillLevel = mmoPlayer.getSkillLevel(getPrimarySkill()); if (player.isSneaking()) { - return gracefulRollCheck(player, mcMMOPlayer, damage, skillLevel); + return gracefulRollCheck(player, mmoPlayer, damage, skillLevel); } double modifiedDamage = calculateModifiedRollDamage(damage, AdvancedConfig.getInstance().getRollDamageThreshold()); @@ -203,18 +202,18 @@ public class Roll extends AcrobaticsSubSkill { SoundManager.sendCategorizedSound(player, player.getLocation(), SoundType.ROLL_ACTIVATED, SoundCategory.PLAYERS); //player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Text")); - //if (!SkillUtils.cooldownExpired((long) mcMMOPlayer.getTeleportATS(), Config.getInstance().getXPAfterTeleportCooldown())) { - if(!isExploiting(player) && mcMMOPlayer.getAcrobaticsManager().canGainRollXP()) - SkillUtils.applyXpGain(mcMMOPlayer, getPrimarySkill(), calculateRollXP(player, damage, true), XPGainReason.PVE); + //if (!SkillUtils.cooldownExpired((long) mmoPlayer.getTeleportATS(), Config.getInstance().getXPAfterTeleportCooldown())) { + if(!isExploiting(player) && mmoPlayer.getAcrobaticsManager().canGainRollXP()) + SkillUtils.applyXpGain(mmoPlayer, getPrimarySkill(), calculateRollXP(player, damage, true), XPGainReason.PVE); //} addFallLocation(player); return modifiedDamage; } else if (!isFatal(player, damage)) { - //if (!SkillUtils.cooldownExpired((long) mcMMOPlayer.getTeleportATS(), Config.getInstance().getXPAfterTeleportCooldown())) { - if(!isExploiting(player) && mcMMOPlayer.getAcrobaticsManager().canGainRollXP()) - SkillUtils.applyXpGain(mcMMOPlayer, getPrimarySkill(), calculateRollXP(player, damage, false), XPGainReason.PVE); + //if (!SkillUtils.cooldownExpired((long) mmoPlayer.getTeleportATS(), Config.getInstance().getXPAfterTeleportCooldown())) { + if(!isExploiting(player) && mmoPlayer.getAcrobaticsManager().canGainRollXP()) + SkillUtils.applyXpGain(mmoPlayer, getPrimarySkill(), calculateRollXP(player, damage, false), XPGainReason.PVE); //} } @@ -222,8 +221,8 @@ public class Roll extends AcrobaticsSubSkill { return damage; } - private int getActivationChance(McMMOPlayer mcMMOPlayer) { - return PerksUtils.handleLuckyPerks(mcMMOPlayer.getPlayer(), getPrimarySkill()); + private int getActivationChance(McMMOPlayer mmoPlayer) { + return PerksUtils.handleLuckyPerks(mmoPlayer.getPlayer(), getPrimarySkill()); } /** @@ -232,7 +231,7 @@ public class Roll extends AcrobaticsSubSkill { * @param damage The amount of damage initially dealt by the event * @return the modified event damage if the ability was successful, the original event damage otherwise */ - private double gracefulRollCheck(Player player, McMMOPlayer mcMMOPlayer, double damage, int skillLevel) { + private double gracefulRollCheck(Player player, McMMOPlayer mmoPlayer, double damage, int skillLevel) { double modifiedDamage = calculateModifiedRollDamage(damage, AdvancedConfig.getInstance().getRollDamageThreshold() * 2); RandomChanceSkill rcs = new RandomChanceSkill(player, subSkillType); @@ -243,15 +242,15 @@ public class Roll extends AcrobaticsSubSkill { { NotificationManager.sendPlayerInformation(player, NotificationType.SUBSKILL_MESSAGE, "Acrobatics.Ability.Proc"); SoundManager.sendCategorizedSound(player, player.getLocation(), SoundType.ROLL_ACTIVATED, SoundCategory.PLAYERS,0.5F); - if(!isExploiting(player) && mcMMOPlayer.getAcrobaticsManager().canGainRollXP()) - SkillUtils.applyXpGain(mcMMOPlayer, getPrimarySkill(), calculateRollXP(player, damage, true), XPGainReason.PVE); + if(!isExploiting(player) && mmoPlayer.getAcrobaticsManager().canGainRollXP()) + SkillUtils.applyXpGain(mmoPlayer, getPrimarySkill(), calculateRollXP(player, damage, true), XPGainReason.PVE); addFallLocation(player); return modifiedDamage; } else if (!isFatal(player, damage)) { - if(!isExploiting(player) && mcMMOPlayer.getAcrobaticsManager().canGainRollXP()) - SkillUtils.applyXpGain(mcMMOPlayer, getPrimarySkill(), calculateRollXP(player, damage, false), XPGainReason.PVE); + if(!isExploiting(player) && mmoPlayer.getAcrobaticsManager().canGainRollXP()) + SkillUtils.applyXpGain(mmoPlayer, getPrimarySkill(), calculateRollXP(player, damage, false), XPGainReason.PVE); addFallLocation(player); } @@ -270,19 +269,19 @@ public class Roll extends AcrobaticsSubSkill { return false; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); if (ItemUtils.hasItemInEitherHand(player, Material.ENDER_PEARL) || player.isInsideVehicle()) { - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage("Acrobatics XP Prevented: Ender Pearl or Inside Vehicle"); + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage("Acrobatics XP Prevented: Ender Pearl or Inside Vehicle"); } return true; } - if(UserManager.getPlayer(player).getAcrobaticsManager().hasFallenInLocationBefore(getBlockLocation(player))) + if(mcMMO.getUserManager().getPlayer(player).getAcrobaticsManager().hasFallenInLocationBefore(getBlockLocation(player))) { - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage("Acrobatics XP Prevented: Fallen in location before"); + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage("Acrobatics XP Prevented: Fallen in location before"); } return true; @@ -421,7 +420,7 @@ public class Roll extends AcrobaticsSubSkill { public void addFallLocation(Player player) { - UserManager.getPlayer(player).getAcrobaticsManager().addLocationToFallMap(getBlockLocation(player)); + mcMMO.getUserManager().getPlayer(player).getAcrobaticsManager().addLocationToFallMap(getBlockLocation(player)); } public Location getBlockLocation(Player player) diff --git a/src/main/java/com/gmail/nossr50/datatypes/validation/NonNullRule.java b/src/main/java/com/gmail/nossr50/datatypes/validation/NonNullRule.java new file mode 100644 index 000000000..5495763b8 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/validation/NonNullRule.java @@ -0,0 +1,9 @@ +package com.gmail.nossr50.datatypes.validation; + +public class NonNullRule extends Rule { + @Override + public void applyRule(T object) throws Exception { + if(object == null) + throw new NullPointerException(); + } +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/validation/PositiveIntegerRule.java b/src/main/java/com/gmail/nossr50/datatypes/validation/PositiveIntegerRule.java new file mode 100644 index 000000000..c4348943c --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/validation/PositiveIntegerRule.java @@ -0,0 +1,11 @@ +package com.gmail.nossr50.datatypes.validation; + +import com.gmail.nossr50.api.exceptions.UnexpectedValueException; + +public class PositiveIntegerRule extends Rule { + @Override + public void applyRule(T number) throws Exception { + if(number.intValue() < 0) + throw new UnexpectedValueException(); + } +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/validation/Rule.java b/src/main/java/com/gmail/nossr50/datatypes/validation/Rule.java new file mode 100644 index 000000000..d2bb396f9 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/validation/Rule.java @@ -0,0 +1,5 @@ +package com.gmail.nossr50.datatypes.validation; + +public abstract class Rule { + public abstract void applyRule(T object) throws Exception; +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/validation/Validates.java b/src/main/java/com/gmail/nossr50/datatypes/validation/Validates.java new file mode 100644 index 000000000..d72e6325a --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/validation/Validates.java @@ -0,0 +1,12 @@ +package com.gmail.nossr50.datatypes.validation; + +public interface Validates { + /** + * Perform a validation check on this object + * Returns the value if validation passes + * @return the object + * @throws Exception if the object fails validation + * @param object + */ + T validate(T object) throws Exception; +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/validation/Validator.java b/src/main/java/com/gmail/nossr50/datatypes/validation/Validator.java new file mode 100644 index 000000000..c05ae1987 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/datatypes/validation/Validator.java @@ -0,0 +1,25 @@ +package com.gmail.nossr50.datatypes.validation; + +import java.util.ArrayList; +import java.util.List; + +public class Validator implements Validates { + private List> rulesList; + + public Validator() { + this.rulesList = new ArrayList<>(); + } + + @Override + public T validate(T object) throws Exception { + for(Rule rule : rulesList) { + rule.applyRule(object); + } + + return object; + } + + public void addRule(Rule newRule) { + rulesList.add(newRule); + } +} diff --git a/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerExperienceEvent.java b/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerExperienceEvent.java index 73829b7a0..10114ebdd 100644 --- a/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerExperienceEvent.java +++ b/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerExperienceEvent.java @@ -2,7 +2,6 @@ package com.gmail.nossr50.events.experience; import com.gmail.nossr50.datatypes.experience.XPGainReason; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; @@ -22,14 +21,14 @@ public abstract class McMMOPlayerExperienceEvent extends PlayerEvent implements protected McMMOPlayerExperienceEvent(Player player, PrimarySkillType skill) { super(player); this.skill = skill; - this.skillLevel = UserManager.getPlayer(player).getSkillLevel(skill); + this.skillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(skill); this.xpGainReason = XPGainReason.UNKNOWN; } protected McMMOPlayerExperienceEvent(Player player, PrimarySkillType skill, XPGainReason xpGainReason) { super(player); this.skill = skill; - this.skillLevel = UserManager.getPlayer(player).getSkillLevel(skill); + this.skillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(skill); this.xpGainReason = xpGainReason; } diff --git a/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerSkillEvent.java b/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerSkillEvent.java index e899ea528..31fa75d47 100644 --- a/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerSkillEvent.java +++ b/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerSkillEvent.java @@ -1,7 +1,6 @@ package com.gmail.nossr50.events.skills; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import org.bukkit.event.player.PlayerEvent; @@ -17,7 +16,7 @@ public abstract class McMMOPlayerSkillEvent extends PlayerEvent { protected McMMOPlayerSkillEvent(Player player, PrimarySkillType skill) { super(player); this.skill = skill; - this.skillLevel = UserManager.getPlayer(player).getSkillLevel(skill); + this.skillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(skill); } /** diff --git a/src/main/java/com/gmail/nossr50/listeners/BlockListener.java b/src/main/java/com/gmail/nossr50/listeners/BlockListener.java index ec90a7321..1b7add501 100644 --- a/src/main/java/com/gmail/nossr50/listeners/BlockListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/BlockListener.java @@ -23,7 +23,6 @@ import com.gmail.nossr50.util.BlockUtils; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.ItemUtils; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.SkillUtils; import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.util.sounds.SoundType; @@ -211,7 +210,7 @@ public class BlockListener implements Listener { Player player = event.getPlayer(); - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } @@ -224,16 +223,16 @@ public class BlockListener implements Listener { mcMMO.getPlaceStore().setTrue(blockState); } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - if(mcMMOPlayer == null) + if(mmoPlayer == null) return; if (blockState.getType() == Repair.anvilMaterial && PrimarySkillType.REPAIR.getPermissions(player)) { - mcMMOPlayer.getRepairManager().placedAnvilCheck(); + mmoPlayer.getRepairManager().placedAnvilCheck(); } else if (blockState.getType() == Salvage.anvilMaterial && PrimarySkillType.SALVAGE.getPermissions(player)) { - mcMMOPlayer.getSalvageManager().placedAnvilCheck(); + mmoPlayer.getSalvageManager().placedAnvilCheck(); } } @@ -250,7 +249,7 @@ public class BlockListener implements Listener { Player player = event.getPlayer(); - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } @@ -317,25 +316,25 @@ public class BlockListener implements Listener { Player player = event.getPlayer(); - if (!UserManager.hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Check if profile is loaded - if(mcMMOPlayer == null) + if(mmoPlayer == null) return; ItemStack heldItem = player.getInventory().getItemInMainHand(); /* HERBALISM */ if (BlockUtils.affectedByGreenTerra(blockState)) { - HerbalismManager herbalismManager = mcMMOPlayer.getHerbalismManager(); + HerbalismManager herbalismManager = mmoPlayer.getHerbalismManager(); /* Green Terra */ if (herbalismManager.canActivateAbility()) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.HERBALISM); + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.HERBALISM); } /* @@ -354,13 +353,13 @@ public class BlockListener implements Listener { /* MINING */ else if (BlockUtils.affectedBySuperBreaker(blockState) && ItemUtils.isPickaxe(heldItem) && PrimarySkillType.MINING.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) { - MiningManager miningManager = mcMMOPlayer.getMiningManager(); + MiningManager miningManager = mmoPlayer.getMiningManager(); miningManager.miningBlockCheck(blockState); } /* WOOD CUTTING */ else if (BlockUtils.isLog(blockState) && ItemUtils.isAxe(heldItem) && PrimarySkillType.WOODCUTTING.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) { - WoodcuttingManager woodcuttingManager = mcMMOPlayer.getWoodcuttingManager(); + WoodcuttingManager woodcuttingManager = mmoPlayer.getWoodcuttingManager(); if (woodcuttingManager.canUseTreeFeller(heldItem)) { woodcuttingManager.processTreeFeller(blockState); } @@ -371,10 +370,10 @@ public class BlockListener implements Listener { /* EXCAVATION */ else if (BlockUtils.affectedByGigaDrillBreaker(blockState) && ItemUtils.isShovel(heldItem) && PrimarySkillType.EXCAVATION.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) { - ExcavationManager excavationManager = mcMMOPlayer.getExcavationManager(); + ExcavationManager excavationManager = mmoPlayer.getExcavationManager(); excavationManager.excavationBlockCheck(blockState); - if (mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER)) { + if (mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER)) { excavationManager.gigaDrillBreaker(blockState); } } @@ -407,12 +406,12 @@ public class BlockListener implements Listener { Player player = event.getPlayer(); - if (!UserManager.hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } @@ -421,7 +420,7 @@ public class BlockListener implements Listener { ItemStack heldItem = player.getInventory().getItemInMainHand(); if (ItemUtils.isSword(heldItem)) { - HerbalismManager herbalismManager = UserManager.getPlayer(player).getHerbalismManager(); + HerbalismManager herbalismManager = mcMMO.getUserManager().getPlayer(player).getHerbalismManager(); if (herbalismManager.canUseHylianLuck()) { if (herbalismManager.processHylianLuck(blockState)) { @@ -436,7 +435,7 @@ public class BlockListener implements Listener { } } /*else if (!heldItem.containsEnchantment(Enchantment.SILK_TOUCH)) { - SmeltingManager smeltingManager = UserManager.getPlayer(player).getSmeltingManager(); + SmeltingManager smeltingManager = mcMMO.getUserManager().getPlayer(player).getSmeltingManager(); if (smeltingManager.canUseFluxMining(blockState)) { if (smeltingManager.processFluxMining(blockState)) { @@ -471,14 +470,14 @@ public class BlockListener implements Listener { if (event instanceof FakeBlockDamageEvent) { return; } - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Profile not loaded - if(mcMMOPlayer == null) + if(mmoPlayer == null) { return; } @@ -491,25 +490,25 @@ public class BlockListener implements Listener { if (BlockUtils.canActivateAbilities(blockState)) { ItemStack heldItem = player.getInventory().getItemInMainHand(); - if (mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.GREEN_TERRA_TOOL) && ItemUtils.isHoe(heldItem) && (BlockUtils.affectedByGreenTerra(blockState) || BlockUtils.canMakeMossy(blockState)) && Permissions.greenTerra(player)) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.HERBALISM); + if (mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.GREEN_TERRA_TOOL) && ItemUtils.isHoe(heldItem) && (BlockUtils.affectedByGreenTerra(blockState) || BlockUtils.canMakeMossy(blockState)) && Permissions.greenTerra(player)) { + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.HERBALISM); } - else if (mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.SKULL_SPLITTER_TOOL) && ItemUtils.isAxe(heldItem) && BlockUtils.isLog(blockState) && Permissions.treeFeller(player)) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.WOODCUTTING); + else if (mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.SKULL_SPLITTER_TOOL) && ItemUtils.isAxe(heldItem) && BlockUtils.isLog(blockState) && Permissions.treeFeller(player)) { + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.WOODCUTTING); } - else if (mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.SUPER_BREAKER_TOOL) && ItemUtils.isPickaxe(heldItem) && BlockUtils.affectedBySuperBreaker(blockState) && Permissions.superBreaker(player)) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.MINING); + else if (mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.SUPER_BREAKER_TOOL) && ItemUtils.isPickaxe(heldItem) && BlockUtils.affectedBySuperBreaker(blockState) && Permissions.superBreaker(player)) { + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.MINING); } - else if (mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.GIGA_DRILL_BREAKER_TOOL) && ItemUtils.isShovel(heldItem) && BlockUtils.affectedByGigaDrillBreaker(blockState) && Permissions.gigaDrillBreaker(player)) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.EXCAVATION); + else if (mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.GIGA_DRILL_BREAKER_TOOL) && ItemUtils.isShovel(heldItem) && BlockUtils.affectedByGigaDrillBreaker(blockState) && Permissions.gigaDrillBreaker(player)) { + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.EXCAVATION); } - else if (mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.BERSERK_TOOL) && heldItem.getType() == Material.AIR && (BlockUtils.affectedByGigaDrillBreaker(blockState) + else if (mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.BERSERK_TOOL) && heldItem.getType() == Material.AIR && (BlockUtils.affectedByGigaDrillBreaker(blockState) || mcMMO.getMaterialMapStore().isGlass(blockState.getType()) || blockState.getType() == Material.SNOW || BlockUtils.affectedByBlockCracker(blockState) && Permissions.berserk(player))) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.UNARMED); + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.UNARMED); - if(mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK)) { + if(mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK)) { if (SuperAbilityType.BERSERK.blockCheck(blockState) && EventUtils.simulateBlockBreak(blockState.getBlock(), player, true)) { event.setInstaBreak(true); @@ -528,7 +527,7 @@ public class BlockListener implements Listener { * * We don't need to check permissions here because they've already been checked for the ability to even activate. */ - if (mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.TREE_FELLER) && BlockUtils.isLog(blockState) && Config.getInstance().getTreeFellerSoundsEnabled()) { + if (mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.TREE_FELLER) && BlockUtils.isLog(blockState) && Config.getInstance().getTreeFellerSoundsEnabled()) { SoundManager.sendSound(player, blockState.getLocation(), SoundType.FIZZ); } } @@ -557,14 +556,14 @@ public class BlockListener implements Listener { Player player = event.getPlayer(); - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } @@ -578,14 +577,14 @@ public class BlockListener implements Listener { * * We don't need to check permissions here because they've already been checked for the ability to even activate. */ - if (mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA) && BlockUtils.canMakeMossy(blockState)) { - if (mcMMOPlayer.getHerbalismManager().processGreenTerraBlockConversion(blockState)) { + if (mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA) && BlockUtils.canMakeMossy(blockState)) { + if (mmoPlayer.getHerbalismManager().processGreenTerraBlockConversion(blockState)) { blockState.update(true); } } - else if (mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK) && (heldItem.getType() == Material.AIR || Config.getInstance().getUnarmedItemsAsUnarmed())) { - if (mcMMOPlayer.getUnarmedManager().canUseBlockCracker() && BlockUtils.affectedByBlockCracker(blockState)) { - if (EventUtils.simulateBlockBreak(block, player, true) && mcMMOPlayer.getUnarmedManager().blockCrackerCheck(blockState)) { + else if (mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK) && (heldItem.getType() == Material.AIR || Config.getInstance().getUnarmedItemsAsUnarmed())) { + if (mmoPlayer.getUnarmedManager().canUseBlockCracker() && BlockUtils.affectedByBlockCracker(blockState)) { + if (EventUtils.simulateBlockBreak(block, player, true) && mmoPlayer.getUnarmedManager().blockCrackerCheck(blockState)) { blockState.update(); } } @@ -599,7 +598,7 @@ public class BlockListener implements Listener { } } } - else if (mcMMOPlayer.getWoodcuttingManager().canUseLeafBlower(heldItem) && BlockUtils.isLeaves(blockState) && EventUtils.simulateBlockBreak(block, player, true)) { + else if (mmoPlayer.getWoodcuttingManager().canUseLeafBlower(heldItem) && BlockUtils.isLeaves(blockState) && EventUtils.simulateBlockBreak(block, player, true)) { event.setInstaBreak(true); SoundManager.sendSound(player, block.getLocation(), SoundType.POP); } @@ -608,10 +607,10 @@ public class BlockListener implements Listener { @EventHandler(priority = EventPriority.MONITOR) public void onBlockDamageCleanup(BlockDamageEvent event) { Player player = event.getPlayer(); - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } @@ -620,7 +619,7 @@ public class BlockListener implements Listener { ItemStack heldItem = player.getInventory().getItemInMainHand(); - cleanupAbilityTools(player, mcMMOPlayer, blockState, heldItem); + cleanupAbilityTools(player, mmoPlayer, blockState, heldItem); debugStickDump(player, blockState); } @@ -629,19 +628,19 @@ public class BlockListener implements Listener { //TODO: Convert into locale strings private void debugStickDump(Player player, BlockState blockState) { //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - if(UserManager.getPlayer(player).isDebugMode()) + if(mcMMO.getUserManager().getPlayer(player).isDebugMode()) { if(mcMMO.getPlaceStore().isTrue(blockState)) player.sendMessage("[mcMMO DEBUG] This block is not natural and does not reward treasures/XP"); else { player.sendMessage("[mcMMO DEBUG] This block is considered natural by mcMMO"); - UserManager.getPlayer(player).getExcavationManager().printExcavationDebug(player, blockState); + mcMMO.getUserManager().getPlayer(player).getExcavationManager().printExcavationDebug(player, blockState); } if(WorldGuardUtils.isWorldGuardLoaded()) @@ -680,13 +679,13 @@ public class BlockListener implements Listener { } } - private void cleanupAbilityTools(Player player, McMMOPlayer mcMMOPlayer, BlockState blockState, ItemStack heldItem) { + private void cleanupAbilityTools(Player player, McMMOPlayer mmoPlayer, BlockState blockState, ItemStack heldItem) { if (HiddenConfig.getInstance().useEnchantmentBuffs()) { - if ((ItemUtils.isPickaxe(heldItem) && !mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER)) || (ItemUtils.isShovel(heldItem) && !mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER))) { + if ((ItemUtils.isPickaxe(heldItem) && !mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER)) || (ItemUtils.isShovel(heldItem) && !mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER))) { SkillUtils.removeAbilityBuff(heldItem); } } else { - if ((mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER) && !BlockUtils.affectedBySuperBreaker(blockState)) || (mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER) && !BlockUtils.affectedByGigaDrillBreaker(blockState))) { + if ((mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER) && !BlockUtils.affectedBySuperBreaker(blockState)) || (mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GIGA_DRILL_BREAKER) && !BlockUtils.affectedByGigaDrillBreaker(blockState))) { SkillUtils.handleAbilitySpeedDecrease(player); } } diff --git a/src/main/java/com/gmail/nossr50/listeners/EntityListener.java b/src/main/java/com/gmail/nossr50/listeners/EntityListener.java index 68b9cadca..2ee1b3b95 100644 --- a/src/main/java/com/gmail/nossr50/listeners/EntityListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/EntityListener.java @@ -13,7 +13,6 @@ import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent; import com.gmail.nossr50.events.fake.FakeEntityDamageEvent; import com.gmail.nossr50.events.fake.FakeEntityTameEvent; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.skills.archery.Archery; import com.gmail.nossr50.skills.mining.BlastMining; import com.gmail.nossr50.skills.mining.MiningManager; @@ -25,7 +24,6 @@ import com.gmail.nossr50.util.ItemUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.random.RandomChanceUtil; import com.gmail.nossr50.util.skills.CombatUtils; import com.gmail.nossr50.util.skills.SkillActivationType; @@ -172,12 +170,12 @@ public class EntityListener implements Listener { //Crossbow only if(isCrossbow) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Process launch event if(Permissions.skillEnabled(player, PrimarySkillType.CROSSBOWS)) { - if(mcMMOPlayer != null) { - mcMMOPlayer.getCrossbowManager().processProjectileLaunchEvent(event); + if(mmoPlayer != null) { + mmoPlayer.getCrossbowManager().processProjectileLaunchEvent(event); } } @@ -430,9 +428,9 @@ public class EntityListener implements Listener { } //Deflect checks - final McMMOPlayer mcMMOPlayer = UserManager.getPlayer(defendingPlayer); - if (mcMMOPlayer != null) { - UnarmedManager unarmedManager = mcMMOPlayer.getUnarmedManager(); + final McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(defendingPlayer); + if (mmoPlayer != null) { + UnarmedManager unarmedManager = mmoPlayer.getUnarmedManager(); if (unarmedManager.canDeflect()) { if (unarmedManager.deflectCheck()) { @@ -492,7 +490,7 @@ public class EntityListener implements Listener { } public boolean checkParties(Cancellable event, Player defendingPlayer, Player attackingPlayer) { - if (!UserManager.hasPlayerDataKey(defendingPlayer) || !UserManager.hasPlayerDataKey(attackingPlayer)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(defendingPlayer) || !mcMMO.getUserManager().hasPlayerDataKey(attackingPlayer)) { return true; } @@ -504,8 +502,8 @@ public class EntityListener implements Listener { //Party Friendly Fire if(!Config.getInstance().getPartyFriendlyFire()) - if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) - || PartyManager.areAllies(defendingPlayer, attackingPlayer)) + if ((mcMMO.getPartyManager().inSameParty(defendingPlayer, attackingPlayer) + || mcMMO.getPartyManager().areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) { event.setCancelled(true); @@ -582,24 +580,24 @@ public class EntityListener implements Listener { if (livingEntity instanceof Player) { Player player = (Player) entity; - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Profile not loaded - if(mcMMOPlayer == null) + if(mmoPlayer == null) return; /* Check for invincibility */ - if (mcMMOPlayer.getGodMode()) { + if (mmoPlayer.getGodMode()) { event.setCancelled(true); return; } if (event.getFinalDamage() >= 1) { - mcMMOPlayer.actualizeRecentlyHurt(); + mmoPlayer.actualizeRecentlyHurtTimestamp(); } } @@ -624,12 +622,12 @@ public class EntityListener implements Listener { Wolf wolf = (Wolf) pet; //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - TamingManager tamingManager = UserManager.getPlayer(player).getTamingManager(); + TamingManager tamingManager = mcMMO.getUserManager().getPlayer(player).getTamingManager(); switch (cause) { case CONTACT: @@ -822,12 +820,12 @@ public class EntityListener implements Listener { // using this exact metadata Player player = plugin.getServer().getPlayerExact(entity.getMetadata(mcMMO.tntMetadataKey).get(0).asString()); - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } @@ -839,7 +837,7 @@ public class EntityListener implements Listener { return; } - MiningManager miningManager = UserManager.getPlayer(player).getMiningManager(); + MiningManager miningManager = mcMMO.getUserManager().getPlayer(player).getMiningManager(); if (miningManager.canUseBiggerBombs()) { event.setRadius(miningManager.biggerBombs(event.getRadius())); @@ -868,7 +866,7 @@ public class EntityListener implements Listener { // using this exact metadata Player player = plugin.getServer().getPlayerExact(entity.getMetadata(mcMMO.tntMetadataKey).get(0).asString()); - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } @@ -880,12 +878,12 @@ public class EntityListener implements Listener { } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - MiningManager miningManager = UserManager.getPlayer(player).getMiningManager(); + MiningManager miningManager = mcMMO.getUserManager().getPlayer(player).getMiningManager(); if (miningManager.canUseBlastMining()) { miningManager.blastMiningDropProcessing(event.getYield(), event); @@ -914,7 +912,7 @@ public class EntityListener implements Listener { Player player = (Player) entity; //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } @@ -926,7 +924,7 @@ public class EntityListener implements Listener { return; } - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } @@ -979,7 +977,7 @@ public class EntityListener implements Listener { * 1000 */ if (Permissions.isSubSkillEnabled(player, SubSkillType.HERBALISM_FARMERS_DIET)) { - event.setFoodLevel(UserManager.getPlayer(player).getHerbalismManager().farmersDiet(newFoodLevel)); + event.setFoodLevel(mcMMO.getUserManager().getPlayer(player).getHerbalismManager().farmersDiet(newFoodLevel)); } return; @@ -991,7 +989,7 @@ public class EntityListener implements Listener { */ case POTATO: /* RESTORES 1/2 HUNGER - RESTORES 2 HUNGER @ 1000 */ if (Permissions.isSubSkillEnabled(player, SubSkillType.HERBALISM_FARMERS_DIET)) { - event.setFoodLevel(UserManager.getPlayer(player).getHerbalismManager().farmersDiet(newFoodLevel)); + event.setFoodLevel(mcMMO.getUserManager().getPlayer(player).getHerbalismManager().farmersDiet(newFoodLevel)); } return; case COD: @@ -1001,7 +999,7 @@ public class EntityListener implements Listener { case COOKED_SALMON: if (Permissions.isSubSkillEnabled(player, SubSkillType.FISHING_FISHERMANS_DIET)) { - event.setFoodLevel(UserManager.getPlayer(player).getFishingManager().handleFishermanDiet(newFoodLevel)); + event.setFoodLevel(mcMMO.getUserManager().getPlayer(player).getFishingManager().handleFishermanDiet(newFoodLevel)); } return; @@ -1036,19 +1034,19 @@ public class EntityListener implements Listener { LivingEntity entity = event.getEntity(); - if (!UserManager.hasPlayerDataKey(player) || Misc.isNPCEntityExcludingVillagers(entity) || entity.hasMetadata(mcMMO.entityMetadataKey)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player) || Misc.isNPCEntityExcludingVillagers(entity) || entity.hasMetadata(mcMMO.entityMetadataKey)) { return; } entity.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue); //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - UserManager.getPlayer(player).getTamingManager().awardTamingXP(entity); + mcMMO.getUserManager().getPlayer(player).getTamingManager().awardTamingXP(entity); } /** @@ -1081,7 +1079,7 @@ public class EntityListener implements Listener { Tameable tameable = (Tameable) entity; - if (!UserManager.hasPlayerDataKey(player) || !CombatUtils.isFriendlyPet(player, tameable)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player) || !CombatUtils.isFriendlyPet(player, tameable)) { return; } diff --git a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java index 0052f1644..3f0877759 100644 --- a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java @@ -12,7 +12,6 @@ import com.gmail.nossr50.skills.alchemy.Alchemy; import com.gmail.nossr50.skills.alchemy.AlchemyPotionBrewer; import com.gmail.nossr50.util.ItemUtils; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.SkillUtils; import com.gmail.nossr50.worldguard.WorldGuardManager; import com.gmail.nossr50.worldguard.WorldGuardUtils; @@ -67,12 +66,12 @@ public class InventoryListener implements Listener { } //Profile doesn't exist - if(UserManager.getOfflinePlayer(offlinePlayer) == null) + if(mcMMO.getUserManager().getOfflinePlayer(offlinePlayer) == null) { return; } - event.setBurnTime(UserManager.getPlayer(player).getSmeltingManager().fuelEfficiency(event.getBurnTime())); + event.setBurnTime(mcMMO.getUserManager().getPlayer(player).getSmeltingManager().fuelEfficiency(event.getBurnTime())); } } @@ -97,7 +96,7 @@ public class InventoryListener implements Listener { if(offlinePlayer != null) { - McMMOPlayer offlineProfile = UserManager.getOfflinePlayer(offlinePlayer); + McMMOPlayer offlineProfile = mcMMO.getUserManager().getOfflinePlayer(offlinePlayer); //Profile doesn't exist if(offlineProfile != null) { @@ -129,18 +128,18 @@ public class InventoryListener implements Listener { return; } - if (!UserManager.hasPlayerDataKey(player) || !Permissions.vanillaXpBoost(player, PrimarySkillType.SMELTING)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player) || !Permissions.vanillaXpBoost(player, PrimarySkillType.SMELTING)) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } int xpToDrop = event.getExpToDrop(); - int exp = UserManager.getPlayer(player).getSmeltingManager().vanillaXPBoost(xpToDrop); + int exp = mcMMO.getUserManager().getPlayer(player).getSmeltingManager().vanillaXPBoost(xpToDrop); event.setExpToDrop(exp); } } @@ -182,7 +181,7 @@ public class InventoryListener implements Listener { HumanEntity whoClicked = event.getWhoClicked(); - if (!UserManager.hasPlayerDataKey(event.getWhoClicked()) || !Permissions.isSubSkillEnabled(whoClicked, SubSkillType.ALCHEMY_CONCOCTIONS)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(event.getWhoClicked()) || !Permissions.isSubSkillEnabled(whoClicked, SubSkillType.ALCHEMY_CONCOCTIONS)) { return; } @@ -295,7 +294,7 @@ public class InventoryListener implements Listener { HumanEntity whoClicked = event.getWhoClicked(); - if (!UserManager.hasPlayerDataKey(event.getWhoClicked()) || !Permissions.isSubSkillEnabled(whoClicked, SubSkillType.ALCHEMY_CONCOCTIONS)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(event.getWhoClicked()) || !Permissions.isSubSkillEnabled(whoClicked, SubSkillType.ALCHEMY_CONCOCTIONS)) { return; } diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 313aec339..e7e9c932a 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -22,7 +22,6 @@ import com.gmail.nossr50.skills.repair.RepairManager; import com.gmail.nossr50.skills.salvage.Salvage; import com.gmail.nossr50.skills.salvage.SalvageManager; import com.gmail.nossr50.util.*; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillUtils; @@ -87,17 +86,17 @@ public class PlayerListener implements Listener { return; } - if (!UserManager.hasPlayerDataKey(player) || Config.getInstance().getXPAfterTeleportCooldown() <= 0 || event.getFrom().equals(event.getTo())) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player) || Config.getInstance().getXPAfterTeleportCooldown() <= 0 || event.getFrom().equals(event.getTo())) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - UserManager.getPlayer(player).actualizeTeleportATS(); + mcMMO.getUserManager().getPlayer(player).actualizeTeleportATS(); } /** * Handle PlayerDeathEvents at the lowest priority. @@ -197,20 +196,20 @@ public class PlayerListener implements Listener { public void onPlayerWorldChange(PlayerChangedWorldEvent event) { Player player = event.getPlayer(); - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - mcMMOPlayer.checkGodMode(); - mcMMOPlayer.checkParty(); + mmoPlayer.checkGodMode(); + mmoPlayer.checkParty(); } /** @@ -268,17 +267,17 @@ public class PlayerListener implements Listener { return; } - if (!UserManager.hasPlayerDataKey(player) || !PrimarySkillType.FISHING.getPermissions(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player) || !PrimarySkillType.FISHING.getPermissions(player)) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - FishingManager fishingManager = UserManager.getPlayer(player).getFishingManager(); + FishingManager fishingManager = mcMMO.getUserManager().getPlayer(player).getFishingManager(); switch (event.getState()) { case CAUGHT_FISH: @@ -346,18 +345,18 @@ public class PlayerListener implements Listener { return; } - if (!UserManager.hasPlayerDataKey(player) || !PrimarySkillType.FISHING.getPermissions(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player) || !PrimarySkillType.FISHING.getPermissions(player)) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } Entity caught = event.getCaught(); - FishingManager fishingManager = UserManager.getPlayer(player).getFishingManager(); + FishingManager fishingManager = mcMMO.getUserManager().getPlayer(player).getFishingManager(); //Track the hook if(ExperienceConfig.getInstance().isFishingExploitingPrevented()) @@ -441,17 +440,17 @@ public class PlayerListener implements Listener { return; } - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); Item drop = event.getItem(); ItemStack dropStack = drop.getItemStack(); @@ -469,8 +468,8 @@ public class PlayerListener implements Listener { return; } - if (!drop.hasMetadata(mcMMO.droppedItemKey) && mcMMOPlayer.inParty() && ItemUtils.isSharable(dropStack)) { - event.setCancelled(ShareHandler.handleItemShare(drop, mcMMOPlayer)); + if (!drop.hasMetadata(mcMMO.droppedItemKey) && mmoPlayer.inParty() && ItemUtils.isSharable(dropStack)) { + event.setCancelled(ShareHandler.handleItemShare(drop, mmoPlayer)); if (event.isCancelled()) { SoundManager.sendSound(player, player.getLocation(), SoundType.POP); @@ -503,20 +502,23 @@ public class PlayerListener implements Listener { public void onPlayerQuit(PlayerQuitEvent event) { Player player = event.getPlayer(); - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - //There's an issue with using Async saves on player quit - //Basically there are conditions in which an async task does not execute fast enough to save the data if the server shutdown shortly after this task was scheduled - mcMMOPlayer.logout(true); + //No need for null checks here + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + //TODO: There's an issue with using Async saves on player quit + //TODO: Basically there are conditions in which an async task does not execute fast enough to save the data if the server shutdown shortly after this task was scheduled + mcMMO.getUserManager().saveUserWithDelay(mmoPlayer.getPersistentPlayerData(), false, 20); + + mcMMO.getUserManager().cleanupPlayer(mmoPlayer); //Handles cleaning up the player when their profile is no longer needed } /** @@ -557,17 +559,17 @@ public class PlayerListener implements Listener { public void onPlayerRespawn(PlayerRespawnEvent event) { Player player = event.getPlayer(); - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - UserManager.getPlayer(player).actualizeRespawnATS(); + mcMMO.getUserManager().getPlayer(player).actualizeRespawnATS(); } /** @@ -604,18 +606,18 @@ public class PlayerListener implements Listener { } } - if (event.getHand() != EquipmentSlot.HAND || !UserManager.hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { + if (event.getHand() != EquipmentSlot.HAND || !mcMMO.getUserManager().hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - MiningManager miningManager = mcMMOPlayer.getMiningManager(); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + MiningManager miningManager = mmoPlayer.getMiningManager(); ItemStack heldItem = player.getInventory().getItemInMainHand(); switch (event.getAction()) { @@ -628,7 +630,7 @@ public class PlayerListener implements Listener { && PrimarySkillType.REPAIR.getPermissions(player) && mcMMO.getRepairableManager().isRepairable(heldItem) && heldItem.getAmount() <= 1) { - RepairManager repairManager = mcMMOPlayer.getRepairManager(); + RepairManager repairManager = mmoPlayer.getRepairManager(); event.setCancelled(true); // Make sure the player knows what he's doing when trying to repair an enchanted item @@ -643,7 +645,7 @@ public class PlayerListener implements Listener { && RankUtils.hasUnlockedSubskill(player, SubSkillType.SALVAGE_SCRAP_COLLECTOR) && mcMMO.getSalvageableManager().isSalvageable(heldItem) && heldItem.getAmount() <= 1) { - SalvageManager salvageManager = UserManager.getPlayer(player).getSalvageManager(); + SalvageManager salvageManager = mcMMO.getUserManager().getPlayer(player).getSalvageManager(); event.setCancelled(true); // Make sure the player knows what he's doing when trying to salvage an enchanted item @@ -673,7 +675,7 @@ public class PlayerListener implements Listener { if (!Config.getInstance().getAbilitiesOnlyActivateWhenSneaking() || player.isSneaking()) { /* REPAIR CHECKS */ if (type == Repair.anvilMaterial && PrimarySkillType.REPAIR.getPermissions(player) && mcMMO.getRepairableManager().isRepairable(heldItem)) { - RepairManager repairManager = mcMMOPlayer.getRepairManager(); + RepairManager repairManager = mmoPlayer.getRepairManager(); // Cancel repairing an enchanted item if (repairManager.checkConfirmation(false)) { @@ -683,7 +685,7 @@ public class PlayerListener implements Listener { } /* SALVAGE CHECKS */ else if (type == Salvage.anvilMaterial && PrimarySkillType.SALVAGE.getPermissions(player) && mcMMO.getSalvageableManager().isSalvageable(heldItem)) { - SalvageManager salvageManager = mcMMOPlayer.getSalvageManager(); + SalvageManager salvageManager = mmoPlayer.getSalvageManager(); // Cancel salvaging an enchanted item if (salvageManager.checkConfirmation(false)) { @@ -720,17 +722,17 @@ public class PlayerListener implements Listener { return; } - if (playerInteractEvent.getHand() != EquipmentSlot.HAND || !UserManager.hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { + if (playerInteractEvent.getHand() != EquipmentSlot.HAND || !mcMMO.getUserManager().hasPlayerDataKey(player) || player.getGameMode() == GameMode.CREATIVE) { return; } //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); ItemStack heldItem = player.getInventory().getItemInMainHand(); //Spam Fishing Detection @@ -745,11 +747,11 @@ public class PlayerListener implements Listener { player.setVelocity(player.getEyeLocation().getDirection().multiply(10)); } - mcMMOPlayer.getFishingManager().setFishingRodCastTimestamp(); + mmoPlayer.getFishingManager().setFishingRodCastTimestamp(); } } - mcMMOPlayer.getAbilityActivationProcessor().processAbilityAndToolActivations(playerInteractEvent); + mmoPlayer.getAbilityActivationProcessor().processAbilityAndToolActivations(playerInteractEvent); } /** @@ -761,13 +763,13 @@ public class PlayerListener implements Listener { public void onPlayerChat(AsyncPlayerChatEvent event) { Player player = event.getPlayer(); - if (Misc.isNPCEntityExcludingVillagers(player) || !UserManager.hasPlayerDataKey(player)) { + if (Misc.isNPCEntityExcludingVillagers(player) || !mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getOfflinePlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getOfflinePlayer(player); - if (mcMMOPlayer == null) { + if (mmoPlayer == null) { mcMMO.p.debug(player.getName() + "is chatting, but is currently not logged in to the server."); mcMMO.p.debug("Party & Admin chat will not work properly for this player."); return; @@ -775,11 +777,11 @@ public class PlayerListener implements Listener { ChatManager chatManager = null; - if (mcMMOPlayer.isChatEnabled(ChatMode.PARTY)) { - Party party = mcMMOPlayer.getParty(); + if (mmoPlayer.isChatEnabled(ChatMode.PARTY)) { + Party party = mmoPlayer.getParty(); if (party == null) { - mcMMOPlayer.disableChat(ChatMode.PARTY); + mmoPlayer.disableChat(ChatMode.PARTY); player.sendMessage(LocaleLoader.getString("Commands.Party.None")); return; } @@ -787,7 +789,7 @@ public class PlayerListener implements Listener { chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.PARTY); ((PartyChatManager) chatManager).setParty(party); } - else if (mcMMOPlayer.isChatEnabled(ChatMode.ADMIN)) { + else if (mmoPlayer.isChatEnabled(ChatMode.ADMIN)) { chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.ADMIN); } diff --git a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java index 2ea4ac582..3e52a04cf 100644 --- a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java @@ -39,14 +39,24 @@ public class SelfListener implements Listener { { int previousLevelGained = event.getSkillLevel() - i; //Send player skill unlock notifications - UserManager.getPlayer(player).processUnlockNotifications(plugin, event.getSkill(), previousLevelGained); + RankUtils.executeSkillUnlockNotifications(plugin, mcMMO.getUserManager().getPlayer(player), event.getSkill(), previousLevelGained); } - //Reset the delay timer - RankUtils.resetUnlockDelayTimer(); + for(int i = 0; i < event.getLevelsGained(); i++) + { + int previousLevelGained = event.getSkillLevel() - i; + //Send player skill unlock notifications + RankUtils.executeSkillUnlockNotifications(plugin, mcMMO.getUserManager().getPlayer(player), event.getSkill(), previousLevelGained); + } - if(Config.getInstance().getScoreboardsEnabled()) - ScoreboardManager.handleLevelUp(player, skill); + //Reset the delay timer + RankUtils.resetUnlockDelayTimer(); + + if(Config.getInstance().getScoreboardsEnabled()) + ScoreboardManager.handleLevelUp(player, skill); + + if(Config.getInstance().getScoreboardsEnabled()) + ScoreboardManager.handleLevelUp(player, skill); } } @@ -72,12 +82,12 @@ public class SelfListener implements Listener { @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onPlayerXpGain(McMMOPlayerXpGainEvent event) { Player player = event.getPlayer(); - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); PrimarySkillType primarySkillType = event.getSkill(); - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage(event.getSkill().toString() + " XP Gained"); - mcMMOPlayer.getPlayer().sendMessage("Incoming Raw XP: "+event.getRawXpGained()); + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage(event.getSkill().toString() + " XP Gained"); + mmoPlayer.getPlayer().sendMessage("Incoming Raw XP: "+event.getRawXpGained()); } //WorldGuard XP Check @@ -93,8 +103,8 @@ public class SelfListener implements Listener { event.setRawXpGained(0); event.setCancelled(true); - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage("No WG XP Flag - New Raw XP: "+event.getRawXpGained()); + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage("No WG XP Flag - New Raw XP: "+event.getRawXpGained()); } } } @@ -111,9 +121,9 @@ public class SelfListener implements Listener { int earlyGameBonusXP = 0; //Give some bonus XP for low levels - if(PlayerLevelUtils.qualifiesForEarlyGameBoost(mcMMOPlayer, primarySkillType)) + if(PlayerLevelUtils.qualifiesForEarlyGameBoost(mmoPlayer, primarySkillType)) { - earlyGameBonusXP += (mcMMOPlayer.getXpToLevel(primarySkillType) * 0.05); + earlyGameBonusXP += (mmoPlayer.getExperienceManager().getXpToLevel(primarySkillType) * 0.05); event.setRawXpGained(event.getRawXpGained() + earlyGameBonusXP); } } @@ -121,8 +131,8 @@ public class SelfListener implements Listener { int threshold = ExperienceConfig.getInstance().getDiminishedReturnsThreshold(primarySkillType); if (threshold <= 0 || !ExperienceConfig.getInstance().getDiminishedReturnsEnabled()) { - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage("Final Raw XP: "+event.getRawXpGained()); + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage("Final Raw XP: "+event.getRawXpGained()); } // Diminished returns is turned off return; @@ -142,10 +152,10 @@ public class SelfListener implements Listener { float guaranteedMinimum = ExperienceConfig.getInstance().getDiminishedReturnsCap() * rawXp; float modifiedThreshold = (float) (threshold / primarySkillType.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()); - float difference = (mcMMOPlayer.getProfile().getRegisteredXpGain(primarySkillType) - modifiedThreshold) / modifiedThreshold; + float difference = (mmoPlayer.getExperienceManager().getRegisteredXpGain(primarySkillType) - modifiedThreshold) / modifiedThreshold; if (difference > 0) { -// System.out.println("Total XP Earned: " + mcMMOPlayer.getProfile().getRegisteredXpGain(primarySkillType) + " / Threshold value: " + threshold); +// System.out.println("Total XP Earned: " + mmoPlayer.getProfile().getRegisteredXpGain(primarySkillType) + " / Threshold value: " + threshold); // System.out.println(difference * 100 + "% over the threshold!"); // System.out.println("Previous: " + event.getRawXpGained()); // System.out.println("Adjusted XP " + (event.getRawXpGained() - (event.getRawXpGained() * difference))); @@ -169,8 +179,8 @@ public class SelfListener implements Listener { } - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage("Final Raw XP: "+event.getRawXpGained()); + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage("Final Raw XP: "+event.getRawXpGained()); } } diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index 2ac7bf8cf..b4293b3ed 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -2,10 +2,6 @@ package com.gmail.nossr50; import com.gmail.nossr50.config.*; import com.gmail.nossr50.config.experience.ExperienceConfig; -import com.gmail.nossr50.config.mods.ArmorConfigManager; -import com.gmail.nossr50.config.mods.BlockConfigManager; -import com.gmail.nossr50.config.mods.EntityConfigManager; -import com.gmail.nossr50.config.mods.ToolConfigManager; import com.gmail.nossr50.config.skills.alchemy.PotionConfig; import com.gmail.nossr50.config.skills.repair.RepairConfigManager; import com.gmail.nossr50.config.skills.salvage.SalvageConfigManager; @@ -81,6 +77,8 @@ public class mcMMO extends JavaPlugin { private static PlayerLevelUtils playerLevelUtils; private static SmeltingTracker smeltingTracker; private static SpawnedProjectileTracker spawnedProjectileTracker; + private static UserManager userManager; + private static PartyManager partyManager; /* Blacklist */ private static WorldBlacklist worldBlacklist; @@ -176,10 +174,6 @@ public class mcMMO extends JavaPlugin { //Store this value so other plugins can check it isRetroModeEnabled = Config.getInstance().getIsRetroMode(); - if (getServer().getName().equals("Cauldron") || getServer().getName().equals("MCPC+")) { - checkModConfigs(); - } - if (healthBarPluginEnabled) { getLogger().info("HealthBar plugin found, mcMMO's healthbars are automatically disabled."); } @@ -214,7 +208,7 @@ public class mcMMO extends JavaPlugin { registerCoreSkills(); registerCustomRecipes(); - PartyManager.loadParties(); + mcMMO.getPartyManager().loadParties(); formulaManager = new FormulaManager(); holidayManager = new HolidayManager(); @@ -275,6 +269,9 @@ public class mcMMO extends JavaPlugin { //Init spawned projectile tracker spawnedProjectileTracker = new SpawnedProjectileTracker(); + + //Init Player Data Manager + userManager = new UserManager(); } public static PlayerLevelUtils getPlayerLevelUtils() { @@ -311,10 +308,10 @@ public class mcMMO extends JavaPlugin { @Override public void onDisable() { try { - UserManager.saveAll(); // Make sure to save player information if the server shuts down - UserManager.clearAll(); + userManager.saveAllSync(); // Make sure to save player information if the server shuts down + userManager.clearAll(); Alchemy.finishAllBrews(); // Finish all partially complete AlchemyBrewTasks to prevent vanilla brewing continuation on restart - PartyManager.saveParties(); // Save our parties + mcMMO.getPartyManager().saveParties(); // Save our parties //TODO: Needed? if(Config.getInstance().getScoreboardsEnabled()) @@ -515,25 +512,8 @@ public class mcMMO extends JavaPlugin { List repairables = new ArrayList<>(); - if (Config.getInstance().getToolModsEnabled()) { - new ToolConfigManager(this); - } - - if (Config.getInstance().getArmorModsEnabled()) { - new ArmorConfigManager(this); - } - - if (Config.getInstance().getBlockModsEnabled()) { - new BlockConfigManager(this); - } - - if (Config.getInstance().getEntityModsEnabled()) { - new EntityConfigManager(this); - } - // Load repair configs, make manager, and register them at this time repairables.addAll(new RepairConfigManager(this).getLoadedRepairables()); - repairables.addAll(modManager.getLoadedRepairables()); repairableManager = new SimpleRepairableManager(repairables.size()); repairableManager.registerRepairables(repairables); @@ -635,28 +615,6 @@ public class mcMMO extends JavaPlugin { } } - private void checkModConfigs() { - if (!Config.getInstance().getToolModsEnabled()) { - getLogger().warning("Cauldron implementation found, but the custom tool config for mcMMO is disabled!"); - getLogger().info("To enable, set Mods.Tool_Mods_Enabled to TRUE in config.yml."); - } - - if (!Config.getInstance().getArmorModsEnabled()) { - getLogger().warning("Cauldron implementation found, but the custom armor config for mcMMO is disabled!"); - getLogger().info("To enable, set Mods.Armor_Mods_Enabled to TRUE in config.yml."); - } - - if (!Config.getInstance().getBlockModsEnabled()) { - getLogger().warning("Cauldron implementation found, but the custom block config for mcMMO is disabled!"); - getLogger().info("To enable, set Mods.Block_Mods_Enabled to TRUE in config.yml."); - } - - if (!Config.getInstance().getEntityModsEnabled()) { - getLogger().warning("Cauldron implementation found, but the custom entity config for mcMMO is disabled!"); - getLogger().info("To enable, set Mods.Entity_Mods_Enabled to TRUE in config.yml."); - } - } - public InputStreamReader getResourceAsReader(String fileName) { InputStream in = getResource(fileName); return in == null ? null : new InputStreamReader(in, Charsets.UTF_8); @@ -687,4 +645,12 @@ public class mcMMO extends JavaPlugin { public static SpawnedProjectileTracker getSpawnedProjectileTracker() { return spawnedProjectileTracker; } + + public static UserManager getUserManager() { + return userManager; + } + + public static PartyManager getPartyManager() { + return partyManager; + } } diff --git a/src/main/java/com/gmail/nossr50/party/PartyManager.java b/src/main/java/com/gmail/nossr50/party/PartyManager.java index 8fef0b00a..19a1eee6a 100644 --- a/src/main/java/com/gmail/nossr50/party/PartyManager.java +++ b/src/main/java/com/gmail/nossr50/party/PartyManager.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.database.UpgradeType; import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.party.ItemShareType; import com.gmail.nossr50.datatypes.party.Party; -import com.gmail.nossr50.datatypes.party.PartyLeader; import com.gmail.nossr50.datatypes.party.ShareMode; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.player.PlayerProfile; @@ -18,26 +17,27 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.util.sounds.SoundType; import org.bukkit.OfflinePlayer; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; import java.io.File; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; +import java.util.*; import java.util.Map.Entry; -import java.util.UUID; public final class PartyManager { - private static final String partiesFilePath = mcMMO.getFlatFileDirectory() + "parties.yml"; - private static final List parties = new ArrayList<>(); - private static final File partyFile = new File(partiesFilePath); + private final @NotNull HashMap parties; + private final @NotNull File partyFile; - private PartyManager() {} + public PartyManager() { + String partiesFilePath = mcMMO.getFlatFileDirectory() + "parties.yml"; + partyFile = new File(partiesFilePath); + + parties = new HashMap<>(); + } /** * Check if a party with a given name already exists. @@ -46,7 +46,7 @@ public final class PartyManager { * @param partyName The name of the party to check * @return true if a party with that name exists, false otherwise */ - public static boolean checkPartyExistence(Player player, String partyName) { + public boolean checkPartyExistence(Player player, String partyName) { if (getParty(partyName) == null) { return false; } @@ -61,29 +61,29 @@ public final class PartyManager { * @param targetParty the target party * @return true if party is full and cannot be joined */ - public static boolean isPartyFull(Player player, Party targetParty) + public boolean isPartyFull(Player player, Party targetParty) { - return !Permissions.partySizeBypass(player) && Config.getInstance().getPartyMaxSize() >= 1 && targetParty.getOnlineMembers().size() >= Config.getInstance().getPartyMaxSize(); + return !Permissions.partySizeBypass(player) && Config.getInstance().getPartyMaxSize() >= 1 && targetParty.getPartyMembers().size() >= Config.getInstance().getPartyMaxSize(); } /** * Attempt to change parties or join a new party. * - * @param mcMMOPlayer The player changing or joining parties + * @param mmoPlayer The player changing or joining parties * @param newPartyName The name of the party being joined * @return true if the party was joined successfully, false otherwise */ - public static boolean changeOrJoinParty(McMMOPlayer mcMMOPlayer, String newPartyName) { - Player player = mcMMOPlayer.getPlayer(); + public boolean changeOrJoinParty(McMMOPlayer mmoPlayer, String newPartyName) { + Player player = mmoPlayer.getPlayer(); - if (mcMMOPlayer.inParty()) { - Party oldParty = mcMMOPlayer.getParty(); + if (mmoPlayer.inParty()) { + Party oldParty = mmoPlayer.getParty(); - if (!handlePartyChangeEvent(player, oldParty.getName(), newPartyName, EventReason.CHANGED_PARTIES)) { + if (!handlePartyChangeEvent(player, oldParty.getPartyName(), newPartyName, EventReason.CHANGED_PARTIES)) { return false; } - removeFromParty(mcMMOPlayer); + removeFromParty(mmoPlayer); } else return handlePartyChangeEvent(player, null, newPartyName, EventReason.JOINED_PARTY); @@ -97,21 +97,21 @@ public final class PartyManager { * @param secondPlayer The second player * @return true if they are in the same party, false otherwise */ - public static boolean inSameParty(Player firstPlayer, Player secondPlayer) { + public boolean inSameParty(Player firstPlayer, Player secondPlayer) { //Profile not loaded - if(UserManager.getPlayer(firstPlayer) == null) + if(mcMMO.getUserManager().getPlayer(firstPlayer) == null) { return false; } //Profile not loaded - if(UserManager.getPlayer(secondPlayer) == null) + if(mcMMO.getUserManager().getPlayer(secondPlayer) == null) { return false; } - Party firstParty = UserManager.getPlayer(firstPlayer).getParty(); - Party secondParty = UserManager.getPlayer(secondPlayer).getParty(); + Party firstParty = mcMMO.getUserManager().getPlayer(firstPlayer).getParty(); + Party secondParty = mcMMO.getUserManager().getPlayer(secondPlayer).getParty(); if (firstParty == null || secondParty == null) { return false; @@ -120,21 +120,21 @@ public final class PartyManager { return firstParty.equals(secondParty); } - public static boolean areAllies(Player firstPlayer, Player secondPlayer) { + public boolean areAllies(Player firstPlayer, Player secondPlayer) { //Profile not loaded - if(UserManager.getPlayer(firstPlayer) == null) + if(mcMMO.getUserManager().getPlayer(firstPlayer) == null) { return false; } //Profile not loaded - if(UserManager.getPlayer(secondPlayer) == null) + if(mcMMO.getUserManager().getPlayer(secondPlayer) == null) { return false; } - Party firstParty = UserManager.getPlayer(firstPlayer).getParty(); - Party secondParty = UserManager.getPlayer(secondPlayer).getParty(); + Party firstParty = mcMMO.getUserManager().getPlayer(firstPlayer).getParty(); + Party secondParty = mcMMO.getUserManager().getPlayer(secondPlayer).getParty(); if (firstParty == null || secondParty == null || firstParty.getAlly() == null || secondParty.getAlly() == null) { return false; @@ -146,18 +146,18 @@ public final class PartyManager { /** * Get the near party members. * - * @param mcMMOPlayer The player to check + * @param mmoPlayer The player to check * @return the near party members */ - public static List getNearMembers(McMMOPlayer mcMMOPlayer) { + public List getNearMembers(McMMOPlayer mmoPlayer) { List nearMembers = new ArrayList<>(); - Party party = mcMMOPlayer.getParty(); + Party party = mmoPlayer.getParty(); if (party != null) { - Player player = mcMMOPlayer.getPlayer(); + Player player = mmoPlayer.getPlayer(); double range = Config.getInstance().getPartyShareRange(); - for (Player member : party.getOnlineMembers()) { + for (Player member : party.getPartyMembers()) { if (!player.equals(member) && member.isValid() && Misc.isNear(player.getLocation(), member.getLocation(), range)) { nearMembers.add(member); } @@ -167,12 +167,12 @@ public final class PartyManager { return nearMembers; } - public static List getNearVisibleMembers(McMMOPlayer mcMMOPlayer) { + public List getNearVisibleMembers(McMMOPlayer mmoPlayer) { List nearMembers = new ArrayList<>(); - Party party = mcMMOPlayer.getParty(); + Party party = mmoPlayer.getParty(); if (party != null) { - Player player = mcMMOPlayer.getPlayer(); + Player player = mmoPlayer.getPlayer(); double range = Config.getInstance().getPartyShareRange(); for (Player member : party.getVisibleMembers(player)) { @@ -194,7 +194,7 @@ public final class PartyManager { * @param player The player to check * @return all the players in the player's party */ - public static LinkedHashMap getAllMembers(Player player) { + public LinkedHashMap getAllMembers(Player player) { Party party = getParty(player); return party == null ? new LinkedHashMap<>() : party.getMembers(); @@ -206,7 +206,7 @@ public final class PartyManager { * @param partyName The party to check * @return all online players in this party */ - public static List getOnlineMembers(String partyName) { + public List getOnlineMembers(String partyName) { return getOnlineMembers(getParty(partyName)); } @@ -216,12 +216,12 @@ public final class PartyManager { * @param player The player to check * @return all online players in this party */ - public static List getOnlineMembers(Player player) { + public List getOnlineMembers(Player player) { return getOnlineMembers(getParty(player)); } - private static List getOnlineMembers(Party party) { - return party == null ? new ArrayList<>() : party.getOnlineMembers(); + private List getOnlineMembers(Party party) { + return party == null ? new ArrayList<>() : party.getPartyMembers(); } /** @@ -230,9 +230,9 @@ public final class PartyManager { * @param partyName The party name * @return the existing party, null otherwise */ - public static Party getParty(String partyName) { + public Party getParty(String partyName) { for (Party party : parties) { - if (party.getName().equalsIgnoreCase(partyName)) { + if (party.getPartyName().equalsIgnoreCase(partyName)) { return party; } } @@ -247,7 +247,7 @@ public final class PartyManager { * @return the existing party, null otherwise */ @Deprecated - public static Party getPlayerParty(String playerName) { + public Party getPlayerParty(String playerName) { for (Party party : parties) { if (party.getMembers().containsKey(playerName)) { return party; @@ -263,7 +263,7 @@ public final class PartyManager { * @param uuid The members uuid * @return the existing party, null otherwise */ - public static Party getPlayerParty(String playerName, UUID uuid) { + public Party getPlayerParty(String playerName, UUID uuid) { for (Party party : parties) { LinkedHashMap members = party.getMembers(); if (members.containsKey(uuid) || members.containsValue(playerName)) { @@ -286,16 +286,16 @@ public final class PartyManager { * @param player The member * @return the existing party, null otherwise */ - public static Party getParty(Player player) { + public Party getParty(Player player) { //Profile not loaded - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) { return null; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - return mcMMOPlayer.getParty(); + return mmoPlayer.getParty(); } /** @@ -303,7 +303,7 @@ public final class PartyManager { * * @return the list of parties. */ - public static List getParties() { + public List getParties() { return parties; } @@ -313,14 +313,14 @@ public final class PartyManager { * @param player The player to remove * @param party The party */ - public static void removeFromParty(OfflinePlayer player, Party party) { + public void removeFromParty(OfflinePlayer player, Party party) { LinkedHashMap members = party.getMembers(); String playerName = player.getName(); members.remove(player.getUniqueId()); if (player.isOnline()) { - party.getOnlineMembers().remove(player.getPlayer()); + party.getPartyMembers().remove(player.getPlayer()); } if (members.isEmpty()) { @@ -339,11 +339,11 @@ public final class PartyManager { /** * Remove a player from a party. * - * @param mcMMOPlayer The player to remove + * @param mmoPlayer The player to remove */ - public static void removeFromParty(McMMOPlayer mcMMOPlayer) { - removeFromParty(mcMMOPlayer.getPlayer(), mcMMOPlayer.getParty()); - processPartyLeaving(mcMMOPlayer); + public void removeFromParty(McMMOPlayer mmoPlayer) { + removeFromParty(mmoPlayer.getPlayer(), mmoPlayer.getParty()); + processPartyLeaving(mmoPlayer); } /** @@ -351,16 +351,16 @@ public final class PartyManager { * * @param party The party to remove */ - public static void disbandParty(Party party) { + public void disbandParty(Party party) { //TODO: Potential issues with unloaded profile? - for (Player member : party.getOnlineMembers()) { + for (Player member : party.getPartyMembers()) { //Profile not loaded - if(UserManager.getPlayer(member) == null) + if(mcMMO.getUserManager().getPlayer(member) == null) { continue; } - processPartyLeaving(UserManager.getPlayer(member)); + processPartyLeaving(mcMMO.getUserManager().getPlayer(member)); } // Disband the alliance between the disbanded party and it's ally @@ -374,12 +374,12 @@ public final class PartyManager { /** * Create a new party * - * @param mcMMOPlayer The player to add to the party + * @param mmoPlayer The player to add to the party * @param partyName The party to add the player to * @param password The password for this party, null if there was no password */ - public static void createParty(McMMOPlayer mcMMOPlayer, String partyName, String password) { - Player player = mcMMOPlayer.getPlayer(); + public void createParty(McMMOPlayer mmoPlayer, String partyName, String password) { + Player player = mmoPlayer.getPlayer(); Party party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName.replace(".", ""), password); @@ -389,8 +389,8 @@ public final class PartyManager { parties.add(party); - player.sendMessage(LocaleLoader.getString("Commands.Party.Create", party.getName())); - addToParty(mcMMOPlayer, party); + player.sendMessage(LocaleLoader.getString("Commands.Party.Create", party.getPartyName())); + addToParty(mmoPlayer, party); } /** @@ -401,9 +401,9 @@ public final class PartyManager { * @param password The password provided by the player * @return true if the player can join the party */ - public static boolean checkPartyPassword(Player player, Party party, String password) { + public boolean checkPartyPassword(Player player, Party party, String password) { if (party.isLocked()) { - String partyPassword = party.getPassword(); + String partyPassword = party.getPartyPassword(); if (partyPassword == null) { player.sendMessage(LocaleLoader.getString("Party.Locked")); @@ -427,14 +427,14 @@ public final class PartyManager { /** * Accept a party invitation * - * @param mcMMOPlayer The player to add to the party + * @param mmoPlayer The player to add to the party */ - public static void joinInvitedParty(McMMOPlayer mcMMOPlayer) { - Party invite = mcMMOPlayer.getPartyInvite(); + public void joinInvitedParty(McMMOPlayer mmoPlayer) { + Party invite = mmoPlayer.getPartyInvite(); // Check if the party still exists, it might have been disbanded if (!parties.contains(invite)) { - NotificationManager.sendPlayerInformation(mcMMOPlayer.getPlayer(), NotificationType.PARTY_MESSAGE, "Party.Disband"); + NotificationManager.sendPlayerInformation(mmoPlayer.getPlayer(), NotificationType.PARTY_MESSAGE, "Party.Disband"); return; } @@ -443,23 +443,23 @@ public final class PartyManager { */ if(Config.getInstance().getPartyMaxSize() > 0 && invite.getMembers().size() >= Config.getInstance().getPartyMaxSize()) { - NotificationManager.sendPlayerInformation(mcMMOPlayer.getPlayer(), NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull.InviteAccept", invite.getName(), String.valueOf(Config.getInstance().getPartyMaxSize())); + NotificationManager.sendPlayerInformation(mmoPlayer.getPlayer(), NotificationType.PARTY_MESSAGE, "Commands.Party.PartyFull.InviteAccept", invite.getPartyName(), String.valueOf(Config.getInstance().getPartyMaxSize())); return; } - NotificationManager.sendPlayerInformation(mcMMOPlayer.getPlayer(), NotificationType.PARTY_MESSAGE, "Commands.Party.Invite.Accepted", invite.getName()); - mcMMOPlayer.removePartyInvite(); - addToParty(mcMMOPlayer, invite); + NotificationManager.sendPlayerInformation(mmoPlayer.getPlayer(), NotificationType.PARTY_MESSAGE, "Commands.Party.Invite.Accepted", invite.getPartyName()); + mmoPlayer.removePartyInvite(); + addToParty(mmoPlayer, invite); } /** * Accept a party alliance invitation * - * @param mcMMOPlayer The player who accepts the alliance invite + * @param mmoPlayer The player who accepts the alliance invite */ - public static void acceptAllianceInvite(McMMOPlayer mcMMOPlayer) { - Party invite = mcMMOPlayer.getPartyAllianceInvite(); - Player player = mcMMOPlayer.getPlayer(); + public void acceptAllianceInvite(McMMOPlayer mmoPlayer) { + Party invite = mmoPlayer.getPartyAllianceInvite(); + Player player = mmoPlayer.getPlayer(); // Check if the party still exists, it might have been disbanded if (!parties.contains(invite)) { @@ -467,65 +467,64 @@ public final class PartyManager { return; } - if (!handlePartyChangeAllianceEvent(player, mcMMOPlayer.getParty().getName(), invite.getName(), McMMOPartyAllianceChangeEvent.EventReason.FORMED_ALLIANCE)) { + if (!handlePartyChangeAllianceEvent(player, mmoPlayer.getParty().getName(), invite.getPartyName(), McMMOPartyAllianceChangeEvent.EventReason.FORMED_ALLIANCE)) { return; } - player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.Accepted", invite.getName())); - mcMMOPlayer.removePartyAllianceInvite(); + player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.Accepted", invite.getPartyName())); + mmoPlayer.removePartyAllianceInvite(); - createAlliance(mcMMOPlayer.getParty(), invite); + createAlliance(mmoPlayer.getParty(), invite); } - public static void createAlliance(Party firstParty, Party secondParty) { + public void createAlliance(Party firstParty, Party secondParty) { firstParty.setAlly(secondParty); secondParty.setAlly(firstParty); - for (Player member : firstParty.getOnlineMembers()) { - member.sendMessage(LocaleLoader.getString("Party.Alliance.Formed", secondParty.getName())); + for (Player member : firstParty.getPartyMembers()) { + member.sendMessage(LocaleLoader.getString("Party.Alliance.Formed", secondParty.getPartyName())); } - for (Player member : secondParty.getOnlineMembers()) { - member.sendMessage(LocaleLoader.getString("Party.Alliance.Formed", firstParty.getName())); + for (Player member : secondParty.getPartyMembers()) { + member.sendMessage(LocaleLoader.getString("Party.Alliance.Formed", firstParty.getPartyName())); } } - public static boolean disbandAlliance(Player player, Party firstParty, Party secondParty){ - if (!handlePartyChangeAllianceEvent(player, firstParty.getName(), secondParty.getName(), McMMOPartyAllianceChangeEvent.EventReason.DISBAND_ALLIANCE)) { + public boolean disbandAlliance(Player player, Party firstParty, Party secondParty){ + if (!handlePartyChangeAllianceEvent(player, firstParty.getPartyName(), secondParty.getPartyName(), McMMOPartyAllianceChangeEvent.EventReason.DISBAND_ALLIANCE)) { return false; } - PartyManager.disbandAlliance(firstParty, secondParty); + mcMMO.getPartyManager().disbandAlliance(firstParty, secondParty); return true; } - private static void disbandAlliance(Party firstParty, Party secondParty) { + private void disbandAlliance(Party firstParty, Party secondParty) { firstParty.setAlly(null); secondParty.setAlly(null); - for (Player member : firstParty.getOnlineMembers()) { - member.sendMessage(LocaleLoader.getString("Party.Alliance.Disband", secondParty.getName())); + for (Player member : firstParty.getPartyMembers()) { + member.sendMessage(LocaleLoader.getString("Party.Alliance.Disband", secondParty.getPartyName())); } - for (Player member : secondParty.getOnlineMembers()) { - member.sendMessage(LocaleLoader.getString("Party.Alliance.Disband", firstParty.getName())); + for (Player member : secondParty.getPartyMembers()) { + member.sendMessage(LocaleLoader.getString("Party.Alliance.Disband", firstParty.getPartyName())); } } /** * Add a player to a party * - * @param mcMMOPlayer The player to add to the party + * @param mmoPlayer The player to add to the party * @param party The party */ - public static void addToParty(McMMOPlayer mcMMOPlayer, Party party) { - Player player = mcMMOPlayer.getPlayer(); + public void addToParty(McMMOPlayer mmoPlayer, Party party) { + Player player = mmoPlayer.getPlayer(); String playerName = player.getName(); informPartyMembersJoin(party, playerName); - mcMMOPlayer.setParty(party); party.getMembers().put(player.getUniqueId(), player.getName()); - party.getOnlineMembers().add(player); + party.getPartyMembers().add(player); } /** @@ -534,7 +533,7 @@ public final class PartyManager { * @param partyName The party name * @return the leader of the party */ - public static String getPartyLeaderName(String partyName) { + public String getPartyLeaderName(String partyName) { Party party = getParty(partyName); return party == null ? null : party.getLeader().getPlayerName(); @@ -546,11 +545,11 @@ public final class PartyManager { * @param uuid The uuid of the player to set as leader * @param party The party */ - public static void setPartyLeader(UUID uuid, Party party) { + public void setPartyLeader(UUID uuid, Party party) { OfflinePlayer player = mcMMO.p.getServer().getOfflinePlayer(uuid); UUID leaderUniqueId = party.getLeader().getUniqueId(); - for (Player member : party.getOnlineMembers()) { + for (Player member : party.getPartyMembers()) { UUID memberUniqueId = member.getUniqueId(); if (memberUniqueId.equals(player.getUniqueId())) { @@ -572,16 +571,16 @@ public final class PartyManager { * * @return true if the player can invite */ - public static boolean canInvite(McMMOPlayer mcMMOPlayer) { - Party party = mcMMOPlayer.getParty(); + public boolean canInvite(McMMOPlayer mmoPlayer) { + Party party = mmoPlayer.getParty(); - return !party.isLocked() || party.getLeader().getUniqueId().equals(mcMMOPlayer.getPlayer().getUniqueId()); + return !party.isLocked() || party.getLeader().getUniqueId().equals(mmoPlayer.getPlayer().getUniqueId()); } /** * Load party file. */ - public static void loadParties() { + public void loadParties() { if (!partyFile.exists()) { return; } @@ -602,8 +601,8 @@ public final class PartyManager { String[] leaderSplit = partiesFile.getString(partyName + ".Leader").split("[|]"); party.setLeader(new PartyLeader(UUID.fromString(leaderSplit[0]), leaderSplit[1])); - party.setPassword(partiesFile.getString(partyName + ".Password")); - party.setLocked(partiesFile.getBoolean(partyName + ".Locked")); + party.setPartyPassword(partiesFile.getString(partyName + ".Password")); + party.setPartyLock(partiesFile.getBoolean(partyName + ".Locked")); party.setLevel(partiesFile.getInt(partyName + ".Level")); party.setXp(partiesFile.getInt(partyName + ".Xp")); @@ -631,7 +630,7 @@ public final class PartyManager { mcMMO.p.getLogger().info("Loaded (" + parties.size() + ") Parties..."); for (Party party : hasAlly) { - party.setAlly(PartyManager.getParty(partiesFile.getString(party.getName() + ".Ally"))); + party.setAlly(mcMMO.getPartyManager().getParty(partiesFile.getString(party.getPartyName() + ".Ally"))); } } catch (Exception e) { @@ -643,7 +642,7 @@ public final class PartyManager { /** * Save party file. */ - public static void saveParties() { + public void saveParties() { if (partyFile.exists()) { if (!partyFile.delete()) { mcMMO.p.getLogger().warning("Could not delete party file. Party saving failed!"); @@ -655,15 +654,15 @@ public final class PartyManager { mcMMO.p.getLogger().info("Saving Parties... (" + parties.size() + ")"); for (Party party : parties) { - String partyName = party.getName(); + String partyName = party.getPartyName(); PartyLeader leader = party.getLeader(); partiesFile.set(partyName + ".Leader", leader.getUniqueId().toString() + "|" + leader.getPlayerName()); - partiesFile.set(partyName + ".Password", party.getPassword()); + partiesFile.set(partyName + ".Password", party.getPartyPassword()); partiesFile.set(partyName + ".Locked", party.isLocked()); partiesFile.set(partyName + ".Level", party.getLevel()); partiesFile.set(partyName + ".Xp", (int) party.getXp()); - partiesFile.set(partyName + ".Ally", (party.getAlly() != null) ? party.getAlly().getName() : ""); + partiesFile.set(partyName + ".Ally", (party.getAlly() != null) ? party.getAlly().getPartyName() : ""); partiesFile.set(partyName + ".ExpShareMode", party.getXpShareMode().toString()); partiesFile.set(partyName + ".ItemShareMode", party.getItemShareMode().toString()); @@ -693,7 +692,7 @@ public final class PartyManager { } } - private static void loadAndUpgradeParties() { + private void loadAndUpgradeParties() { YamlConfiguration partiesFile = YamlConfiguration.loadConfiguration(partyFile); if (!partyFile.renameTo(new File(mcMMO.getFlatFileDirectory() + "parties.yml.converted"))) { @@ -717,8 +716,8 @@ public final class PartyManager { UUID leaderUniqueId = profile.getUniqueId(); party.setLeader(new PartyLeader(leaderUniqueId, leaderName)); - party.setPassword(partiesFile.getString(partyName + ".Password")); - party.setLocked(partiesFile.getBoolean(partyName + ".Locked")); + party.setPartyPassword(partiesFile.getString(partyName + ".Password")); + party.setPartyLock(partiesFile.getBoolean(partyName + ".Locked")); party.setLevel(partiesFile.getInt(partyName + ".Level")); party.setXp(partiesFile.getInt(partyName + ".Xp")); @@ -754,7 +753,7 @@ public final class PartyManager { mcMMO.p.getLogger().info("Loaded (" + parties.size() + ") Parties..."); for (Party party : hasAlly) { - party.setAlly(PartyManager.getParty(partiesFile.getString(party.getName() + ".Ally"))); + party.setAlly(mcMMO.getPartyManager().getParty(partiesFile.getString(party.getPartyName() + ".Ally"))); } mcMMO.getUpgradeManager().setUpgradeCompleted(UpgradeType.ADD_UUIDS_PARTY); @@ -769,7 +768,7 @@ public final class PartyManager { * @param reason The reason for changing parties * @return true if the change event was successful, false otherwise */ - public static boolean handlePartyChangeEvent(Player player, String oldPartyName, String newPartyName, EventReason reason) { + public boolean handlePartyChangeEvent(Player player, String oldPartyName, String newPartyName, EventReason reason) { McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(player, oldPartyName, newPartyName, reason); mcMMO.p.getServer().getPluginManager().callEvent(event); @@ -785,7 +784,7 @@ public final class PartyManager { * @param reason The reason for changing allies * @return true if the change event was successful, false otherwise */ - public static boolean handlePartyChangeAllianceEvent(Player player, String oldAllyName, String newAllyName, McMMOPartyAllianceChangeEvent.EventReason reason) { + public boolean handlePartyChangeAllianceEvent(Player player, String oldAllyName, String newAllyName, McMMOPartyAllianceChangeEvent.EventReason reason) { McMMOPartyAllianceChangeEvent event = new McMMOPartyAllianceChangeEvent(player, oldAllyName, newAllyName, reason); mcMMO.p.getServer().getPluginManager().callEvent(event); @@ -793,14 +792,14 @@ public final class PartyManager { } /** - * Remove party data from the mcMMOPlayer. + * Remove party data from the mmoPlayer. * - * @param mcMMOPlayer The player to remove party data from. + * @param mmoPlayer The player to remove party data from. */ - public static void processPartyLeaving(McMMOPlayer mcMMOPlayer) { - mcMMOPlayer.removeParty(); - mcMMOPlayer.disableChat(ChatMode.PARTY); - mcMMOPlayer.setItemShareModifier(10); + public void processPartyLeaving(McMMOPlayer mmoPlayer) { + mmoPlayer.removeParty(); + mmoPlayer.disableChat(ChatMode.PARTY); + mmoPlayer.setItemShareModifier(10); } /** @@ -810,9 +809,9 @@ public final class PartyManager { * @param levelsGained The amount of levels gained * @param level The current party level */ - public static void informPartyMembersLevelUp(Party party, int levelsGained, int level) { + public void informPartyMembersLevelUp(Party party, int levelsGained, int level) { boolean levelUpSoundsEnabled = Config.getInstance().getLevelUpSoundsEnabled(); - for (Player member : party.getOnlineMembers()) { + for (Player member : party.getPartyMembers()) { member.sendMessage(LocaleLoader.getString("Party.LevelUp", levelsGained, level)); if (levelUpSoundsEnabled) { @@ -827,8 +826,8 @@ public final class PartyManager { * @param party The concerned party * @param playerName The name of the player that joined */ - private static void informPartyMembersJoin(Party party, String playerName) { - for (Player member : party.getOnlineMembers()) { + private void informPartyMembersJoin(Party party, String playerName) { + for (Player member : party.getPartyMembers()) { member.sendMessage(LocaleLoader.getString("Party.InformedOnJoin", playerName)); } } @@ -839,8 +838,8 @@ public final class PartyManager { * @param party The concerned party * @param playerName The name of the player that left */ - private static void informPartyMembersQuit(Party party, String playerName) { - for (Player member : party.getOnlineMembers()) { + private void informPartyMembersQuit(Party party, String playerName) { + for (Player member : party.getPartyMembers()) { member.sendMessage(LocaleLoader.getString("Party.InformedOnQuit", playerName)); } } diff --git a/src/main/java/com/gmail/nossr50/party/ShareHandler.java b/src/main/java/com/gmail/nossr50/party/ShareHandler.java index c0a78e253..362fe88fc 100644 --- a/src/main/java/com/gmail/nossr50/party/ShareHandler.java +++ b/src/main/java/com/gmail/nossr50/party/ShareHandler.java @@ -10,7 +10,6 @@ import com.gmail.nossr50.datatypes.party.ShareMode; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.util.Misc; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.Item; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -24,24 +23,24 @@ public final class ShareHandler { * Distribute Xp amongst party members. * * @param xp Xp without party sharing - * @param mcMMOPlayer Player initiating the Xp gain + * @param mmoPlayer Player initiating the Xp gain * @param primarySkillType Skill being used * @return True is the xp has been shared */ - public static boolean handleXpShare(float xp, McMMOPlayer mcMMOPlayer, PrimarySkillType primarySkillType, XPGainReason xpGainReason) { - Party party = mcMMOPlayer.getParty(); + public static boolean handleXpShare(float xp, McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, XPGainReason xpGainReason) { + Party party = mmoPlayer.getParty(); if (party.getXpShareMode() != ShareMode.EQUAL) { return false; } - List nearMembers = PartyManager.getNearVisibleMembers(mcMMOPlayer); + List nearMembers = mcMMO.getPartyManager().getNearVisibleMembers(mmoPlayer); if (nearMembers.isEmpty()) { return false; } - nearMembers.add(mcMMOPlayer.getPlayer()); + nearMembers.add(mmoPlayer.getPlayer()); int partySize = nearMembers.size(); double shareBonus = Math.min(Config.getInstance().getPartyShareBonusBase() + (partySize * Config.getInstance().getPartyShareBonusIncrease()), Config.getInstance().getPartyShareBonusCap()); @@ -49,12 +48,12 @@ public final class ShareHandler { for (Player member : nearMembers) { //Profile not loaded - if(UserManager.getPlayer(member) == null) + if(mcMMO.getUserManager().getPlayer(member) == null) { continue; } - UserManager.getPlayer(member).beginUnsharedXpGain(primarySkillType, splitXp, xpGainReason, XPGainSource.PARTY_MEMBERS); + mcMMO.getUserManager().getPlayer(member).beginUnsharedXpGain(primarySkillType, splitXp, xpGainReason, XPGainSource.PARTY_MEMBERS); } return true; @@ -64,10 +63,10 @@ public final class ShareHandler { * Distribute Items amongst party members. * * @param drop Item that will get shared - * @param mcMMOPlayer Player who picked up the item + * @param mmoPlayer Player who picked up the item * @return True if the item has been shared */ - public static boolean handleItemShare(Item drop, McMMOPlayer mcMMOPlayer) { + public static boolean handleItemShare(Item drop, McMMOPlayer mmoPlayer) { ItemStack itemStack = drop.getItemStack(); ItemShareType dropType = ItemShareType.getShareType(itemStack); @@ -75,7 +74,7 @@ public final class ShareHandler { return false; } - Party party = mcMMOPlayer.getParty(); + Party party = mmoPlayer.getParty(); if (!party.sharingDrops(dropType)) { return false; @@ -87,7 +86,7 @@ public final class ShareHandler { return false; } - List nearMembers = PartyManager.getNearMembers(mcMMOPlayer); + List nearMembers = mcMMO.getPartyManager().getNearMembers(mmoPlayer); if (nearMembers.isEmpty()) { return false; @@ -96,7 +95,7 @@ public final class ShareHandler { Player winningPlayer = null; ItemStack newStack = itemStack.clone(); - nearMembers.add(mcMMOPlayer.getPlayer()); + nearMembers.add(mmoPlayer.getPlayer()); int partySize = nearMembers.size(); drop.remove(); @@ -110,10 +109,10 @@ public final class ShareHandler { int highestRoll = 0; for (Player member : nearMembers) { - McMMOPlayer mcMMOMember = UserManager.getPlayer(member); + McMMOPlayer mcMMOMember = mcMMO.getUserManager().getPlayer(member); //Profile not loaded - if(UserManager.getPlayer(member) == null) + if(mcMMO.getUserManager().getPlayer(member) == null) { continue; } @@ -129,14 +128,14 @@ public final class ShareHandler { highestRoll = diceRoll; if (winningPlayer != null) { - McMMOPlayer mcMMOWinning = UserManager.getPlayer(winningPlayer); + McMMOPlayer mcMMOWinning = mcMMO.getUserManager().getPlayer(winningPlayer); mcMMOWinning.setItemShareModifier(mcMMOWinning.getItemShareModifier() + itemWeight); } winningPlayer = member; } - McMMOPlayer mcMMOTarget = UserManager.getPlayer(winningPlayer); + McMMOPlayer mcMMOTarget = mcMMO.getUserManager().getPlayer(winningPlayer); mcMMOTarget.setItemShareModifier(mcMMOTarget.getItemShareModifier() - itemWeight); awardDrop(winningPlayer, newStack); } diff --git a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java index 2e679b824..3f426e809 100644 --- a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java @@ -2,9 +2,6 @@ package com.gmail.nossr50.runnables; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; -import com.gmail.nossr50.runnables.player.PlayerProfileSaveTask; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.scheduler.BukkitRunnable; public class SaveTimerTask extends BukkitRunnable { @@ -13,11 +10,12 @@ public class SaveTimerTask extends BukkitRunnable { // All player data will be saved periodically through this int count = 1; - for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { - new PlayerProfileSaveTask(mcMMOPlayer.getProfile(), false).runTaskLaterAsynchronously(mcMMO.p, count); + //TODO: write a more efficient bulk save + for (McMMOPlayer mmoPlayer : mcMMO.getUserManager().getPlayers()) { + mcMMO.getUserManager().saveUserWithDelay(mmoPlayer.getPersistentPlayerData(), false, count); count++; } - PartyManager.saveParties(); + mcMMO.getPartyManager().saveParties(); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/NotifySquelchReminderTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/NotifySquelchReminderTask.java index 4d7b11fc6..9cb6a3be9 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/NotifySquelchReminderTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/NotifySquelchReminderTask.java @@ -1,7 +1,6 @@ package com.gmail.nossr50.runnables.commands; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; @@ -11,9 +10,9 @@ public class NotifySquelchReminderTask extends BukkitRunnable { @Override public void run() { for (Player player : Bukkit.getOnlinePlayers()) { - if(UserManager.getPlayer(player) != null) + if(mcMMO.getUserManager().getPlayer(player) != null) { - if(!UserManager.getPlayer(player).useChatNotifications()) + if(!mcMMO.getUserManager().getPlayer(player).useChatNotifications()) { player.sendMessage(LocaleLoader.getString("Reminder.Squelched")); } diff --git a/src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java b/src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java index f8b231b58..10ed3a367 100644 --- a/src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java @@ -9,7 +9,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.Misc; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.CommandSender; import org.bukkit.scheduler.BukkitRunnable; @@ -27,11 +26,11 @@ public class FormulaConversionTask extends BukkitRunnable { int convertedUsers = 0; long startMillis = System.currentTimeMillis(); for (String playerName : mcMMO.getDatabaseManager().getStoredUsers()) { - McMMOPlayer mcMMOPlayer = UserManager.getOfflinePlayer(playerName); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getOfflinePlayer(playerName); PlayerProfile profile; - // If the mcMMOPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process. - if (mcMMOPlayer == null) { + // If the mmoPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process. + if (mmoPlayer == null) { profile = mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false); if (!profile.isLoaded()) { @@ -44,7 +43,7 @@ public class FormulaConversionTask extends BukkitRunnable { profile.scheduleAsyncSave(); } else { - profile = mcMMOPlayer.getProfile(); + profile = mmoPlayer; editValues(profile); } convertedUsers++; diff --git a/src/main/java/com/gmail/nossr50/runnables/items/ChimaeraWingWarmup.java b/src/main/java/com/gmail/nossr50/runnables/items/ChimaeraWingWarmup.java index b4ae92426..943aac775 100644 --- a/src/main/java/com/gmail/nossr50/runnables/items/ChimaeraWingWarmup.java +++ b/src/main/java/com/gmail/nossr50/runnables/items/ChimaeraWingWarmup.java @@ -13,10 +13,10 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitRunnable; public class ChimaeraWingWarmup extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; - public ChimaeraWingWarmup(McMMOPlayer mcMMOPlayer) { - this.mcMMOPlayer = mcMMOPlayer; + public ChimaeraWingWarmup(McMMOPlayer mmoPlayer) { + this.mmoPlayer = mmoPlayer; } @Override @@ -25,12 +25,12 @@ public class ChimaeraWingWarmup extends BukkitRunnable { } private void checkChimaeraWingTeleport() { - Player player = mcMMOPlayer.getPlayer(); - Location previousLocation = mcMMOPlayer.getTeleportCommenceLocation(); + Player player = mmoPlayer.getPlayer(); + Location previousLocation = mmoPlayer.getTeleportCommenceLocation(); if (player.getLocation().distanceSquared(previousLocation) > 1.0 || !player.getInventory().containsAtLeast(ChimaeraWing.getChimaeraWing(0), 1)) { player.sendMessage(LocaleLoader.getString("Teleport.Cancelled")); - mcMMOPlayer.setTeleportCommenceLocation(null); + mmoPlayer.setTeleportCommenceLocation(null); return; } @@ -41,7 +41,7 @@ public class ChimaeraWingWarmup extends BukkitRunnable { return; } - long recentlyHurt = mcMMOPlayer.getRecentlyHurt(); + long recentlyHurt = mmoPlayer.getRecentlyHurtTimestamp(); int hurtCooldown = Config.getInstance().getChimaeraRecentlyHurtCooldown(); if (hurtCooldown > 0) { diff --git a/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java b/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java index d3315d4ab..299e1c629 100644 --- a/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java +++ b/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.runnables.items; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; @@ -14,25 +13,25 @@ import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; public class TeleportationWarmup extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; private final McMMOPlayer mcMMOTarget; - public TeleportationWarmup(McMMOPlayer mcMMOPlayer, McMMOPlayer mcMMOTarget) { - this.mcMMOPlayer = mcMMOPlayer; + public TeleportationWarmup(McMMOPlayer mmoPlayer, McMMOPlayer mcMMOTarget) { + this.mmoPlayer = mmoPlayer; this.mcMMOTarget = mcMMOTarget; } @Override public void run() { - Player teleportingPlayer = mcMMOPlayer.getPlayer(); + Player teleportingPlayer = mmoPlayer.getPlayer(); Player targetPlayer = mcMMOTarget.getPlayer(); - Location previousLocation = mcMMOPlayer.getTeleportCommenceLocation(); - Location newLocation = mcMMOPlayer.getPlayer().getLocation(); - long recentlyHurt = mcMMOPlayer.getRecentlyHurt(); + Location previousLocation = mmoPlayer.getTeleportCommenceLocation(); + Location newLocation = mmoPlayer.getPlayer().getLocation(); + long recentlyHurt = mmoPlayer.getRecentlyHurtTimestamp(); - mcMMOPlayer.setTeleportCommenceLocation(null); + mmoPlayer.setTeleportCommenceLocation(null); - if (!PartyManager.inSameParty(teleportingPlayer, targetPlayer)) { + if (!mcMMO.getPartyManager().inSameParty(teleportingPlayer, targetPlayer)) { teleportingPlayer.sendMessage(LocaleLoader.getString("Party.NotInYourParty", targetPlayer.getName())); return; } diff --git a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java index 31d961bf6..3390d21f0 100644 --- a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.runnables.party; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import org.bukkit.OfflinePlayer; import org.bukkit.scheduler.BukkitRunnable; @@ -23,7 +22,7 @@ public class PartyAutoKickTask extends BukkitRunnable { long currentTime = System.currentTimeMillis(); - for (Party party : PartyManager.getParties()) { + for (Party party : mcMMO.getPartyManager().getParties()) { for (UUID memberUniqueId : party.getMembers().keySet()) { OfflinePlayer member = mcMMO.p.getServer().getOfflinePlayer(memberUniqueId); boolean isProcessed = processedPlayers.contains(memberUniqueId); @@ -39,7 +38,7 @@ public class PartyAutoKickTask extends BukkitRunnable { } for (Entry entry : toRemove.entrySet()) { - PartyManager.removeFromParty(entry.getKey(), entry.getValue()); + mcMMO.getPartyManager().removeFromParty(entry.getKey(), entry.getValue()); } } } diff --git a/src/main/java/com/gmail/nossr50/runnables/party/PartyChatTask.java b/src/main/java/com/gmail/nossr50/runnables/party/PartyChatTask.java index aca2d25e1..75ee995a2 100644 --- a/src/main/java/com/gmail/nossr50/runnables/party/PartyChatTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/party/PartyChatTask.java @@ -34,17 +34,17 @@ public class PartyChatTask extends BukkitRunnable { message = message.replaceFirst(Pattern.quote(displayName), ChatColor.GOLD + Matcher.quoteReplacement(displayName) + ChatColor.RESET); } - for (Player member : party.getOnlineMembers()) { + for (Player member : party.getPartyMembers()) { member.sendMessage(message); } if (party.getAlly() != null) { - for (Player member : party.getAlly().getOnlineMembers()) { + for (Player member : party.getAlly().getPartyMembers()) { String allyPrefix = LocaleLoader.formatString(Config.getInstance().getPartyChatPrefixAlly()); member.sendMessage(allyPrefix + message); } } - plugin.getServer().getConsoleSender().sendMessage(ChatColor.stripColor("[mcMMO] [P]<" + party.getName() + ">" + message)); + plugin.getServer().getConsoleSender().sendMessage(ChatColor.stripColor("[mcMMO] [P]<" + party.getPartyName() + ">" + message)); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/player/ClearRegisteredXPGainTask.java b/src/main/java/com/gmail/nossr50/runnables/player/ClearRegisteredXPGainTask.java index 2c281ee88..b3739211a 100644 --- a/src/main/java/com/gmail/nossr50/runnables/player/ClearRegisteredXPGainTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/player/ClearRegisteredXPGainTask.java @@ -1,14 +1,13 @@ package com.gmail.nossr50.runnables.player; import com.gmail.nossr50.datatypes.player.McMMOPlayer; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.scheduler.BukkitRunnable; public class ClearRegisteredXPGainTask extends BukkitRunnable { @Override public void run() { - for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { - mcMMOPlayer.getProfile().purgeExpiredXpGains(); + for (McMMOPlayer mmoPlayer : mcMMO.getUserManager().getPlayers()) { + mmoPlayer.purgeExpiredXpGains(); } } } diff --git a/src/main/java/com/gmail/nossr50/runnables/player/PersistentPlayerDataSaveTask.java b/src/main/java/com/gmail/nossr50/runnables/player/PersistentPlayerDataSaveTask.java new file mode 100644 index 000000000..ddddeab74 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/runnables/player/PersistentPlayerDataSaveTask.java @@ -0,0 +1,18 @@ +package com.gmail.nossr50.runnables.player; + +import com.gmail.nossr50.datatypes.player.MMODataSnapshot; +import com.gmail.nossr50.mcMMO; +import org.bukkit.scheduler.BukkitRunnable; + +public class PersistentPlayerDataSaveTask extends BukkitRunnable { + private final MMODataSnapshot dataSnapshot; + + public PersistentPlayerDataSaveTask(MMODataSnapshot dataSnapshot) { + this.dataSnapshot = dataSnapshot; + } + + @Override + public void run() { + mcMMO.getDatabaseManager().saveUser(dataSnapshot); + } +} diff --git a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java index b97818ebf..1166c814c 100644 --- a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java @@ -8,7 +8,6 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.commands.McScoreboardKeepTask; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import org.bukkit.Server; import org.bukkit.entity.Player; @@ -72,10 +71,10 @@ public class PlayerProfileLoadingTask extends BukkitRunnable { } private class ApplySuccessfulProfile extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; - private ApplySuccessfulProfile(McMMOPlayer mcMMOPlayer) { - this.mcMMOPlayer = mcMMOPlayer; + private ApplySuccessfulProfile(McMMOPlayer mmoPlayer) { + this.mmoPlayer = mmoPlayer; } // Synchronized task @@ -87,9 +86,9 @@ public class PlayerProfileLoadingTask extends BukkitRunnable { return; } - mcMMOPlayer.setupPartyData(); - UserManager.track(mcMMOPlayer); - mcMMOPlayer.actualizeRespawnATS(); + mmoPlayer.setupPartyData(); + mcMMO.getUserManager().track(mmoPlayer); + mmoPlayer.actualizeRespawnATS(); if (Config.getInstance().getScoreboardsEnabled()) { ScoreboardManager.setupPlayer(player); diff --git a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileSaveTask.java b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileSaveTask.java deleted file mode 100644 index 2a6d30c69..000000000 --- a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileSaveTask.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.gmail.nossr50.runnables.player; - -import com.gmail.nossr50.datatypes.player.PlayerProfile; -import org.bukkit.scheduler.BukkitRunnable; - -public class PlayerProfileSaveTask extends BukkitRunnable { - private final PlayerProfile playerProfile; - private final boolean isSync; - - public PlayerProfileSaveTask(PlayerProfile playerProfile, boolean isSync) { - this.playerProfile = playerProfile; - this.isSync = isSync; - } - - @Override - public void run() { - playerProfile.save(isSync); - } -} diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java index 6eea6b6be..c7a5dc37c 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java @@ -7,23 +7,23 @@ import com.gmail.nossr50.util.player.NotificationManager; import org.bukkit.scheduler.BukkitRunnable; public class AbilityCooldownTask extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; private final SuperAbilityType ability; - public AbilityCooldownTask(McMMOPlayer mcMMOPlayer, SuperAbilityType ability) { - this.mcMMOPlayer = mcMMOPlayer; + public AbilityCooldownTask(McMMOPlayer mmoPlayer, SuperAbilityType ability) { + this.mmoPlayer = mmoPlayer; this.ability = ability; } @Override public void run() { - if (!mcMMOPlayer.getPlayer().isOnline() || mcMMOPlayer.getSuperAbilityManager().getAbilityInformed(ability)) { + if (!mmoPlayer.getPlayer().isOnline() || mmoPlayer.getSuperAbilityManager().getAbilityInformed(ability)) { return; } - mcMMOPlayer.getSuperAbilityManager().setAbilityInformed(ability, true); + mmoPlayer.getSuperAbilityManager().setAbilityInformed(ability, true); - NotificationManager.sendPlayerInformation(mcMMOPlayer.getPlayer(), NotificationType.ABILITY_REFRESHED, ability.getAbilityRefresh()); - //mcMMOPlayer.getPlayer().sendMessage(ability.getAbilityRefresh()); + NotificationManager.sendPlayerInformation(mmoPlayer.getPlayer(), NotificationType.ABILITY_REFRESHED, ability.getAbilityRefresh()); + //mmoPlayer.getPlayer().sendMessage(ability.getAbilityRefresh()); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java index 02ce07c38..ac0242acb 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java @@ -18,21 +18,21 @@ import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; public class AbilityDisableTask extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; private final SuperAbilityType ability; - public AbilityDisableTask(McMMOPlayer mcMMOPlayer, SuperAbilityType ability) { - this.mcMMOPlayer = mcMMOPlayer; + public AbilityDisableTask(McMMOPlayer mmoPlayer, SuperAbilityType ability) { + this.mmoPlayer = mmoPlayer; this.ability = ability; } @Override public void run() { - if (!mcMMOPlayer.getSuperAbilityManager().getAbilityMode(ability)) { + if (!mmoPlayer.getSuperAbilityManager().getAbilityMode(ability)) { return; } - Player player = mcMMOPlayer.getPlayer(); + Player player = mmoPlayer.getPlayer(); switch (ability) { case SUPER_BREAKER: @@ -52,12 +52,12 @@ public class AbilityDisableTask extends BukkitRunnable { EventUtils.callAbilityDeactivateEvent(player, ability); - mcMMOPlayer.getSuperAbilityManager().setAbilityMode(ability, false); - mcMMOPlayer.getSuperAbilityManager().setAbilityInformed(ability, false); + mmoPlayer.getSuperAbilityManager().setAbilityMode(ability, false); + mmoPlayer.getSuperAbilityManager().setAbilityInformed(ability, false); ParticleEffectUtils.playAbilityDisabledEffect(player); - if (mcMMOPlayer.useChatNotifications()) { + if (mmoPlayer.hasSkillChatNotifications()) { //player.sendMessage(ability.getAbilityOff()); NotificationManager.sendPlayerInformation(player, NotificationType.ABILITY_OFF, ability.getAbilityOff()); } @@ -65,7 +65,7 @@ public class AbilityDisableTask extends BukkitRunnable { if (AdvancedConfig.getInstance().sendAbilityNotificationToOtherPlayers()) { SkillUtils.sendSkillMessage(player, NotificationType.SUPER_ABILITY_ALERT_OTHERS, ability.getAbilityPlayerOff()); } - new AbilityCooldownTask(mcMMOPlayer, ability).runTaskLater(mcMMO.p, PerksUtils.handleCooldownPerks(player, ability.getCooldown()) * Misc.TICK_CONVERSION_FACTOR); + new AbilityCooldownTask(mmoPlayer, ability).runTaskLater(mcMMO.p, PerksUtils.handleCooldownPerks(player, ability.getCooldown()) * Misc.TICK_CONVERSION_FACTOR); } private void resendChunkRadiusAt(Player player) { diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java index 7a615bd96..b1132124b 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java @@ -9,7 +9,6 @@ import com.gmail.nossr50.skills.alchemy.Alchemy; import com.gmail.nossr50.skills.alchemy.AlchemyPotionBrewer; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.BlockState; @@ -40,9 +39,9 @@ public class AlchemyBrewTask extends BukkitRunnable { if (player != null && !Misc.isNPCEntityExcludingVillagers(player) && Permissions.isSubSkillEnabled(player, SubSkillType.ALCHEMY_CATALYSIS) - && UserManager.getPlayer(player) != null) { + && mcMMO.getUserManager().getPlayer(player) != null) { - double catalysis = UserManager.getPlayer(player).getAlchemyManager().calculateBrewSpeed(Permissions.lucky(player, PrimarySkillType.ALCHEMY)); + double catalysis = mcMMO.getUserManager().getPlayer(player).getAlchemyManager().calculateBrewSpeed(Permissions.lucky(player, PrimarySkillType.ALCHEMY)); McMMOPlayerCatalysisEvent event = new McMMOPlayerCatalysisEvent(player, catalysis); mcMMO.p.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AwardCombatXpTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AwardCombatXpTask.java index 735ed8c17..7e74dc654 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AwardCombatXpTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AwardCombatXpTask.java @@ -8,15 +8,15 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.scheduler.BukkitRunnable; public class AwardCombatXpTask extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; private final double baseXp; private final PrimarySkillType primarySkillType; private final LivingEntity target; private final XPGainReason xpGainReason; private final double baseHealth; - public AwardCombatXpTask(McMMOPlayer mcMMOPlayer, PrimarySkillType primarySkillType, double baseXp, LivingEntity target, XPGainReason xpGainReason) { - this.mcMMOPlayer = mcMMOPlayer; + public AwardCombatXpTask(McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, double baseXp, LivingEntity target, XPGainReason xpGainReason) { + this.mmoPlayer = mmoPlayer; this.primarySkillType = primarySkillType; this.baseXp = baseXp; this.target = target; @@ -39,6 +39,6 @@ public class AwardCombatXpTask extends BukkitRunnable { damage += health; } - mcMMOPlayer.beginXpGain(primarySkillType, (int) (damage * baseXp), xpGainReason, XPGainSource.SELF); + mmoPlayer.beginXpGain(primarySkillType, (int) (damage * baseXp), xpGainReason, XPGainSource.SELF); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/DelayedHerbalismXPCheckTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/DelayedHerbalismXPCheckTask.java index 3ecc03747..e2179cfb2 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/DelayedHerbalismXPCheckTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/DelayedHerbalismXPCheckTask.java @@ -8,16 +8,16 @@ import java.util.ArrayList; public class DelayedHerbalismXPCheckTask extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; private final ArrayList chorusBlocks; - public DelayedHerbalismXPCheckTask(McMMOPlayer mcMMOPlayer, ArrayList chorusBlocks) { - this.mcMMOPlayer = mcMMOPlayer; + public DelayedHerbalismXPCheckTask(McMMOPlayer mmoPlayer, ArrayList chorusBlocks) { + this.mmoPlayer = mmoPlayer; this.chorusBlocks = chorusBlocks; } @Override public void run() { - mcMMOPlayer.getHerbalismManager().awardXPForBlockSnapshots(chorusBlocks); + mmoPlayer.getHerbalismManager().awardXPForBlockSnapshots(chorusBlocks); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/ExperienceBarHideTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/ExperienceBarHideTask.java index 23e78909c..359c63cce 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/ExperienceBarHideTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/ExperienceBarHideTask.java @@ -2,18 +2,18 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; -import com.gmail.nossr50.util.experience.ExperienceBarManager; +import com.gmail.nossr50.util.experience.MMOExperienceBarManager; import org.bukkit.scheduler.BukkitRunnable; public class ExperienceBarHideTask extends BukkitRunnable { - public final McMMOPlayer mcMMOPlayer; + public final McMMOPlayer mmoPlayer; public final PrimarySkillType primarySkillType; - public final ExperienceBarManager experienceBarManagerRef; + public final MMOExperienceBarManager MMOExperienceBarManagerRef; - public ExperienceBarHideTask(ExperienceBarManager experienceBarManagerRef, McMMOPlayer mcMMOPlayer, PrimarySkillType primarySkillType) + public ExperienceBarHideTask(MMOExperienceBarManager MMOExperienceBarManagerRef, McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType) { - this.experienceBarManagerRef = experienceBarManagerRef; - this.mcMMOPlayer = mcMMOPlayer; + this.MMOExperienceBarManagerRef = MMOExperienceBarManagerRef; + this.mmoPlayer = mmoPlayer; this.primarySkillType = primarySkillType; } @@ -30,10 +30,10 @@ public class ExperienceBarHideTask extends BukkitRunnable { */ @Override public void run() { - if(experienceBarManagerRef == null || mcMMOPlayer == null) + if(MMOExperienceBarManagerRef == null || mmoPlayer == null) return; - experienceBarManagerRef.hideExperienceBar(primarySkillType); - experienceBarManagerRef.clearTask(primarySkillType); + MMOExperienceBarManagerRef.hideExperienceBar(primarySkillType); + MMOExperienceBarManagerRef.clearTask(primarySkillType); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java index 342f77162..287805b06 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java @@ -7,18 +7,18 @@ import org.bukkit.scheduler.BukkitRunnable; public class SkillUnlockNotificationTask extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; private final SubSkillType subSkillType; private final int rank; /** * Notify a player about a newly unlocked subskill - * @param mcMMOPlayer target player + * @param mmoPlayer target player * @param subSkillType the subskill that they just unlocked * @param rank the rank of the subskill */ - public SkillUnlockNotificationTask(McMMOPlayer mcMMOPlayer, SubSkillType subSkillType, int rank) + public SkillUnlockNotificationTask(McMMOPlayer mmoPlayer, SubSkillType subSkillType, int rank) { - this.mcMMOPlayer = mcMMOPlayer; + this.mmoPlayer = mmoPlayer; this.subSkillType = subSkillType; this.rank = rank; } @@ -35,7 +35,7 @@ public class SkillUnlockNotificationTask extends BukkitRunnable { */ @Override public void run() { - //mcMMOPlayer.getPlayer().sendTitle(subSkillType.getLocaleName(), "Rank "+rank, 7, 20, 7); - NotificationManager.sendPlayerUnlockNotification(mcMMOPlayer, subSkillType); + //mmoPlayer.getPlayer().sendTitle(subSkillType.getLocaleName(), "Rank "+rank, 7, 20, 7); + NotificationManager.sendPlayerUnlockNotification(mmoPlayer, subSkillType); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/ToolLowerTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/ToolLowerTask.java index e24fd4af3..20a6575bd 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/ToolLowerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/ToolLowerTask.java @@ -8,24 +8,24 @@ import com.gmail.nossr50.util.player.NotificationManager; import org.bukkit.scheduler.BukkitRunnable; public class ToolLowerTask extends BukkitRunnable { - private final McMMOPlayer mcMMOPlayer; + private final McMMOPlayer mmoPlayer; private final AbilityToolType tool; - public ToolLowerTask(McMMOPlayer mcMMOPlayer, AbilityToolType abilityToolType) { - this.mcMMOPlayer = mcMMOPlayer; + public ToolLowerTask(McMMOPlayer mmoPlayer, AbilityToolType abilityToolType) { + this.mmoPlayer = mmoPlayer; this.tool = abilityToolType; } @Override public void run() { - if (!mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(tool)) { + if (!mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(tool)) { return; } - mcMMOPlayer.getSuperAbilityManager().setAbilityToolPrime(tool, false); + mmoPlayer.getSuperAbilityManager().setAbilityToolPrime(tool, false); if (Config.getInstance().getAbilityMessagesEnabled()) { - NotificationManager.sendPlayerInformation(mcMMOPlayer.getPlayer(), NotificationType.TOOL, tool.getLowerToolLocaleKey()); + NotificationManager.sendPlayerInformation(mmoPlayer.getPlayer(), NotificationType.TOOL, tool.getLowerToolLocaleKey()); } } } diff --git a/src/main/java/com/gmail/nossr50/skills/SkillManager.java b/src/main/java/com/gmail/nossr50/skills/SkillManager.java index ccfd3fe8f..cc18c9b32 100644 --- a/src/main/java/com/gmail/nossr50/skills/SkillManager.java +++ b/src/main/java/com/gmail/nossr50/skills/SkillManager.java @@ -9,20 +9,20 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; public abstract class SkillManager { - protected McMMOPlayer mcMMOPlayer; + protected McMMOPlayer mmoPlayer; protected PrimarySkillType skill; - public SkillManager(McMMOPlayer mcMMOPlayer, PrimarySkillType skill) { - this.mcMMOPlayer = mcMMOPlayer; + public SkillManager(McMMOPlayer mmoPlayer, PrimarySkillType skill) { + this.mmoPlayer = mmoPlayer; this.skill = skill; } public Player getPlayer() { - return mcMMOPlayer.getPlayer(); + return mmoPlayer.getPlayer(); } public int getSkillLevel() { - return mcMMOPlayer.getSkillLevel(skill); + return mmoPlayer.getSkillLevel(skill); } /** @@ -33,7 +33,7 @@ public abstract class SkillManager { */ @Deprecated public void applyXpGain(float xp, XPGainReason xpGainReason) { - mcMMOPlayer.beginXpGain(skill, xp, xpGainReason, XPGainSource.SELF); + mmoPlayer.beginXpGain(skill, xp, xpGainReason, XPGainSource.SELF); } /** @@ -43,7 +43,7 @@ public abstract class SkillManager { * @param xpGainSource the source of the XP */ public void applyXpGain(float xp, XPGainReason xpGainReason, XPGainSource xpGainSource) { - mcMMOPlayer.beginXpGain(skill, xp, xpGainReason, xpGainSource); + mmoPlayer.beginXpGain(skill, xp, xpGainReason, xpGainSource); } public XPGainReason getXPGainReason(LivingEntity target, Entity damager) { diff --git a/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java b/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java index 8c5076cbf..d0cf50a5f 100644 --- a/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java +++ b/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java @@ -26,8 +26,8 @@ import org.bukkit.metadata.MetadataValue; public class AcrobaticsManager extends SkillManager { - public AcrobaticsManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.ACROBATICS); + public AcrobaticsManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.ACROBATICS); fallLocationMap = new LimitedSizeList(50); } @@ -91,11 +91,11 @@ public class AcrobaticsManager extends SkillManager { if (!isFatal(modifiedDamage) && RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.ACROBATICS_DODGE, player)) { ParticleEffectUtils.playDodgeEffect(player); - if (mcMMOPlayer.useChatNotifications()) { + if (mmoPlayer.hasSkillChatNotifications()) { NotificationManager.sendPlayerInformation(player, NotificationType.SUBSKILL_MESSAGE, "Acrobatics.Combat.Proc"); } - if (SkillUtils.cooldownExpired(mcMMOPlayer.getRespawnATS(), Misc.PLAYER_RESPAWN_COOLDOWN_SECONDS)) { + if (SkillUtils.cooldownExpired(mmoPlayer.getRespawnATS(), Misc.PLAYER_RESPAWN_COOLDOWN_SECONDS)) { if(!(attacker instanceof Player)) { //Check to see how many dodge XP rewards this mob has handed out if(attacker.hasMetadata(mcMMO.DODGE_TRACKER) && ExperienceConfig.getInstance().isAcrobaticsExploitingPrevented()) { diff --git a/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyManager.java b/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyManager.java index 01c8e7665..39bb71f91 100644 --- a/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyManager.java +++ b/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyManager.java @@ -18,8 +18,8 @@ import java.util.List; public class AlchemyManager extends SkillManager { private final double LUCKY_MODIFIER = 4.0 / 3.0; - public AlchemyManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.ALCHEMY); + public AlchemyManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.ALCHEMY); } public int getTier() { diff --git a/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java b/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java index f42584b25..c5a3eb580 100644 --- a/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java +++ b/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java @@ -9,7 +9,6 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.player.PlayerUpdateInventoryTask; import com.gmail.nossr50.runnables.skills.AlchemyBrewCheckTask; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.Material; import org.bukkit.block.BlockState; import org.bukkit.block.BrewingStand; @@ -93,12 +92,12 @@ public final class AlchemyPotionBrewer { } private static List getValidIngredients(Player player) { - if(player == null || UserManager.getPlayer(player) == null) + if(player == null || mcMMO.getUserManager().getPlayer(player) == null) { return PotionConfig.getInstance().getIngredients(1); } - return PotionConfig.getInstance().getIngredients(!Permissions.isSubSkillEnabled(player, SubSkillType.ALCHEMY_CONCOCTIONS) ? 1 : UserManager.getPlayer(player).getAlchemyManager().getTier()); + return PotionConfig.getInstance().getIngredients(!Permissions.isSubSkillEnabled(player, SubSkillType.ALCHEMY_CONCOCTIONS) ? 1 : mcMMO.getUserManager().getPlayer(player).getAlchemyManager().getTier()); } public static void finishBrewing(BlockState brewingStand, Player player, boolean forced) { @@ -148,8 +147,8 @@ public final class AlchemyPotionBrewer { PotionStage potionStage = PotionStage.getPotionStage(input, output); //TODO: hmm - if (UserManager.hasPlayerDataKey(player)) { - UserManager.getPlayer(player).getAlchemyManager().handlePotionBrewSuccesses(potionStage, 1); + if (mcMMO.getUserManager().hasPlayerDataKey(player)) { + mcMMO.getUserManager().getPlayer(player).getAlchemyManager().handlePotionBrewSuccesses(potionStage, 1); } } } diff --git a/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java b/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java index 91f9f9588..96545f857 100644 --- a/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java +++ b/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java @@ -21,8 +21,8 @@ import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; public class ArcheryManager extends SkillManager { - public ArcheryManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.ARCHERY); + public ArcheryManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.ARCHERY); } public boolean canDaze(LivingEntity target) { @@ -100,7 +100,7 @@ public class ArcheryManager extends SkillManager { NotificationManager.sendPlayerInformation(defender, NotificationType.SUBSKILL_MESSAGE, "Combat.TouchedFuzzy"); } - if (mcMMOPlayer.useChatNotifications()) { + if (mmoPlayer.hasSkillChatNotifications()) { NotificationManager.sendPlayerInformation(getPlayer(), NotificationType.SUBSKILL_MESSAGE, "Combat.TargetDazed"); } diff --git a/src/main/java/com/gmail/nossr50/skills/axes/AxesManager.java b/src/main/java/com/gmail/nossr50/skills/axes/AxesManager.java index ebae514dd..b5aa57714 100644 --- a/src/main/java/com/gmail/nossr50/skills/axes/AxesManager.java +++ b/src/main/java/com/gmail/nossr50/skills/axes/AxesManager.java @@ -21,8 +21,8 @@ import org.bukkit.inventory.ItemStack; import java.util.Map; public class AxesManager extends SkillManager { - public AxesManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.AXES); + public AxesManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.AXES); } public boolean canUseAxeMastery() { @@ -57,18 +57,18 @@ public class AxesManager extends SkillManager { if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.AXES_SKULL_SPLITTER)) return false; - return target.isValid() && mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SKULL_SPLITTER) && Permissions.skullSplitter(getPlayer()); + return target.isValid() && mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SKULL_SPLITTER) && Permissions.skullSplitter(getPlayer()); } public boolean canActivateAbility() { - return mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.SKULL_SPLITTER_TOOL) && Permissions.skullSplitter(getPlayer()); + return mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.SKULL_SPLITTER_TOOL) && Permissions.skullSplitter(getPlayer()); } /** * Handle the effects of the Axe Mastery ability */ public double axeMastery() { - if (!RandomChanceUtil.isActivationSuccessful(SkillActivationType.ALWAYS_FIRES, SubSkillType.AXES_AXE_MASTERY, getPlayer(), mcMMOPlayer.getAttackStrength())) { + if (!RandomChanceUtil.isActivationSuccessful(SkillActivationType.ALWAYS_FIRES, SubSkillType.AXES_AXE_MASTERY, getPlayer(), mmoPlayer.getAttackStrength())) { return 0; } @@ -82,13 +82,13 @@ public class AxesManager extends SkillManager { * @param damage The amount of damage initially dealt by the event */ public double criticalHit(LivingEntity target, double damage) { - if (!RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.AXES_CRITICAL_STRIKES, getPlayer(), mcMMOPlayer.getAttackStrength())) { + if (!RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.AXES_CRITICAL_STRIKES, getPlayer(), mmoPlayer.getAttackStrength())) { return 0; } Player player = getPlayer(); - if (mcMMOPlayer.useChatNotifications()) { + if (mmoPlayer.hasSkillChatNotifications()) { NotificationManager.sendPlayerInformation(player, NotificationType.SUBSKILL_MESSAGE, "Axes.Combat.CriticalHit"); } @@ -118,7 +118,7 @@ public class AxesManager extends SkillManager { for (ItemStack armor : target.getEquipment().getArmorContents()) { if (armor != null && ItemUtils.isArmor(armor)) { - if (RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_STATIC_CHANCE, SubSkillType.AXES_ARMOR_IMPACT, getPlayer(), mcMMOPlayer.getAttackStrength())) { + if (RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_STATIC_CHANCE, SubSkillType.AXES_ARMOR_IMPACT, getPlayer(), mmoPlayer.getAttackStrength())) { SkillUtils.handleDurabilityChange(armor, durabilityDamage, 1); } } @@ -136,7 +136,7 @@ public class AxesManager extends SkillManager { */ public double greaterImpact(LivingEntity target) { //static chance (3rd param) - if (!RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_STATIC_CHANCE, SubSkillType.AXES_GREATER_IMPACT, getPlayer(), mcMMOPlayer.getAttackStrength())) { + if (!RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_STATIC_CHANCE, SubSkillType.AXES_GREATER_IMPACT, getPlayer(), mmoPlayer.getAttackStrength())) { return 0; } @@ -145,7 +145,7 @@ public class AxesManager extends SkillManager { ParticleEffectUtils.playGreaterImpactEffect(target); target.setVelocity(player.getLocation().getDirection().normalize().multiply(Axes.greaterImpactKnockbackMultiplier)); - if (mcMMOPlayer.useChatNotifications()) { + if (mmoPlayer.hasSkillChatNotifications()) { NotificationManager.sendPlayerInformation(player, NotificationType.SUBSKILL_MESSAGE, "Axes.Combat.GI.Proc"); } diff --git a/src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowManager.java b/src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowManager.java index 65fbe18b2..653b40645 100644 --- a/src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowManager.java +++ b/src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowManager.java @@ -19,8 +19,8 @@ import org.bukkit.util.Vector; import org.jetbrains.annotations.NotNull; public class CrossbowManager extends SkillManager { - public CrossbowManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.CROSSBOWS); + public CrossbowManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.CROSSBOWS); } private static final int SPREAD_VALUE = 12; @@ -52,8 +52,8 @@ public class CrossbowManager extends SkillManager { */ public void processProjectileLaunchEvent(ProjectileLaunchEvent projectileLaunchEvent) { //Testing - if(Permissions.isSubSkillEnabled(mcMMOPlayer.getPlayer(), SubSkillType.CROSSBOWS_SUPER_SHOTGUN)) { - if(RankUtils.hasUnlockedSubskill(mcMMOPlayer.getPlayer(), SubSkillType.CROSSBOWS_SUPER_SHOTGUN)) { + if(Permissions.isSubSkillEnabled(mmoPlayer.getPlayer(), SubSkillType.CROSSBOWS_SUPER_SHOTGUN)) { + if(RankUtils.hasUnlockedSubskill(mmoPlayer.getPlayer(), SubSkillType.CROSSBOWS_SUPER_SHOTGUN)) { superShotgunProcessing(projectileLaunchEvent); } } @@ -79,7 +79,7 @@ public class CrossbowManager extends SkillManager { } public int getSuperShotgunAdditionalArrowCount() { - switch(RankUtils.getRank(mcMMOPlayer.getPlayer(), SubSkillType.CROSSBOWS_SUPER_SHOTGUN)) { + switch(RankUtils.getRank(mmoPlayer.getPlayer(), SubSkillType.CROSSBOWS_SUPER_SHOTGUN)) { case 1: return 9; case 2: @@ -95,7 +95,7 @@ public class CrossbowManager extends SkillManager { private void spawnTrackedProjectile(@NotNull Projectile originProjectile, World world, float originProjectileMagnitude, Vector additionalProjectileVectorA, int spreadValue) { Projectile spawnedProjectile = world.spawnArrow(originProjectile.getLocation(), additionalProjectileVectorA, originProjectileMagnitude, spreadValue); - spawnedProjectile.setShooter(mcMMOPlayer.getPlayer()); + spawnedProjectile.setShooter(mmoPlayer.getPlayer()); mcMMO.getSpawnedProjectileTracker().trackProjectile(spawnedProjectile); } diff --git a/src/main/java/com/gmail/nossr50/skills/excavation/ExcavationManager.java b/src/main/java/com/gmail/nossr50/skills/excavation/ExcavationManager.java index e2d259310..e652a1c75 100644 --- a/src/main/java/com/gmail/nossr50/skills/excavation/ExcavationManager.java +++ b/src/main/java/com/gmail/nossr50/skills/excavation/ExcavationManager.java @@ -21,8 +21,8 @@ import org.bukkit.entity.Player; import java.util.List; public class ExcavationManager extends SkillManager { - public ExcavationManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.EXCAVATION); + public ExcavationManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.EXCAVATION); } /** diff --git a/src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java b/src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java index 5c3de0452..e8dcebc23 100644 --- a/src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java @@ -57,8 +57,8 @@ public class FishingManager extends SkillManager { private Location hookLocation; private int fishCaughtCounter = 1; - public FishingManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.FISHING); + public FishingManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.FISHING); } public boolean canShake(Entity target) { diff --git a/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java b/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java index 544c693a5..a425f6f86 100644 --- a/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java +++ b/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java @@ -45,8 +45,8 @@ import java.util.HashSet; import java.util.List; public class HerbalismManager extends SkillManager { - public HerbalismManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.HERBALISM); + public HerbalismManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.HERBALISM); } public boolean canGreenThumbBlock(BlockState blockState) { @@ -78,15 +78,15 @@ public class HerbalismManager extends SkillManager { } public boolean canGreenTerraBlock(BlockState blockState) { - return mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA) && BlockUtils.canMakeMossy(blockState); + return mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA) && BlockUtils.canMakeMossy(blockState); } public boolean canActivateAbility() { - return mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.GREEN_TERRA_TOOL) && Permissions.greenTerra(getPlayer()); + return mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.GREEN_TERRA_TOOL) && Permissions.greenTerra(getPlayer()); } public boolean isGreenTerraActive() { - return mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA); + return mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA); } /** @@ -240,7 +240,7 @@ public class HerbalismManager extends SkillManager { if(delayedChorusBlocks.size() > 0) { //Check XP for chorus blocks - DelayedHerbalismXPCheckTask delayedHerbalismXPCheckTask = new DelayedHerbalismXPCheckTask(mcMMOPlayer, delayedChorusBlocks); + DelayedHerbalismXPCheckTask delayedHerbalismXPCheckTask = new DelayedHerbalismXPCheckTask(mmoPlayer, delayedChorusBlocks); //Large delay because the tree takes a while to break delayedHerbalismXPCheckTask.runTaskLater(mcMMO.p, 20); //Calculate Chorus XP + Bonus Drops 1 tick later @@ -328,7 +328,7 @@ public class HerbalismManager extends SkillManager { public void markForBonusDrops(BlockState brokenPlantState) { //Add metadata to mark this block for double or triple drops - boolean awardTriple = mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA); + boolean awardTriple = mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.GREEN_TERRA); BlockUtils.markDropsAsBonus(brokenPlantState, awardTriple); } @@ -385,8 +385,8 @@ public class HerbalismManager extends SkillManager { } } - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage("Plants processed: "+brokenPlants.size()); + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage("Plants processed: "+brokenPlants.size()); } //Reward XP @@ -436,9 +436,9 @@ public class HerbalismManager extends SkillManager { } } - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage("Chorus Plants checked for XP: "+brokenPlants.size()); - mcMMOPlayer.getPlayer().sendMessage("Valid Chorus Plant XP Gains: "+blocksGivingXP); + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage("Chorus Plants checked for XP: "+brokenPlants.size()); + mmoPlayer.getPlayer().sendMessage("Valid Chorus Plant XP Gains: "+blocksGivingXP); } //Reward XP diff --git a/src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java b/src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java index 4ca7756d2..624c685a2 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.skills.mining; import com.gmail.nossr50.config.AdvancedConfig; import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.RankUtils; import org.bukkit.entity.Player; import org.bukkit.entity.TNTPrimed; @@ -92,7 +91,7 @@ public class BlastMining { } public static boolean processBlastMiningExplosion(EntityDamageByEntityEvent event, TNTPrimed tnt, Player defender) { - if (!tnt.hasMetadata(mcMMO.tntMetadataKey) || !UserManager.hasPlayerDataKey(defender)) { + if (!tnt.hasMetadata(mcMMO.tntMetadataKey) || !mcMMO.getUserManager().hasPlayerDataKey(defender)) { return false; } @@ -103,12 +102,12 @@ public class BlastMining { return false; } - if(UserManager.getPlayer(defender) == null) + if(mcMMO.getUserManager().getPlayer(defender) == null) { return false; } - MiningManager miningManager = UserManager.getPlayer(defender).getMiningManager(); + MiningManager miningManager = mcMMO.getUserManager().getPlayer(defender).getMiningManager(); if (!miningManager.canUseDemolitionsExpertise()) { return false; diff --git a/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java b/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java index 4ade3c6a4..19e8507d9 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java @@ -32,8 +32,8 @@ import java.util.ArrayList; import java.util.List; public class MiningManager extends SkillManager { - public MiningManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.MINING); + public MiningManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.MINING); } public boolean canUseDemolitionsExpertise() { @@ -81,7 +81,7 @@ public class MiningManager extends SkillManager { return; } - if (mcMMOPlayer.getSuperAbilityManager().getAbilityMode(skill.getSuperAbilityType())) { + if (mmoPlayer.getSuperAbilityManager().getAbilityMode(skill.getSuperAbilityType())) { SkillUtils.handleDurabilityChange(getPlayer().getInventory().getItemInMainHand(), Config.getInstance().getAbilityToolDamage()); } @@ -95,7 +95,7 @@ public class MiningManager extends SkillManager { //TODO: Make this readable if (RandomChanceUtil.checkRandomChanceExecutionSuccess(getPlayer(), SubSkillType.MINING_DOUBLE_DROPS, true)) { - BlockUtils.markDropsAsBonus(blockState, mcMMOPlayer.getSuperAbilityManager().getAbilityMode(skill.getSuperAbilityType())); + BlockUtils.markDropsAsBonus(blockState, mmoPlayer.getSuperAbilityManager().getAbilityMode(skill.getSuperAbilityType())); } } @@ -117,13 +117,13 @@ public class MiningManager extends SkillManager { NotificationManager.sendPlayerInformation(player, NotificationType.SUPER_ABILITY, "Mining.Blast.Boom"); //player.sendMessage(LocaleLoader.getString("Mining.Blast.Boom")); - tnt.setMetadata(mcMMO.tntMetadataKey, mcMMOPlayer.getPlayerMetadata()); + tnt.setMetadata(mcMMO.tntMetadataKey, mmoPlayer.getPlayerMetadata()); tnt.setFuseTicks(0); targetBlock.setType(Material.AIR); - mcMMOPlayer.setAbilityDATS(SuperAbilityType.BLAST_MINING, System.currentTimeMillis()); - mcMMOPlayer.getSuperAbilityManager().setAbilityInformed(SuperAbilityType.BLAST_MINING, false); - new AbilityCooldownTask(mcMMOPlayer, SuperAbilityType.BLAST_MINING).runTaskLater(mcMMO.p, SuperAbilityType.BLAST_MINING.getCooldown() * Misc.TICK_CONVERSION_FACTOR); + mmoPlayer.getPersistentPlayerData().setAbilityDATS(SuperAbilityType.BLAST_MINING, System.currentTimeMillis()); + mmoPlayer.getSuperAbilityManager().setAbilityInformed(SuperAbilityType.BLAST_MINING, false); + new AbilityCooldownTask(mmoPlayer, SuperAbilityType.BLAST_MINING).runTaskLater(mcMMO.p, SuperAbilityType.BLAST_MINING.getCooldown() * Misc.TICK_CONVERSION_FACTOR); } /** @@ -309,7 +309,7 @@ public class MiningManager extends SkillManager { } private boolean blastMiningCooldownOver() { - int timeRemaining = mcMMOPlayer.calculateTimeRemaining(SuperAbilityType.BLAST_MINING); + int timeRemaining = mmoPlayer.calculateTimeRemaining(SuperAbilityType.BLAST_MINING); if (timeRemaining > 0) { //getPlayer().sendMessage(LocaleLoader.getString("Skills.TooTired", timeRemaining)); diff --git a/src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java b/src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java index 910c3f5bf..0b15f4eb8 100644 --- a/src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java +++ b/src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java @@ -37,8 +37,8 @@ public class RepairManager extends SkillManager { private boolean placedAnvil; private int lastClick; - public RepairManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.REPAIR); + public RepairManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.REPAIR); } /** diff --git a/src/main/java/com/gmail/nossr50/skills/salvage/SalvageManager.java b/src/main/java/com/gmail/nossr50/skills/salvage/SalvageManager.java index cb4374b5a..43d84bbc2 100644 --- a/src/main/java/com/gmail/nossr50/skills/salvage/SalvageManager.java +++ b/src/main/java/com/gmail/nossr50/skills/salvage/SalvageManager.java @@ -36,8 +36,8 @@ public class SalvageManager extends SkillManager { private boolean placedAnvil; private int lastClick; - public SalvageManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.SALVAGE); + public SalvageManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.SALVAGE); } /** diff --git a/src/main/java/com/gmail/nossr50/skills/smelting/SmeltingManager.java b/src/main/java/com/gmail/nossr50/skills/smelting/SmeltingManager.java index 9d622ea62..cc37fb9e8 100644 --- a/src/main/java/com/gmail/nossr50/skills/smelting/SmeltingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/smelting/SmeltingManager.java @@ -15,8 +15,8 @@ import org.bukkit.event.inventory.FurnaceBurnEvent; import org.bukkit.inventory.ItemStack; public class SmeltingManager extends SkillManager { - public SmeltingManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.SMELTING); + public SmeltingManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.SMELTING); } /*public boolean canUseFluxMining(BlockState blockState) { diff --git a/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java b/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java index f563a8b5d..dfd397414 100644 --- a/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java +++ b/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java @@ -24,12 +24,12 @@ import org.bukkit.inventory.ItemStack; import java.util.Map; public class SwordsManager extends SkillManager { - public SwordsManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.SWORDS); + public SwordsManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.SWORDS); } public boolean canActivateAbility() { - return mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.SERRATED_STRIKES_TOOL) && Permissions.serratedStrikes(getPlayer()); + return mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.SERRATED_STRIKES_TOOL) && Permissions.serratedStrikes(getPlayer()); } public boolean canUseStab() { @@ -51,7 +51,7 @@ public class SwordsManager extends SkillManager { if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.SWORDS_SERRATED_STRIKES)) return false; - return mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SERRATED_STRIKES); + return mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SERRATED_STRIKES); } /** @@ -60,7 +60,7 @@ public class SwordsManager extends SkillManager { * @param target The defending entity */ public void ruptureCheck(LivingEntity target) { - if (RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.SWORDS_RUPTURE, getPlayer(), this.mcMMOPlayer.getAttackStrength())) { + if (RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.SWORDS_RUPTURE, getPlayer(), this.mmoPlayer.getAttackStrength())) { if (target instanceof Player) { Player defender = (Player) target; @@ -77,7 +77,7 @@ public class SwordsManager extends SkillManager { BleedTimerTask.add(target, getPlayer(), getRuptureBleedTicks(), RankUtils.getRank(getPlayer(), SubSkillType.SWORDS_RUPTURE), getToolTier(getPlayer().getInventory().getItemInMainHand())); - if (mcMMOPlayer.useChatNotifications()) { + if (mmoPlayer.hasSkillChatNotifications()) { NotificationManager.sendPlayerInformation(getPlayer(), NotificationType.SUBSKILL_MESSAGE, "Swords.Combat.Bleeding"); } } diff --git a/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java b/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java index 2627b93c4..9471cfd37 100644 --- a/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java @@ -43,8 +43,8 @@ public class TamingManager extends SkillManager { private HashMap> playerSummonedEntities; - public TamingManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.TAMING); + public TamingManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.TAMING); init(); } diff --git a/src/main/java/com/gmail/nossr50/skills/tridents/TridentManager.java b/src/main/java/com/gmail/nossr50/skills/tridents/TridentManager.java index 9ddb8326f..9052d56e1 100644 --- a/src/main/java/com/gmail/nossr50/skills/tridents/TridentManager.java +++ b/src/main/java/com/gmail/nossr50/skills/tridents/TridentManager.java @@ -5,8 +5,8 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.skills.SkillManager; public class TridentManager extends SkillManager { - public TridentManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.TRIDENTS); + public TridentManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.TRIDENTS); } diff --git a/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java b/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java index bc49d2651..098ffe3f5 100644 --- a/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java +++ b/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java @@ -14,7 +14,6 @@ import com.gmail.nossr50.util.ItemUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.random.RandomChanceUtil; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillActivationType; @@ -27,12 +26,12 @@ import org.bukkit.inventory.ItemStack; public class UnarmedManager extends SkillManager { - public UnarmedManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.UNARMED); + public UnarmedManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.UNARMED); } public boolean canActivateAbility() { - return mcMMOPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.BERSERK_TOOL) && Permissions.berserk(getPlayer()); + return mmoPlayer.getSuperAbilityManager().isAbilityToolPrimed(AbilityToolType.BERSERK_TOOL) && Permissions.berserk(getPlayer()); } public boolean canUseIronArm() { @@ -43,7 +42,7 @@ public class UnarmedManager extends SkillManager { } public boolean canUseBerserk() { - return mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK); + return mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.BERSERK); } public boolean canDisarm(LivingEntity target) { @@ -101,18 +100,18 @@ public class UnarmedManager extends SkillManager { * @param defender The defending player */ public void disarmCheck(Player defender) { - if (RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.UNARMED_DISARM, getPlayer(), mcMMOPlayer.getAttackStrength()) && !hasIronGrip(defender)) { + if (RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.UNARMED_DISARM, getPlayer(), mmoPlayer.getAttackStrength()) && !hasIronGrip(defender)) { if (EventUtils.callDisarmEvent(defender).isCancelled()) { return; } - if(UserManager.getPlayer(defender) == null) + if(mcMMO.getUserManager().getPlayer(defender) == null) return; Item item = Misc.dropItem(defender.getLocation(), defender.getInventory().getItemInMainHand()); if (item != null && AdvancedConfig.getInstance().getDisarmProtected()) { - item.setMetadata(mcMMO.disarmedItemKey, UserManager.getPlayer(defender).getPlayerMetadata()); + item.setMetadata(mcMMO.disarmedItemKey, mcMMO.getUserManager().getPlayer(defender).getPlayerMetadata()); } defender.getInventory().setItemInMainHand(new ItemStack(Material.AIR)); @@ -138,7 +137,7 @@ public class UnarmedManager extends SkillManager { * @param damage The amount of damage initially dealt by the event */ public double berserkDamage(double damage) { - damage = ((damage * Unarmed.berserkDamageModifier) * mcMMOPlayer.getAttackStrength()) - damage; + damage = ((damage * Unarmed.berserkDamageModifier) * mmoPlayer.getAttackStrength()) - damage; return damage; } diff --git a/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java b/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java index a6725550b..371a84e5b 100644 --- a/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java @@ -48,8 +48,8 @@ public class WoodcuttingManager extends SkillManager { new int[] { 2, -1}, new int[] { 2, 0}, new int[] { 2, 1}, }; - public WoodcuttingManager(McMMOPlayer mcMMOPlayer) { - super(mcMMOPlayer, PrimarySkillType.WOODCUTTING); + public WoodcuttingManager(McMMOPlayer mmoPlayer) { + super(mmoPlayer, PrimarySkillType.WOODCUTTING); treeFellerThreshold = Config.getInstance().getTreeFellerThreshold(); } @@ -60,7 +60,7 @@ public class WoodcuttingManager extends SkillManager { } public boolean canUseTreeFeller(ItemStack heldItem) { - return mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.TREE_FELLER) + return mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.TREE_FELLER) && ItemUtils.isAxe(heldItem); } diff --git a/src/main/java/com/gmail/nossr50/util/ChimaeraWing.java b/src/main/java/com/gmail/nossr50/util/ChimaeraWing.java index c1bccbca2..3591edba0 100644 --- a/src/main/java/com/gmail/nossr50/util/ChimaeraWing.java +++ b/src/main/java/com/gmail/nossr50/util/ChimaeraWing.java @@ -7,7 +7,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.items.ChimaeraWingWarmup; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.CombatUtils; import com.gmail.nossr50.util.skills.SkillUtils; import com.gmail.nossr50.util.sounds.SoundManager; @@ -26,7 +25,7 @@ import java.util.ArrayList; import java.util.List; public final class ChimaeraWing { - private static McMMOPlayer mcMMOPlayer; + private static McMMOPlayer mmoPlayer; private static Location location; private ChimaeraWing() {} @@ -52,13 +51,13 @@ public final class ChimaeraWing { return; } - mcMMOPlayer = UserManager.getPlayer(player); + mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Not loaded - if(mcMMOPlayer == null) + if(mmoPlayer == null) return; - if (mcMMOPlayer.getTeleportCommenceLocation() != null) { + if (mmoPlayer.getTeleportCommenceLocation() != null) { return; } @@ -69,7 +68,7 @@ public final class ChimaeraWing { return; } - long lastTeleport = mcMMOPlayer.getChimeraWingLastUse(); + long lastTeleport = mmoPlayer.getChimeraWingLastUse(); int cooldown = Config.getInstance().getChimaeraCooldown(); if (cooldown > 0) { @@ -81,7 +80,7 @@ public final class ChimaeraWing { } } - long recentlyHurt = mcMMOPlayer.getRecentlyHurt(); + long recentlyHurt = mmoPlayer.getRecentlyHurtTimestamp(); int hurtCooldown = Config.getInstance().getChimaeraRecentlyHurtCooldown(); if (hurtCooldown > 0) { @@ -102,18 +101,18 @@ public final class ChimaeraWing { player.updateInventory(); player.setVelocity(new Vector(0, 0.5D, 0)); CombatUtils.dealDamage(player, Misc.getRandom().nextInt((int) (player.getHealth() - 10))); - mcMMOPlayer.actualizeChimeraWingLastUse(); + mmoPlayer.actualizeChimeraWingLastUse(); return; } } - mcMMOPlayer.actualizeTeleportCommenceLocation(player); + mmoPlayer.actualizeTeleportCommenceLocation(player); long warmup = Config.getInstance().getChimaeraWarmup(); if (warmup > 0) { NotificationManager.sendPlayerInformation(player, NotificationType.ITEM_MESSAGE, "Teleport.Commencing", String.valueOf(warmup)); - new ChimaeraWingWarmup(mcMMOPlayer).runTaskLater(mcMMO.p, 20 * warmup); + new ChimaeraWingWarmup(mmoPlayer).runTaskLater(mcMMO.p, 20 * warmup); } else { chimaeraExecuteTeleport(); @@ -121,7 +120,7 @@ public final class ChimaeraWing { } public static void chimaeraExecuteTeleport() { - Player player = mcMMOPlayer.getPlayer(); + Player player = mmoPlayer.getPlayer(); if (Config.getInstance().getChimaeraUseBedSpawn() && player.getBedSpawnLocation() != null) { player.teleport(player.getBedSpawnLocation()); @@ -138,8 +137,8 @@ public final class ChimaeraWing { player.getInventory().setItemInMainHand(new ItemStack(getChimaeraWing(player.getInventory().getItemInMainHand().getAmount() - Config.getInstance().getChimaeraUseCost()))); player.updateInventory(); - mcMMOPlayer.actualizeChimeraWingLastUse(); - mcMMOPlayer.setTeleportCommenceLocation(null); + mmoPlayer.actualizeChimeraWingLastUse(); + mmoPlayer.setTeleportCommenceLocation(null); if (Config.getInstance().getChimaeraSoundEnabled()) { SoundManager.sendSound(player, location, SoundType.CHIMAERA_WING); diff --git a/src/main/java/com/gmail/nossr50/util/EventUtils.java b/src/main/java/com/gmail/nossr50/util/EventUtils.java index 2793a446e..32c4d9889 100644 --- a/src/main/java/com/gmail/nossr50/util/EventUtils.java +++ b/src/main/java/com/gmail/nossr50/util/EventUtils.java @@ -31,7 +31,6 @@ import com.gmail.nossr50.events.skills.secondaryabilities.SubSkillEvent; import com.gmail.nossr50.events.skills.unarmed.McMMOPlayerDisarmEvent; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.CombatUtils; import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; @@ -73,7 +72,7 @@ public class EventUtils { */ public static McMMOPlayer getMcMMOPlayer(Entity entity) { - return UserManager.getPlayer((Player)entity); + return mcMMO.getUserManager().getPlayer((Player)entity); } /** @@ -117,19 +116,19 @@ public class EventUtils { if (livingEntity instanceof Player) { Player player = (Player) entity; - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return true; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - if(mcMMOPlayer == null) + if(mmoPlayer == null) { return true; } /* Check for invincibility */ - if (mcMMOPlayer.getGodMode()) { + if (mmoPlayer.getGodMode()) { entityDamageEvent.setCancelled(true); return false; } @@ -199,7 +198,7 @@ public class EventUtils { boolean isCancelled = event.isCancelled(); if (isCancelled) { - PlayerProfile profile = UserManager.getPlayer(player).getProfile(); + PlayerProfile profile = mcMMO.getUserManager().getPlayer(player); profile.modifySkill(skill, profile.getSkillLevel(skill) - (isLevelUp ? levelsChanged : -levelsChanged)); profile.addXp(skill, xpRemoved); @@ -215,7 +214,7 @@ public class EventUtils { boolean isCancelled = event.isCancelled(); if (isCancelled) { - PlayerProfile profile = UserManager.getPlayer(player).getProfile(); + PlayerProfile profile = mcMMO.getUserManager().getPlayer(player); profile.modifySkill(skill, profile.getSkillLevel(skill) - (isLevelUp ? levelsChanged : -levelsChanged)); profile.addXp(skill, xpRemoved); @@ -250,12 +249,12 @@ public class EventUtils { } public static void handlePartyTeleportEvent(Player teleportingPlayer, Player targetPlayer) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(teleportingPlayer); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(teleportingPlayer); - if(mcMMOPlayer == null) + if(mmoPlayer == null) return; - McMMOPartyTeleportEvent event = new McMMOPartyTeleportEvent(teleportingPlayer, targetPlayer, mcMMOPlayer.getParty().getName()); + McMMOPartyTeleportEvent event = new McMMOPartyTeleportEvent(teleportingPlayer, targetPlayer, mmoPlayer.getParty().getName()); mcMMO.p.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -267,7 +266,7 @@ public class EventUtils { teleportingPlayer.sendMessage(LocaleLoader.getString("Party.Teleport.Player", targetPlayer.getName())); targetPlayer.sendMessage(LocaleLoader.getString("Party.Teleport.Target", teleportingPlayer.getName())); - mcMMOPlayer.getPartyTeleportRecord().actualizeLastUse(); + mmoPlayer.getPartyTeleportRecord().actualizeLastUse(); } public static boolean handlePartyXpGainEvent(Party party, float xpGained) { @@ -305,15 +304,15 @@ public class EventUtils { boolean isCancelled = event.isCancelled(); if (!isCancelled) { - UserManager.getPlayer(player).addXp(skill, event.getRawXpGained()); - UserManager.getPlayer(player).getProfile().registerXpGain(skill, event.getRawXpGained()); + mcMMO.getUserManager().getPlayer(player).addXp(skill, event.getRawXpGained()); + mcMMO.getUserManager().getPlayer(player).registerXpGain(skill, event.getRawXpGained()); } return !isCancelled; } public static boolean handleStatsLossEvent(Player player, HashMap levelChanged, HashMap experienceChanged) { - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return true; McMMOPlayerStatLossEvent event = new McMMOPlayerStatLossEvent(player, levelChanged, experienceChanged); @@ -324,7 +323,7 @@ public class EventUtils { if (!isCancelled) { levelChanged = event.getLevelChanged(); experienceChanged = event.getExperienceChanged(); - PlayerProfile playerProfile = UserManager.getPlayer(player).getProfile(); + PlayerProfile playerProfile = mcMMO.getUserManager().getPlayer(player); for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) { String skillName = primarySkillType.toString(); @@ -361,17 +360,17 @@ public class EventUtils { HashMap levelChangedVictim = eventVictim.getLevelChanged(); HashMap experienceChangedVictim = eventVictim.getExperienceChanged(); - McMMOPlayer killerPlayer = UserManager.getPlayer(killer); + McMMOPlayer killerPlayer = mcMMO.getUserManager().getPlayer(killer); //Not loaded if(killerPlayer == null) return true; //Not loaded - if(UserManager.getPlayer(victim) == null) + if(mcMMO.getUserManager().getPlayer(victim) == null) return true; - PlayerProfile victimProfile = UserManager.getPlayer(victim).getProfile(); + PlayerProfile victimProfile = mcMMO.getUserManager().getPlayer(victim); for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) { String skillName = primarySkillType.toString(); diff --git a/src/main/java/com/gmail/nossr50/util/HardcoreManager.java b/src/main/java/com/gmail/nossr50/util/HardcoreManager.java index 9956a614d..2e75a42ce 100644 --- a/src/main/java/com/gmail/nossr50/util/HardcoreManager.java +++ b/src/main/java/com/gmail/nossr50/util/HardcoreManager.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.worldguard.WorldGuardManager; import com.gmail.nossr50.worldguard.WorldGuardUtils; import org.bukkit.entity.Player; @@ -25,10 +24,10 @@ public final class HardcoreManager { double statLossPercentage = Config.getInstance().getHardcoreDeathStatPenaltyPercentage(); int levelThreshold = Config.getInstance().getHardcoreDeathStatPenaltyLevelThreshold(); - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return; - PlayerProfile playerProfile = UserManager.getPlayer(player).getProfile(); + PlayerProfile playerProfile = mcMMO.getUserManager().getPlayer(player); int totalLevelsLost = 0; HashMap levelChanged = new HashMap<>(); @@ -76,11 +75,11 @@ public final class HardcoreManager { double vampirismStatLeechPercentage = Config.getInstance().getHardcoreVampirismStatLeechPercentage(); int levelThreshold = Config.getInstance().getHardcoreVampirismLevelThreshold(); - if(UserManager.getPlayer(killer) == null || UserManager.getPlayer(victim) == null) + if(mcMMO.getUserManager().getPlayer(killer) == null || mcMMO.getUserManager().getPlayer(victim) == null) return; - PlayerProfile killerProfile = UserManager.getPlayer(killer).getProfile(); - PlayerProfile victimProfile = UserManager.getPlayer(victim).getProfile(); + PlayerProfile killerProfile = mcMMO.getUserManager().getPlayer(killer); + PlayerProfile victimProfile = mcMMO.getUserManager().getPlayer(victim); int totalLevelsStolen = 0; HashMap levelChanged = new HashMap<>(); diff --git a/src/main/java/com/gmail/nossr50/util/HolidayManager.java b/src/main/java/com/gmail/nossr50/util/HolidayManager.java index bf312524b..a9bea3d2c 100644 --- a/src/main/java/com/gmail/nossr50/util/HolidayManager.java +++ b/src/main/java/com/gmail/nossr50/util/HolidayManager.java @@ -8,7 +8,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.util.sounds.SoundType; import com.google.common.collect.ImmutableList; @@ -368,7 +367,7 @@ public final class HolidayManager { if(!Config.getInstance().isAprilFoolsAllowed()) return; - final McMMOPlayer mmoPlayer = UserManager.getPlayer(player); + final McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); if (mmoPlayer == null) return; int levelTotal = Misc.getRandom().nextInt(1 + mmoPlayer.getSkillLevel(PrimarySkillType.MINING)) + 1; diff --git a/src/main/java/com/gmail/nossr50/util/Misc.java b/src/main/java/com/gmail/nossr50/util/Misc.java index 7346f42f1..d857d4d36 100644 --- a/src/main/java/com/gmail/nossr50/util/Misc.java +++ b/src/main/java/com/gmail/nossr50/util/Misc.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.util; import com.gmail.nossr50.events.items.McMMOItemSpawnEvent; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.player.PlayerProfileLoadingTask; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableSet; import org.bukkit.Location; import org.bukkit.Material; @@ -228,7 +227,7 @@ public final class Misc { Player player = mcMMO.p.getServer().getPlayerExact(playerName); if (player != null) { - UserManager.remove(player); + mcMMO.getUserManager().remove(player); new PlayerProfileLoadingTask(player).runTaskLaterAsynchronously(mcMMO.p, 1); // 1 Tick delay to ensure the player is marked as online before we begin loading } } diff --git a/src/main/java/com/gmail/nossr50/util/commands/CommandUtils.java b/src/main/java/com/gmail/nossr50/util/commands/CommandUtils.java index 84d96680d..40d836314 100644 --- a/src/main/java/com/gmail/nossr50/util/commands/CommandUtils.java +++ b/src/main/java/com/gmail/nossr50/util/commands/CommandUtils.java @@ -8,7 +8,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.StringUtils; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.SkillUtils; import com.google.common.collect.ImmutableList; import org.bukkit.OfflinePlayer; @@ -69,17 +68,17 @@ public final class CommandUtils { } /** - * Checks if there is a valid mcMMOPlayer object. + * Checks if there is a valid mmoPlayer object. * * @param sender CommandSender who used the command * @param playerName name of the target player - * @param mcMMOPlayer mcMMOPlayer object of the target player + * @param McMMOPlayer mmoPlayer object of the target player * - * @return true if the player is online and a valid mcMMOPlayer object was found + * @return true if the player is online and a valid mmoPlayer object was found */ - public static boolean checkPlayerExistence(CommandSender sender, String playerName, McMMOPlayer mcMMOPlayer) { - if (mcMMOPlayer != null) { - if (CommandUtils.hidden(sender, mcMMOPlayer.getPlayer(), false)) { + public static boolean checkPlayerExistence(CommandSender sender, String playerName, McMMOPlayer mmoPlayer) { + if (mmoPlayer != null) { + if (CommandUtils.hidden(sender, mmoPlayer.getPlayer(), false)) { sender.sendMessage(LocaleLoader.getString("Commands.Offline")); return false; } @@ -216,10 +215,10 @@ public final class CommandUtils { } private static void printGroupedSkillData(Player inspect, CommandSender display, String header, List skillGroup) { - if(UserManager.getPlayer(inspect) == null) + if(mcMMO.getUserManager().getPlayer(inspect) == null) return; - PlayerProfile profile = UserManager.getPlayer(inspect).getProfile(); + PlayerProfile profile = mcMMO.getUserManager().getPlayer(inspect); List displayData = new ArrayList<>(); displayData.add(header); diff --git a/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java b/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java deleted file mode 100644 index a83e2d260..000000000 --- a/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java +++ /dev/null @@ -1,193 +0,0 @@ -package com.gmail.nossr50.util.experience; - -import com.gmail.nossr50.config.experience.ExperienceConfig; -import com.gmail.nossr50.datatypes.player.McMMOPlayer; -import com.gmail.nossr50.datatypes.skills.PrimarySkillType; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.runnables.skills.ExperienceBarHideTask; -import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.skills.SkillUtils; -import org.bukkit.plugin.Plugin; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - -/** - * ExperienceBarManager handles displaying and updating mcMMO experience bars for players - * Each ExperienceBarManager only manages a single player - */ -public class ExperienceBarManager { - private final McMMOPlayer mcMMOPlayer; - int delaySeconds = 3; - - private HashMap experienceBars; - private HashMap experienceBarHideTaskHashMap; - - private final HashMap barStateMap; - - private HashSet alwaysVisible; - private HashSet disabledBars; - - public ExperienceBarManager(McMMOPlayer mcMMOPlayer, HashMap barStateMap) - { - this.mcMMOPlayer = mcMMOPlayer; - this.barStateMap = barStateMap; - - init(); - } - - public void init() { - //Init maps - experienceBars = new HashMap<>(); - experienceBarHideTaskHashMap = new HashMap<>(); - - //Init sets - alwaysVisible = new HashSet<>(); - disabledBars = new HashSet<>(); - - syncBarStates(); - } - - private void syncBarStates() { - for(Map.Entry entry : barStateMap.entrySet()) { - PrimarySkillType key = entry.getKey(); - BarState barState = entry.getValue(); - - switch(barState) { - case NORMAL: - break; - case ALWAYS_ON: - xpBarSettingToggle(XPBarSettingTarget.SHOW, key); - case DISABLED: - xpBarSettingToggle(XPBarSettingTarget.HIDE, key); - } - } - } - - private void resetBarStateMap() { - SkillUtils.setBarStateDefaults(barStateMap); - } - - public void updateExperienceBar(PrimarySkillType primarySkillType, Plugin plugin) - { - if(disabledBars.contains(primarySkillType) - || !ExperienceConfig.getInstance().isExperienceBarsEnabled() - || !ExperienceConfig.getInstance().isExperienceBarEnabled(primarySkillType)) - return; - - //Init Bar - if(experienceBars.get(primarySkillType) == null) - experienceBars.put(primarySkillType, new ExperienceBarWrapper(primarySkillType, mcMMOPlayer)); - - //Get Bar - ExperienceBarWrapper experienceBarWrapper = experienceBars.get(primarySkillType); - - //Update Progress - experienceBarWrapper.setProgress(mcMMOPlayer.getProgressInCurrentSkillLevel(primarySkillType)); - - //Show Bar - experienceBarWrapper.showExperienceBar(); - - //Setup Hide Bar Task - if(experienceBarHideTaskHashMap.get(primarySkillType) != null) - { - experienceBarHideTaskHashMap.get(primarySkillType).cancel(); - } - - scheduleHideTask(primarySkillType, plugin); - } - - private void scheduleHideTask(PrimarySkillType primarySkillType, Plugin plugin) { - if(alwaysVisible.contains(primarySkillType)) - return; - - ExperienceBarHideTask experienceBarHideTask = new ExperienceBarHideTask(this, mcMMOPlayer, primarySkillType); - experienceBarHideTask.runTaskLater(plugin, 20* delaySeconds); - experienceBarHideTaskHashMap.put(primarySkillType, experienceBarHideTask); - } - - public void hideExperienceBar(PrimarySkillType primarySkillType) - { - if(experienceBars.containsKey(primarySkillType)) - experienceBars.get(primarySkillType).hideExperienceBar(); - } - - public void clearTask(PrimarySkillType primarySkillType) - { - experienceBarHideTaskHashMap.remove(primarySkillType); - } - - public void disableAllBars() { - for(PrimarySkillType primarySkillType : PrimarySkillType.values()) { - xpBarSettingToggle(XPBarSettingTarget.HIDE, primarySkillType); - } - - NotificationManager.sendPlayerInformationChatOnlyPrefixed(mcMMOPlayer.getPlayer(), "Commands.XPBar.DisableAll"); - } - - public void xpBarSettingToggle(@NotNull XPBarSettingTarget settingTarget, @Nullable PrimarySkillType skillType) { - switch(settingTarget) { - case SHOW: - disabledBars.remove(skillType); - alwaysVisible.add(skillType); - - //Remove lingering tasks - if(experienceBarHideTaskHashMap.containsKey(skillType)) { - experienceBarHideTaskHashMap.get(skillType).cancel(); - } - - updateExperienceBar(skillType, mcMMO.p); - barStateMap.put(skillType, BarState.ALWAYS_ON); - break; - case HIDE: - alwaysVisible.remove(skillType); - disabledBars.add(skillType); - - //Remove lingering tasks - if(experienceBarHideTaskHashMap.containsKey(skillType)) { - experienceBarHideTaskHashMap.get(skillType).cancel(); - } - - hideExperienceBar(skillType); - barStateMap.put(skillType, BarState.DISABLED); - break; - case RESET: - resetBarSettings(); - break; - } - - informPlayer(settingTarget, skillType); - } - - private void resetBarSettings() { - //Hide all currently permanent bars - for(PrimarySkillType permanent : alwaysVisible) { - hideExperienceBar(permanent); - } - - resetBarStateMap(); - - alwaysVisible.clear(); - disabledBars.clear(); - - //Hide child skills by default - xpBarSettingToggle(XPBarSettingTarget.HIDE, PrimarySkillType.SALVAGE); - xpBarSettingToggle(XPBarSettingTarget.HIDE, PrimarySkillType.SMELTING); - } - - private void informPlayer(@NotNull ExperienceBarManager.@NotNull XPBarSettingTarget settingTarget, @Nullable PrimarySkillType skillType) { - //Inform player of setting change - if(settingTarget != XPBarSettingTarget.RESET) { - NotificationManager.sendPlayerInformationChatOnlyPrefixed(mcMMOPlayer.getPlayer(), "Commands.XPBar.SettingChanged", skillType.getName(), settingTarget.toString()); - } else { - NotificationManager.sendPlayerInformationChatOnlyPrefixed(mcMMOPlayer.getPlayer(), "Commands.XPBar.Reset"); - } - } - - public enum XPBarSettingTarget { SHOW, HIDE, RESET, DISABLE } - - public enum BarState { NORMAL, ALWAYS_ON, DISABLED } -} diff --git a/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarWrapper.java b/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarWrapper.java index 1d66ac823..bdbbded97 100644 --- a/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarWrapper.java +++ b/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarWrapper.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.util.experience; import com.gmail.nossr50.config.experience.ExperienceConfig; -import com.gmail.nossr50.datatypes.player.McMMOPlayer; +import com.gmail.nossr50.datatypes.player.PersistentPlayerData; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.StringUtils; @@ -20,7 +20,7 @@ public class ExperienceBarWrapper { private final PrimarySkillType primarySkillType; //Primary Skill private BossBar bossBar; - protected final McMMOPlayer mcMMOPlayer; + protected final PersistentPlayerData persistentPlayerData; private int lastLevelUpdated; /* @@ -29,9 +29,9 @@ public class ExperienceBarWrapper { protected String niceSkillName; protected String title; - public ExperienceBarWrapper(PrimarySkillType primarySkillType, McMMOPlayer mcMMOPlayer) + public ExperienceBarWrapper(PrimarySkillType primarySkillType, PersistentPlayerData persistentPlayerData) { - this.mcMMOPlayer = mcMMOPlayer; + this.persistentPlayerData = persistentPlayerData; this.primarySkillType = primarySkillType; title = ""; lastLevelUpdated = 0; @@ -57,7 +57,7 @@ public class ExperienceBarWrapper { private String getTitleTemplate() { //If they are using extra details - if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled() && PlayerLevelUtils.qualifiesForEarlyGameBoost(mcMMOPlayer, primarySkillType)) { + if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled() && PlayerLevelUtils.qualifiesForEarlyGameBoost(persistentPlayerData, primarySkillType)) { return LocaleLoader.getString("XPBar.Template.EarlyGameBoost"); } else if(ExperienceConfig.getInstance().getAddExtraDetails()) return LocaleLoader.getString("XPBar.Complex.Template", LocaleLoader.getString("XPBar."+niceSkillName, getLevel()), getCurrentXP(), getMaxXP(), getPowerLevel(), getPercentageOfLevel()); @@ -66,12 +66,16 @@ public class ExperienceBarWrapper { } private int getLevel() { - return mcMMOPlayer.getSkillLevel(primarySkillType); + return persistentPlayerData.getSkillLevel(primarySkillType); } - private int getCurrentXP() { return mcMMOPlayer.getSkillXpLevel(primarySkillType); } - private int getMaxXP() { return mcMMOPlayer.getXpToLevel(primarySkillType); } - private int getPowerLevel() { return mcMMOPlayer.getPowerLevel(); } - private int getPercentageOfLevel() { return (int) (mcMMOPlayer.getProgressInCurrentSkillLevel(primarySkillType) * 100); } + private int getCurrentXP() { + return mmoPlayer.getSkillXpLevel(primarySkillType); + } + private int getMaxXP() { + return mmoPlayer.getXpToLevel(primarySkillType); + } + private int getPowerLevel() { return mmoPlayer.getPowerLevel(); } + private int getPercentageOfLevel() { return (int) (mmoPlayer.getProgressInCurrentSkillLevel(primarySkillType) * 100); } public String getTitle() { return bossBar.getTitle(); @@ -108,7 +112,7 @@ public class ExperienceBarWrapper { bossBar.setProgress(v); //Check player level - if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled() && PlayerLevelUtils.qualifiesForEarlyGameBoost(mcMMOPlayer, primarySkillType)) { + if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled() && PlayerLevelUtils.qualifiesForEarlyGameBoost(mmoPlayer, primarySkillType)) { setColor(BarColor.YELLOW); } else { setColor(ExperienceConfig.getInstance().getExperienceBarColor(primarySkillType)); @@ -151,7 +155,7 @@ public class ExperienceBarWrapper { private void createBossBar() { - bossBar = mcMMOPlayer.getPlayer().getServer().createBossBar(title, ExperienceConfig.getInstance().getExperienceBarColor(primarySkillType), ExperienceConfig.getInstance().getExperienceBarStyle(primarySkillType)); - bossBar.addPlayer(mcMMOPlayer.getPlayer()); + bossBar = mmoPlayer.getPlayer().getServer().createBossBar(title, ExperienceConfig.getInstance().getExperienceBarColor(primarySkillType), ExperienceConfig.getInstance().getExperienceBarStyle(primarySkillType)); + bossBar.addPlayer(mmoPlayer.getPlayer()); } } diff --git a/src/main/java/com/gmail/nossr50/util/input/SuperAbilityManager.java b/src/main/java/com/gmail/nossr50/util/input/SuperAbilityManager.java index 9af6b83a4..17b802491 100644 --- a/src/main/java/com/gmail/nossr50/util/input/SuperAbilityManager.java +++ b/src/main/java/com/gmail/nossr50/util/input/SuperAbilityManager.java @@ -161,7 +161,7 @@ public class SuperAbilityManager { ticks = PerksUtils.handleActivationPerks(player, 2 + (mmoPlayer.getSkillLevel(primarySkillType) / abilityLengthVar), ability.getMaxLength()); } - if (mmoPlayer.useChatNotifications()) { + if (mmoPlayer.hasSkillChatNotifications()) { NotificationManager.sendPlayerInformation(player, NotificationType.SUPER_ABILITY, ability.getAbilityOn()); //player.sendMessage(ability.getAbilityOn()); } @@ -174,7 +174,7 @@ public class SuperAbilityManager { SoundManager.worldSendSound(player.getWorld(), player.getLocation(), SoundType.ABILITY_ACTIVATED_GENERIC); // Enable the ability - mmoPlayer.getProfile().setAbilityDATS(ability, System.currentTimeMillis() + (ticks * Misc.TIME_CONVERSION_FACTOR)); + mmoPlayer.getPersistentPlayerData().setAbilityDATS(ability, System.currentTimeMillis() + (ticks * Misc.TIME_CONVERSION_FACTOR)); setAbilityMode(ability, true); if (ability == SuperAbilityType.SUPER_BREAKER || ability == SuperAbilityType.GIGA_DRILL_BREAKER) { @@ -288,7 +288,7 @@ public class SuperAbilityManager { * @return the number of seconds remaining before the cooldown expires */ public int calculateTimeRemaining(SuperAbilityType superAbilityType) { - long deactivatedTimestamp = mmoPlayer.getProfile().getAbilityDATS(superAbilityType) * Misc.TIME_CONVERSION_FACTOR; + long deactivatedTimestamp = mmoPlayer.getAbilityDATS(superAbilityType) * Misc.TIME_CONVERSION_FACTOR; return (int) (((deactivatedTimestamp + (PerksUtils.handleCooldownPerks(mmoPlayer.getPlayer(), superAbilityType.getCooldown()) * Misc.TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / Misc.TIME_CONVERSION_FACTOR); } diff --git a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java index 2bd02aa6a..652005a9e 100644 --- a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java +++ b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java @@ -33,7 +33,7 @@ public class NotificationManager { */ public static void sendPlayerInformation(Player player, NotificationType notificationType, String key) { - if(UserManager.getPlayer(player) == null || !UserManager.getPlayer(player).useChatNotifications()) + if(mcMMO.getUserManager().getPlayer(player) == null || !mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications()) return; ChatMessageType destination = AdvancedConfig.getInstance().doesNotificationUseActionBar(notificationType) ? ChatMessageType.ACTION_BAR : ChatMessageType.SYSTEM; @@ -47,10 +47,10 @@ public class NotificationManager { public static boolean doesPlayerUseNotifications(Player player) { - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return false; else - return UserManager.getPlayer(player).useChatNotifications(); + return mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications(); } /** @@ -69,7 +69,7 @@ public class NotificationManager { public static void sendPlayerInformationChatOnly(Player player, String key, String... values) { - if(UserManager.getPlayer(player) == null || !UserManager.getPlayer(player).useChatNotifications()) + if(mcMMO.getUserManager().getPlayer(player) == null || !mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications()) return; String preColoredString = LocaleLoader.getString(key, (Object[]) values); @@ -78,7 +78,7 @@ public class NotificationManager { public static void sendPlayerInformationChatOnlyPrefixed(Player player, String key, String... values) { - if(UserManager.getPlayer(player) == null || !UserManager.getPlayer(player).useChatNotifications()) + if(mcMMO.getUserManager().getPlayer(player) == null || !mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications()) return; String preColoredString = LocaleLoader.getString(key, (Object[]) values); @@ -88,7 +88,7 @@ public class NotificationManager { public static void sendPlayerInformation(Player player, NotificationType notificationType, String key, String... values) { - if(UserManager.getPlayer(player) == null || !UserManager.getPlayer(player).useChatNotifications()) + if(mcMMO.getUserManager().getPlayer(player) == null || !mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications()) return; ChatMessageType destination = AdvancedConfig.getInstance().doesNotificationUseActionBar(notificationType) ? ChatMessageType.ACTION_BAR : ChatMessageType.SYSTEM; @@ -129,22 +129,22 @@ public class NotificationManager { } /** - * Handles sending level up notifications to a mcMMOPlayer - * @param mcMMOPlayer target mcMMOPlayer + * Handles sending level up notifications to a mmoPlayer + * @param mmoPlayer target mmoPlayer * @param skillName skill that leveled up * @param newLevel new level of that skill */ - public static void sendPlayerLevelUpNotification(McMMOPlayer mcMMOPlayer, PrimarySkillType skillName, int levelsGained, int newLevel) + public static void sendPlayerLevelUpNotification(McMMOPlayer mmoPlayer, PrimarySkillType skillName, int levelsGained, int newLevel) { - if(!mcMMOPlayer.useChatNotifications()) + if(!mmoPlayer.hasSkillChatNotifications()) return; ChatMessageType destination = AdvancedConfig.getInstance().doesNotificationUseActionBar(NotificationType.LEVEL_UP_MESSAGE) ? ChatMessageType.ACTION_BAR : ChatMessageType.SYSTEM; TextComponent levelUpTextComponent = TextComponentFactory.getNotificationLevelUpTextComponent(skillName, levelsGained, newLevel); - McMMOPlayerNotificationEvent customEvent = checkNotificationEvent(mcMMOPlayer.getPlayer(), NotificationType.LEVEL_UP_MESSAGE, destination, levelUpTextComponent); + McMMOPlayerNotificationEvent customEvent = checkNotificationEvent(mmoPlayer.getPlayer(), NotificationType.LEVEL_UP_MESSAGE, destination, levelUpTextComponent); - sendNotification(mcMMOPlayer.getPlayer(), customEvent); + sendNotification(mmoPlayer.getPlayer(), customEvent); } public static void broadcastTitle(Server server, String title, String subtitle, int i1, int i2, int i3) @@ -155,22 +155,22 @@ public class NotificationManager { } } - public static void sendPlayerUnlockNotification(McMMOPlayer mcMMOPlayer, SubSkillType subSkillType) + public static void sendPlayerUnlockNotification(McMMOPlayer mmoPlayer, SubSkillType subSkillType) { - if(!mcMMOPlayer.useChatNotifications()) + if(!mmoPlayer.hasSkillChatNotifications()) return; //CHAT MESSAGE - mcMMOPlayer.getPlayer().spigot().sendMessage(TextComponentFactory.getSubSkillUnlockedNotificationComponents(mcMMOPlayer.getPlayer(), subSkillType)); + mmoPlayer.getPlayer().spigot().sendMessage(TextComponentFactory.getSubSkillUnlockedNotificationComponents(mmoPlayer.getPlayer(), subSkillType)); //Unlock Sound Effect - SoundManager.sendCategorizedSound(mcMMOPlayer.getPlayer(), mcMMOPlayer.getPlayer().getLocation(), SoundType.SKILL_UNLOCKED, SoundCategory.MASTER); + SoundManager.sendCategorizedSound(mmoPlayer.getPlayer(), mmoPlayer.getPlayer().getLocation(), SoundType.SKILL_UNLOCKED, SoundCategory.MASTER); //ACTION BAR MESSAGE /*if(AdvancedConfig.getInstance().doesNotificationUseActionBar(NotificationType.SUBSKILL_UNLOCKED)) - mcMMOPlayer.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(LocaleLoader.getString("JSON.SkillUnlockMessage", + mmoPlayer.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(LocaleLoader.getString("JSON.SkillUnlockMessage", subSkillType.getLocaleName(), - String.valueOf(RankUtils.getRank(mcMMOPlayer.getPlayer(), + String.valueOf(RankUtils.getRank(mmoPlayer.getPlayer(), subSkillType)))));*/ } diff --git a/src/main/java/com/gmail/nossr50/util/player/PlayerLevelUtils.java b/src/main/java/com/gmail/nossr50/util/player/PlayerLevelUtils.java index 1f0cba2f1..211602578 100644 --- a/src/main/java/com/gmail/nossr50/util/player/PlayerLevelUtils.java +++ b/src/main/java/com/gmail/nossr50/util/player/PlayerLevelUtils.java @@ -38,11 +38,11 @@ public class PlayerLevelUtils { /** * Check if a player is currently qualifying for the early game boosted XP * Will return false only if a player is above the boost level cutoff, it does not check config settings to see if the early game boost is on - * @param mcMMOPlayer target player + * @param mmoPlayer target player * @param primarySkillType target skill * @return if the player would qualify for the XP boost if its enabled */ - public static boolean qualifiesForEarlyGameBoost(McMMOPlayer mcMMOPlayer, PrimarySkillType primarySkillType) { - return mcMMOPlayer.getSkillLevel(primarySkillType) < mcMMO.getPlayerLevelUtils().getEarlyGameCutoff(primarySkillType); + public static boolean qualifiesForEarlyGameBoost(McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType) { + return mmoPlayer.getSkillLevel(primarySkillType) < mcMMO.getPlayerLevelUtils().getEarlyGameCutoff(primarySkillType); } } diff --git a/src/main/java/com/gmail/nossr50/util/player/UserManager.java b/src/main/java/com/gmail/nossr50/util/player/UserManager.java index 4ef9606b6..f5d10b7e0 100644 --- a/src/main/java/com/gmail/nossr50/util/player/UserManager.java +++ b/src/main/java/com/gmail/nossr50/util/player/UserManager.java @@ -1,7 +1,13 @@ package com.gmail.nossr50.util.player; +import com.gmail.nossr50.config.Config; +import com.gmail.nossr50.datatypes.player.MMODataSnapshot; import com.gmail.nossr50.datatypes.player.McMMOPlayer; +import com.gmail.nossr50.datatypes.player.PersistentPlayerData; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.runnables.player.PersistentPlayerDataSaveTask; +import com.gmail.nossr50.runnables.skills.BleedTimerTask; +import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.google.common.collect.ImmutableList; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Entity; @@ -12,29 +18,28 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; +//TODO: Add per world handling public final class UserManager { - private static HashSet playerDataSet; //Used to track players for sync saves on shutdown + private final HashSet playerDataSet; //Used to track players for sync saves on shutdown - private UserManager() {} + public UserManager() { + this.playerDataSet = new HashSet<>(); + } /** * Track a new user. * - * @param mcMMOPlayer the player profile to start tracking + * @param mmoPlayer the player profile to start tracking */ - public static void track(McMMOPlayer mcMMOPlayer) { - mcMMOPlayer.getPlayer().setMetadata(mcMMO.playerDataKey, new FixedMetadataValue(mcMMO.p, mcMMOPlayer)); + public void track(McMMOPlayer mmoPlayer) { + mmoPlayer.getPlayer().setMetadata(mcMMO.playerDataKey, new FixedMetadataValue(mcMMO.p, mmoPlayer)); - if(playerDataSet == null) - playerDataSet = new HashSet<>(); - - playerDataSet.add(mcMMOPlayer); //for sync saves on shutdown + playerDataSet.add(mmoPlayer); //for sync saves on shutdown } - public static void cleanupPlayer(McMMOPlayer mcMMOPlayer) { - if(playerDataSet != null) - playerDataSet.remove(mcMMOPlayer); + public void cleanupPlayer(McMMOPlayer mmoPlayer) { + playerDataSet.remove(mmoPlayer); } /** @@ -42,55 +47,26 @@ public final class UserManager { * * @param player The Player object */ - public static void remove(Player player) { - McMMOPlayer mcMMOPlayer = getPlayer(player); - mcMMOPlayer.cleanup(); + public void remove(Player player) { + McMMOPlayer mmoPlayer = getPlayer(player); + mmoPlayer.cleanup(); player.removeMetadata(mcMMO.playerDataKey, mcMMO.p); - if(playerDataSet != null) { - playerDataSet.remove(mcMMOPlayer); //Clear sync save tracking - } + playerDataSet.remove(mmoPlayer); //Clear sync save tracking } /** * Clear all users. */ - public static void clearAll() { + public void clearAll() { for (Player player : mcMMO.p.getServer().getOnlinePlayers()) { remove(player); } - if(playerDataSet != null) - playerDataSet.clear(); //Clear sync save tracking + playerDataSet.clear(); //Clear sync save tracking } - /** - * Save all users ON THIS THREAD. - */ - public static void saveAll() { - if(playerDataSet == null) - return; - - ImmutableList trackedSyncData = ImmutableList.copyOf(playerDataSet); - - mcMMO.p.getLogger().info("Saving mcMMOPlayers... (" + trackedSyncData.size() + ")"); - - for (McMMOPlayer playerData : trackedSyncData) { - try - { - mcMMO.p.getLogger().info("Saving data for player: "+playerData.getPlayerName()); - playerData.getProfile().save(true); - } - catch (Exception e) - { - mcMMO.p.getLogger().warning("Could not save mcMMO player data for player: " + playerData.getPlayerName()); - } - } - - mcMMO.p.getLogger().info("Finished save operation for "+trackedSyncData.size()+" players!"); - } - - public static Collection getPlayers() { + public Collection getPlayers() { Collection playerCollection = new ArrayList<>(); for (Player player : mcMMO.p.getServer().getOnlinePlayers()) { @@ -108,11 +84,11 @@ public final class UserManager { * @param playerName The name of the player whose McMMOPlayer to retrieve * @return the player's McMMOPlayer object */ - public static McMMOPlayer getPlayer(String playerName) { + public McMMOPlayer getPlayer(String playerName) { return retrieveMcMMOPlayer(playerName, false); } - public static McMMOPlayer getOfflinePlayer(OfflinePlayer player) { + public McMMOPlayer getOfflinePlayer(OfflinePlayer player) { if (player instanceof Player) { return getPlayer((Player) player); } @@ -120,7 +96,7 @@ public final class UserManager { return retrieveMcMMOPlayer(player.getName(), true); } - public static McMMOPlayer getOfflinePlayer(String playerName) { + public McMMOPlayer getOfflinePlayer(String playerName) { return retrieveMcMMOPlayer(playerName, true); } @@ -129,7 +105,7 @@ public final class UserManager { * @param player target player * @return McMMOPlayer object for this player, null if Player has not been loaded */ - public static McMMOPlayer getPlayer(Player player) { + public McMMOPlayer getPlayer(Player player) { //Avoid Array Index out of bounds if(player != null && player.hasMetadata(mcMMO.playerDataKey)) return (McMMOPlayer) player.getMetadata(mcMMO.playerDataKey).get(0).value(); @@ -137,12 +113,12 @@ public final class UserManager { return null; } - private static McMMOPlayer retrieveMcMMOPlayer(String playerName, boolean offlineValid) { + private McMMOPlayer retrieveMcMMOPlayer(String playerName, boolean offlineValid) { Player player = mcMMO.p.getServer().getPlayerExact(playerName); if (player == null) { if (!offlineValid) { - mcMMO.p.getLogger().warning("A valid mcMMOPlayer object could not be found for " + playerName + "."); + mcMMO.p.getLogger().warning("A valid mmoPlayer object could not be found for " + playerName + "."); } return null; @@ -151,7 +127,139 @@ public final class UserManager { return getPlayer(player); } - public static boolean hasPlayerDataKey(Entity entity) { + public boolean hasPlayerDataKey(Entity entity) { return entity != null && entity.hasMetadata(mcMMO.playerDataKey); } + + public MMODataSnapshot createPlayerDataSnapshot(PersistentPlayerData persistentPlayerData) { + return new MMODataSnapshot(persistentPlayerData); + } + + public void saveUserImmediately(PersistentPlayerData persistentPlayerData, boolean useSync) { + if(useSync) + scheduleSyncSave(createPlayerDataSnapshot(persistentPlayerData)); //Execute sync saves immediately + else + scheduleAsyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), 0); + } + + public void saveUserWithDelay(PersistentPlayerData persistentPlayerData, boolean useSync, int delayTicks) { + if(useSync) + scheduleSyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), delayTicks); //Execute sync saves immediately + else + scheduleAsyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), delayTicks); + } + +// public void save(boolean useSync) { +// if (!changed || !loaded) { +// saveAttempts = 0; +// return; +// } +// +// // TODO should this part be synchronized? +// PlayerProfile profileCopy = new PlayerProfile(playerName, uuid, +// experienceManager.copyPrimarySkillLevelsMap(), +// experienceManager.copyPrimarySkillExperienceValuesMap(), +// ImmutableMap.copyOf(abilityDATS), +// mobHealthbarType, +// scoreboardTipsShown, +// ImmutableMap.copyOf(uniquePlayerData), +// ImmutableMap.copyOf(xpBarState)); +// +// changed = !mcMMO.getDatabaseManager().saveUser(profileCopy); +// +// if (changed) { +// mcMMO.p.getLogger().severe("PlayerProfile saving failed for player: " + playerName + " " + uuid); +// +// if(saveAttempts > 0) +// { +// mcMMO.p.getLogger().severe("Attempted to save profile for player "+getPlayerName() +// + " resulted in failure. "+saveAttempts+" have been made so far."); +// } +// +// if(saveAttempts < 10) +// { +// saveAttempts++; +// +// if(useSync) +// scheduleSyncSave(); //Execute sync saves immediately +// else +// scheduleAsyncSaveDelay(); +// +// } else { +// mcMMO.p.getLogger().severe("mcMMO has failed to save the profile for " +// +getPlayerName()+" numerous times." + +// " mcMMO will now stop attempting to save this profile." + +// " Check your console for errors and inspect your DB for issues."); +// } +// +// } else { +// saveAttempts = 0; +// } +// } + + /** + * Save all users ON THIS THREAD. + */ + public void saveAllSync() { + ImmutableList trackedSyncData = ImmutableList.copyOf(playerDataSet); + + mcMMO.p.getLogger().info("Saving player data... (" + trackedSyncData.size() + ")"); + + for (McMMOPlayer onlinePlayer : trackedSyncData) { + try + { + mcMMO.p.getLogger().info("Saving data for player: "+onlinePlayer.getPlayerName()); + saveUserImmediately(onlinePlayer.getPersistentPlayerData(), true); + } + catch (Exception e) + { + mcMMO.p.getLogger().warning("Could not save mcMMO player data for player: " + onlinePlayer.getPlayerName()); + } + } + + mcMMO.p.getLogger().info("Finished save operation for "+trackedSyncData.size()+" players!"); + } + + /** + * This method is called by PlayerQuitEvent to tear down the mmoPlayer. + * If syncSave is true, then saving is executed immediately + * + * @param syncSave if true, data is saved synchronously + */ + public void logout(McMMOPlayer mmoPlayer, boolean syncSave) { + BleedTimerTask.bleedOut(mmoPlayer.getPlayer()); + + //TODO: There is a possibility that async saves don't execute in time if the server is told to shutdown + + if(syncSave) { + saveUserImmediately(mmoPlayer.getPersistentPlayerData(), true); + } else { + saveUserWithDelay(mmoPlayer.getPersistentPlayerData(), false, 20); + } + + cleanupPlayer(mmoPlayer); + + if(Config.getInstance().getScoreboardsEnabled()) + ScoreboardManager.teardownPlayer(mmoPlayer.getPlayer()); + + //Remove user from cache (SQL) + mcMMO.getDatabaseManager().removeCache(mmoPlayer.getUniqueId()); + } + + + public void scheduleAsyncSave(MMODataSnapshot mmoDataSnapshot) { + new PersistentPlayerDataSaveTask(mmoDataSnapshot).runTaskAsynchronously(mcMMO.p); + } + + public void scheduleSyncSave(MMODataSnapshot mmoDataSnapshot) { + new PersistentPlayerDataSaveTask(mmoDataSnapshot).runTask(mcMMO.p); + } + + public void scheduleAsyncSaveDelay(MMODataSnapshot mmoDataSnapshot, int delayTicks) { + new PersistentPlayerDataSaveTask(mmoDataSnapshot).runTaskLaterAsynchronously(mcMMO.p, delayTicks); + } + + public void scheduleSyncSaveDelay(MMODataSnapshot mmoDataSnapshot, int delayTicks) { + new PersistentPlayerDataSaveTask(mmoDataSnapshot).runTaskLater(mcMMO.p, delayTicks); + } } diff --git a/src/main/java/com/gmail/nossr50/util/random/RandomChanceSkill.java b/src/main/java/com/gmail/nossr50/util/random/RandomChanceSkill.java index 5d47b44bd..2fa3f9fe4 100644 --- a/src/main/java/com/gmail/nossr50/util/random/RandomChanceSkill.java +++ b/src/main/java/com/gmail/nossr50/util/random/RandomChanceSkill.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.Player; public class RandomChanceSkill implements RandomChanceExecution { @@ -23,9 +22,9 @@ public class RandomChanceSkill implements RandomChanceExecution { this.subSkillType = subSkillType; this.probabilityCap = RandomChanceUtil.LINEAR_CURVE_VAR; - final McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - if (player != null && mcMMOPlayer != null) { - this.skillLevel = mcMMOPlayer.getSkillLevel(primarySkillType); + final McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + if (player != null && mmoPlayer != null) { + this.skillLevel = mmoPlayer.getSkillLevel(primarySkillType); } else { this.skillLevel = 0; } @@ -44,9 +43,9 @@ public class RandomChanceSkill implements RandomChanceExecution { this.subSkillType = subSkillType; this.probabilityCap = RandomChanceUtil.LINEAR_CURVE_VAR; - final McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - if (player != null && mcMMOPlayer != null) { - this.skillLevel = mcMMOPlayer.getSkillLevel(primarySkillType); + final McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + if (player != null && mmoPlayer != null) { + this.skillLevel = mmoPlayer.getSkillLevel(primarySkillType); } else { this.skillLevel = 0; } @@ -69,9 +68,9 @@ public class RandomChanceSkill implements RandomChanceExecution { this.primarySkillType = subSkillType.getParentSkill(); this.subSkillType = subSkillType; - final McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - if (player != null && mcMMOPlayer != null) { - this.skillLevel = mcMMOPlayer.getSkillLevel(primarySkillType); + final McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + if (player != null && mmoPlayer != null) { + this.skillLevel = mmoPlayer.getSkillLevel(primarySkillType); } else { this.skillLevel = 0; } @@ -94,9 +93,9 @@ public class RandomChanceSkill implements RandomChanceExecution { this.primarySkillType = subSkillType.getParentSkill(); this.subSkillType = subSkillType; - final McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - if (player != null && mcMMOPlayer != null) { - this.skillLevel = mcMMOPlayer.getSkillLevel(primarySkillType); + final McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + if (player != null && mmoPlayer != null) { + this.skillLevel = mmoPlayer.getSkillLevel(primarySkillType); } else { this.skillLevel = 0; } diff --git a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java index d391f2f07..921d8b74d 100644 --- a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java +++ b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java @@ -11,7 +11,6 @@ import com.gmail.nossr50.events.scoreboard.ScoreboardEventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.Misc; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; @@ -449,14 +448,14 @@ public class ScoreboardManager { } for (String playerName : dirtyPowerLevels) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(playerName); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(playerName); - if (mcMMOPlayer == null) { + if (mmoPlayer == null) { continue; } - Player player = mcMMOPlayer.getPlayer(); - int power = mcMMOPlayer.getPowerLevel(); + Player player = mmoPlayer.getPlayer(); + int power = mmoPlayer.getPowerLevel(); mainObjective.getScore(playerName).setScore(power); diff --git a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java index d133af3ab..1701afeef 100644 --- a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java +++ b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java @@ -14,7 +14,6 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.child.FamilyTree; import com.gmail.nossr50.util.Misc; -import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager.SidebarType; import org.apache.commons.lang.Validate; import org.bukkit.ChatColor; @@ -63,8 +62,8 @@ public class ScoreboardWrapper { powerObjective.setDisplayName(ScoreboardManager.TAG_POWER_LEVEL); powerObjective.setDisplaySlot(DisplaySlot.BELOW_NAME); - for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { - powerObjective.getScore(mcMMOPlayer.getProfile().getPlayerName()).setScore(mcMMOPlayer.getPowerLevel()); + for (McMMOPlayer mmoPlayer : mcMMO.getUserManager().getPlayers()) { + powerObjective.getScore(mmoPlayer.getPlayerName()).setScore(mmoPlayer.getExperienceManager().getPowerLevel()); } } } @@ -203,10 +202,10 @@ public class ScoreboardWrapper { // TODO is there any way to do the time that looks acceptable? // player.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Timer", StringUtils.capitalize(sidebarType.toString().toLowerCase(Locale.ENGLISH)), ticks / 20F)); - if(UserManager.getPlayer(playerName) == null) + if(mcMMO.getUserManager().getPlayer(playerName) == null) return; - PlayerProfile profile = UserManager.getPlayer(player).getProfile(); + PlayerProfile profile = mcMMO.getUserManager().getPlayer(player); if (profile.getScoreboardTipsShown() >= Config.getInstance().getTipsAmount()) { return; @@ -434,9 +433,9 @@ public class ScoreboardWrapper { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); - if(mcMMOPlayer == null) + if(mmoPlayer == null) return; switch (sidebarType) { @@ -447,18 +446,18 @@ public class ScoreboardWrapper { Validate.notNull(targetSkill); if (!targetSkill.isChildSkill()) { - int currentXP = mcMMOPlayer.getSkillXpLevel(targetSkill); + int currentXP = mmoPlayer.getExperienceManager().getSkillXpLevel(targetSkill); sidebarObjective.getScore(ScoreboardManager.LABEL_CURRENT_XP).setScore(currentXP); - sidebarObjective.getScore(ScoreboardManager.LABEL_REMAINING_XP).setScore(mcMMOPlayer.getXpToLevel(targetSkill) - currentXP); + sidebarObjective.getScore(ScoreboardManager.LABEL_REMAINING_XP).setScore(mmoPlayer.getExperienceManager().getXpToLevel(targetSkill) - currentXP); } else { for (PrimarySkillType parentSkill : FamilyTree.getParents(targetSkill)) { - sidebarObjective.getScore(ScoreboardManager.skillLabels.get(parentSkill)).setScore(mcMMOPlayer.getSkillLevel(parentSkill)); + sidebarObjective.getScore(ScoreboardManager.skillLabels.get(parentSkill)).setScore(mmoPlayer.getExperienceManager().getSkillLevel(parentSkill)); } } - sidebarObjective.getScore(ScoreboardManager.LABEL_LEVEL).setScore(mcMMOPlayer.getSkillLevel(targetSkill)); + sidebarObjective.getScore(ScoreboardManager.LABEL_LEVEL).setScore(mmoPlayer.getExperienceManager().getSkillLevel(targetSkill)); if (targetSkill.getSuperAbilityType() != null) { boolean stopUpdating; @@ -467,8 +466,8 @@ public class ScoreboardWrapper { // Special-Case: Mining has two abilities, both with cooldowns Score cooldownSB = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(SuperAbilityType.SUPER_BREAKER)); Score cooldownBM = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(SuperAbilityType.BLAST_MINING)); - int secondsSB = Math.max(mcMMOPlayer.calculateTimeRemaining(SuperAbilityType.SUPER_BREAKER), 0); - int secondsBM = Math.max(mcMMOPlayer.calculateTimeRemaining(SuperAbilityType.BLAST_MINING), 0); + int secondsSB = Math.max(mmoPlayer.calculateTimeRemaining(SuperAbilityType.SUPER_BREAKER), 0); + int secondsBM = Math.max(mmoPlayer.calculateTimeRemaining(SuperAbilityType.BLAST_MINING), 0); cooldownSB.setScore(secondsSB); cooldownBM.setScore(secondsBM); @@ -478,7 +477,7 @@ public class ScoreboardWrapper { else { SuperAbilityType ability = targetSkill.getSuperAbilityType(); Score cooldown = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(ability)); - int seconds = Math.max(mcMMOPlayer.calculateTimeRemaining(ability), 0); + int seconds = Math.max(mmoPlayer.calculateTimeRemaining(ability), 0); cooldown.setScore(seconds); @@ -498,7 +497,7 @@ public class ScoreboardWrapper { boolean anyCooldownsActive = false; for (SuperAbilityType ability : SuperAbilityType.values()) { - int seconds = Math.max(mcMMOPlayer.calculateTimeRemaining(ability), 0); + int seconds = Math.max(mmoPlayer.calculateTimeRemaining(ability), 0); if (seconds != 0) { anyCooldownsActive = true; @@ -523,16 +522,16 @@ public class ScoreboardWrapper { newProfile = targetProfile; // offline } else if (targetPlayer == null) { - newProfile = mcMMOPlayer.getProfile(); // self + newProfile = mmoPlayer; // self } else { - newProfile = UserManager.getPlayer(targetPlayer).getProfile(); // online + newProfile = mcMMO.getUserManager().getPlayer(targetPlayer); // online } // Calculate power level here int powerLevel = 0; for (PrimarySkillType skill : PrimarySkillType.NON_CHILD_SKILLS) { // Don't include child skills, makes the list too long - int level = newProfile.getSkillLevel(skill); + int level = newProfile.getExperienceManager().getSkillLevel(skill); powerLevel += level; diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index c606274e7..ac6c3f439 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -11,7 +11,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent; import com.gmail.nossr50.events.fake.FakeEntityDamageEvent; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.runnables.skills.AwardCombatXpTask; import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager; import com.gmail.nossr50.skills.archery.ArcheryManager; @@ -23,7 +22,6 @@ import com.gmail.nossr50.skills.tridents.TridentManager; import com.gmail.nossr50.skills.unarmed.UnarmedManager; import com.gmail.nossr50.util.*; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableMap; import org.bukkit.GameMode; import org.bukkit.Material; @@ -49,21 +47,21 @@ public final class CombatUtils { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Make sure the profiles been loaded - if(mcMMOPlayer == null) { + if(mmoPlayer == null) { return; } - SwordsManager swordsManager = mcMMOPlayer.getSwordsManager(); + SwordsManager swordsManager = mmoPlayer.getSwordsManager(); double initialDamage = event.getDamage(); double finalDamage = initialDamage; Map modifiers = getModifiers(event); if (swordsManager.canActivateAbility()) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.SWORDS); + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.SWORDS); } if(target.getHealth() - event.getFinalDamage() >= 1) @@ -76,7 +74,7 @@ public final class CombatUtils { //Add Stab Damage if(swordsManager.canUseStab()) { - finalDamage+=(swordsManager.getStabDamage() * mcMMOPlayer.getAttackStrength()); + finalDamage+=(swordsManager.getStabDamage() * mmoPlayer.getAttackStrength()); } if (swordsManager.canUseSerratedStrike()) { @@ -85,11 +83,11 @@ public final class CombatUtils { if(canUseLimitBreak(player, target, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK)) { - finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK) * mcMMOPlayer.getAttackStrength()); + finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK) * mmoPlayer.getAttackStrength()); } applyScaledModifiers(initialDamage, finalDamage, event); - processCombatXP(mcMMOPlayer, target, PrimarySkillType.SWORDS); + processCombatXP(mmoPlayer, target, PrimarySkillType.SWORDS); } public static void processTridentCombat(LivingEntity target, Player player, EntityDamageByEntityEvent entityDamageByEntityEvent) { @@ -97,18 +95,18 @@ public final class CombatUtils { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Make sure the profiles been loaded - if(mcMMOPlayer == null) { + if(mmoPlayer == null) { return; } - TridentManager tridentManager = mcMMOPlayer.getTridentManager(); + TridentManager tridentManager = mmoPlayer.getTridentManager(); // double initialDamage = entityDamageByEntityEvent.getDamage(); // double finalDamage = initialDamage; - processCombatXP(mcMMOPlayer, target, PrimarySkillType.TRIDENTS); + processCombatXP(mmoPlayer, target, PrimarySkillType.TRIDENTS); } @@ -146,17 +144,17 @@ public final class CombatUtils { double finalDamage = initialDamage; Map modifiers = getModifiers(event); - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Make sure the profiles been loaded - if(mcMMOPlayer == null) { + if(mmoPlayer == null) { return; } - AxesManager axesManager = mcMMOPlayer.getAxesManager(); + AxesManager axesManager = mmoPlayer.getAxesManager(); if (axesManager.canActivateAbility()) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.AXES); + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.AXES); } if (axesManager.canUseAxeMastery()) { @@ -175,16 +173,16 @@ public final class CombatUtils { } if (axesManager.canCriticalHit(target)) { - finalDamage+=(axesManager.criticalHit(target, finalDamage) * mcMMOPlayer.getAttackStrength()); + finalDamage+=(axesManager.criticalHit(target, finalDamage) * mmoPlayer.getAttackStrength()); } if(canUseLimitBreak(player, target, SubSkillType.AXES_AXES_LIMIT_BREAK)) { - finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.AXES_AXES_LIMIT_BREAK) * mcMMOPlayer.getAttackStrength()); + finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.AXES_AXES_LIMIT_BREAK) * mmoPlayer.getAttackStrength()); } applyScaledModifiers(initialDamage, finalDamage, event); - processCombatXP(mcMMOPlayer, target, PrimarySkillType.AXES); + processCombatXP(mmoPlayer, target, PrimarySkillType.AXES); } private static void processUnarmedCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event) { @@ -195,26 +193,26 @@ public final class CombatUtils { double initialDamage = event.getDamage(); double finalDamage = initialDamage; - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Make sure the profiles been loaded - if(mcMMOPlayer == null) { + if(mmoPlayer == null) { return; } - UnarmedManager unarmedManager = mcMMOPlayer.getUnarmedManager(); + UnarmedManager unarmedManager = mmoPlayer.getUnarmedManager(); if (unarmedManager.canActivateAbility()) { - mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.UNARMED); + mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.UNARMED); } //Only execute bonuses if the player is not spamming if (unarmedManager.canUseIronArm()) { - finalDamage+=(unarmedManager.calculateIronArmDamage() * mcMMOPlayer.getAttackStrength()); + finalDamage+=(unarmedManager.calculateIronArmDamage() * mmoPlayer.getAttackStrength()); } if (unarmedManager.canUseBerserk()) { - finalDamage+=(unarmedManager.berserkDamage(finalDamage) * mcMMOPlayer.getAttackStrength()); + finalDamage+=(unarmedManager.berserkDamage(finalDamage) * mmoPlayer.getAttackStrength()); } if (unarmedManager.canDisarm(target)) { @@ -223,11 +221,11 @@ public final class CombatUtils { if(canUseLimitBreak(player, target, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK)) { - finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK) * mcMMOPlayer.getAttackStrength()); + finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK) * mmoPlayer.getAttackStrength()); } applyScaledModifiers(initialDamage, finalDamage, event); - processCombatXP(mcMMOPlayer, target, PrimarySkillType.UNARMED); + processCombatXP(mmoPlayer, target, PrimarySkillType.UNARMED); } private static void processTamingCombat(LivingEntity target, Player master, Wolf wolf, EntityDamageByEntityEvent event) { @@ -235,14 +233,14 @@ public final class CombatUtils { double finalDamage = initialDamage; if(master != null && master.isOnline() && master.isValid()) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(master); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(master); //Make sure the profiles been loaded - if(mcMMOPlayer == null) { + if(mmoPlayer == null) { return; } - TamingManager tamingManager = mcMMOPlayer.getTamingManager(); + TamingManager tamingManager = mmoPlayer.getTamingManager(); if (tamingManager.canUseFastFoodService()) { tamingManager.fastFoodService(wolf, event.getDamage()); @@ -259,7 +257,7 @@ public final class CombatUtils { } applyScaledModifiers(initialDamage, finalDamage, event); - processCombatXP(mcMMOPlayer, target, PrimarySkillType.TAMING); + processCombatXP(mmoPlayer, target, PrimarySkillType.TAMING); } } @@ -267,19 +265,19 @@ public final class CombatUtils { private static void processArcheryCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event, Projectile arrow) { double initialDamage = event.getDamage(); - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Make sure the profiles been loaded - if(mcMMOPlayer == null) { + if(mmoPlayer == null) { return; } - ArcheryManager archeryManager = mcMMOPlayer.getArcheryManager(); + ArcheryManager archeryManager = mmoPlayer.getArcheryManager(); double finalDamage = event.getDamage(); if (target instanceof Player && PrimarySkillType.UNARMED.getPVPEnabled()) { - UnarmedManager unarmedManager = UserManager.getPlayer((Player) target).getUnarmedManager(); + UnarmedManager unarmedManager = mcMMO.getUserManager().getPlayer((Player) target).getUnarmedManager(); if (unarmedManager.canDeflect()) { event.setCancelled(unarmedManager.deflectCheck()); @@ -315,25 +313,25 @@ public final class CombatUtils { // forceMultiplier = arrow.getMetadata(mcMMO.bowForceKey).get(0).asDouble(); applyScaledModifiers(initialDamage, finalDamage, event); - processCombatXP(mcMMOPlayer, target, PrimarySkillType.ARCHERY, distanceMultiplier); + processCombatXP(mmoPlayer, target, PrimarySkillType.ARCHERY, distanceMultiplier); } private static void processCrossbowCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event, Projectile arrow) { double initialDamage = event.getDamage(); - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Make sure the profiles been loaded - if(mcMMOPlayer == null) { + if(mmoPlayer == null) { return; } - CrossbowManager crossbowManager = mcMMOPlayer.getCrossbowManager(); + CrossbowManager crossbowManager = mmoPlayer.getCrossbowManager(); double finalDamage = event.getDamage(); if (target instanceof Player && PrimarySkillType.UNARMED.getPVPEnabled()) { - UnarmedManager unarmedManager = UserManager.getPlayer((Player) target).getUnarmedManager(); + UnarmedManager unarmedManager = mcMMO.getUserManager().getPlayer((Player) target).getUnarmedManager(); if (unarmedManager.canDeflect()) { event.setCancelled(unarmedManager.deflectCheck()); @@ -351,7 +349,7 @@ public final class CombatUtils { double distanceMultiplier = crossbowManager.distanceXpBonusMultiplier(target, arrow); applyScaledModifiers(initialDamage, finalDamage, event); - processCombatXP(mcMMOPlayer, target, PrimarySkillType.CROSSBOWS, distanceMultiplier); + processCombatXP(mmoPlayer, target, PrimarySkillType.CROSSBOWS, distanceMultiplier); } /** @@ -369,12 +367,12 @@ public final class CombatUtils { } Player player = (Player) target; - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - AcrobaticsManager acrobaticsManager = mcMMOPlayer.getAcrobaticsManager(); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + AcrobaticsManager acrobaticsManager = mmoPlayer.getAcrobaticsManager(); if (acrobaticsManager.canDodge(target)) { event.setDamage(acrobaticsManager.dodgeCheck(painSourceRoot, event.getDamage())); @@ -385,7 +383,7 @@ public final class CombatUtils { return; } - SwordsManager swordsManager = mcMMOPlayer.getSwordsManager(); + SwordsManager swordsManager = mmoPlayer.getSwordsManager(); if (swordsManager.canUseCounterAttack(painSource)) { swordsManager.counterAttackChecks((LivingEntity) painSource, event.getDamage()); @@ -396,7 +394,7 @@ public final class CombatUtils { if (painSourceRoot instanceof Player && entityType == EntityType.PLAYER) { Player player = (Player) painSourceRoot; - if (!UserManager.hasPlayerDataKey(player)) { + if (!mcMMO.getUserManager().hasPlayerDataKey(player)) { return; } @@ -404,7 +402,7 @@ public final class CombatUtils { if (target instanceof Tameable) { if (heldItem.getType() == Material.BONE) { - TamingManager tamingManager = UserManager.getPlayer(player).getTamingManager(); + TamingManager tamingManager = mcMMO.getUserManager().getPlayer(player).getTamingManager(); if (tamingManager.canUseBeastLore()) { tamingManager.beastLore(target); @@ -497,8 +495,8 @@ public final class CombatUtils { if (target.getType() != EntityType.CREEPER && !Misc.isNPCEntityExcludingVillagers(player) && PrimarySkillType.TAMING.getPermissions(player)) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - TamingManager tamingManager = mcMMOPlayer.getTamingManager(); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); + TamingManager tamingManager = mmoPlayer.getTamingManager(); tamingManager.attackTarget(target); } } @@ -761,7 +759,7 @@ public final class CombatUtils { NotificationManager.sendPlayerInformation((Player)entity, NotificationType.SUBSKILL_MESSAGE, "Swords.Combat.SS.Struck"); } - UserManager.getPlayer(attacker).getSwordsManager().ruptureCheck(target); + mcMMO.getUserManager().getPlayer(attacker).getSwordsManager().ruptureCheck(target); break; case AXES: @@ -783,35 +781,35 @@ public final class CombatUtils { /** * Start the task that gives combat XP. * - * @param mcMMOPlayer The attacking player + * @param mmoPlayer The attacking player * @param target The defending entity * @param primarySkillType The skill being used */ - public static void processCombatXP(McMMOPlayer mcMMOPlayer, LivingEntity target, PrimarySkillType primarySkillType) { - processCombatXP(mcMMOPlayer, target, primarySkillType, 1.0); + public static void processCombatXP(McMMOPlayer mmoPlayer, LivingEntity target, PrimarySkillType primarySkillType) { + processCombatXP(mmoPlayer, target, primarySkillType, 1.0); } /** * Start the task that gives combat XP. * - * @param mcMMOPlayer The attacking player + * @param mmoPlayer The attacking player * @param target The defending entity * @param primarySkillType The skill being used * @param multiplier final XP result will be multiplied by this */ - public static void processCombatXP(McMMOPlayer mcMMOPlayer, LivingEntity target, PrimarySkillType primarySkillType, double multiplier) { + public static void processCombatXP(McMMOPlayer mmoPlayer, LivingEntity target, PrimarySkillType primarySkillType, double multiplier) { double baseXP = 0; XPGainReason xpGainReason; if (target instanceof Player) { - if (!ExperienceConfig.getInstance().getExperienceGainsPlayerVersusPlayerEnabled() || PartyManager.inSameParty(mcMMOPlayer.getPlayer(), (Player) target)) { + if (!ExperienceConfig.getInstance().getExperienceGainsPlayerVersusPlayerEnabled() || mcMMO.getPartyManager().inSameParty(mmoPlayer.getPlayer(), (Player) target)) { return; } xpGainReason = XPGainReason.PVP; Player defender = (Player) target; - if (defender.isOnline() && SkillUtils.cooldownExpired(mcMMOPlayer.getRespawnATS(), Misc.PLAYER_RESPAWN_COOLDOWN_SECONDS)) { + if (defender.isOnline() && SkillUtils.cooldownExpired(mmoPlayer.getRespawnATS(), Misc.PLAYER_RESPAWN_COOLDOWN_SECONDS)) { baseXP = 20 * ExperienceConfig.getInstance().getPlayerVersusPlayerXP(); } } @@ -868,7 +866,7 @@ public final class CombatUtils { baseXP *= multiplier; if (baseXP != 0) { - new AwardCombatXpTask(mcMMOPlayer, primarySkillType, baseXP, target, xpGainReason).runTaskLater(mcMMO.p, 0); + new AwardCombatXpTask(mmoPlayer, primarySkillType, baseXP, target, xpGainReason).runTaskLater(mcMMO.p, 0); } } @@ -884,14 +882,14 @@ public final class CombatUtils { Player defender = (Player) entity; //TODO: NPC Interaction? - if(UserManager.getPlayer(defender) == null) + if(mcMMO.getUserManager().getPlayer(defender) == null) return true; - if (!defender.getWorld().getPVP() || defender == player || UserManager.getPlayer(defender).getGodMode()) { + if (!defender.getWorld().getPVP() || defender == player || mcMMO.getUserManager().getPlayer(defender).getGodMode()) { return false; } - if ((PartyManager.inSameParty(player, defender) || PartyManager.areAllies(player, defender)) && !(Permissions.friendlyFire(player) && Permissions.friendlyFire(defender))) { + if ((mcMMO.getPartyManager().inSameParty(player, defender) || mcMMO.getPartyManager().areAllies(player, defender)) && !(Permissions.friendlyFire(player) && Permissions.friendlyFire(defender))) { return false; } @@ -949,7 +947,7 @@ public final class CombatUtils { if (tamer instanceof Player) { Player owner = (Player) tamer; - return (owner == attacker || PartyManager.inSameParty(attacker, owner) || PartyManager.areAllies(attacker, owner)); + return (owner == attacker || mcMMO.getPartyManager().inSameParty(attacker, owner) || mcMMO.getPartyManager().areAllies(attacker, owner)); } } diff --git a/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java b/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java index 70063bdea..e890dd582 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.util.skills; import com.gmail.nossr50.config.experience.ExperienceConfig; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import net.md_5.bungee.api.ChatColor; import org.bukkit.entity.Player; @@ -49,7 +48,7 @@ public final class PerksUtils { double modifier = 1.0F; if (Permissions.customXpBoost(player, skill)) { - if(UserManager.getPlayer(player) != null && UserManager.getPlayer(player).isDebugMode()) { + if(mcMMO.getUserManager().getPlayer(player) != null && mcMMO.getUserManager().getPlayer(player).isDebugMode()) { player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.DARK_GRAY + "XP Perk Multiplier IS CUSTOM! "); } @@ -76,7 +75,7 @@ public final class PerksUtils { float modifiedXP = (float) (xp * modifier); - if(UserManager.getPlayer(player) != null && UserManager.getPlayer(player).isDebugMode()) { + if(mcMMO.getUserManager().getPlayer(player) != null && mcMMO.getUserManager().getPlayer(player).isDebugMode()) { player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "XP Perk Multiplier - " + ChatColor.GOLD + modifier); player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "Original XP before perk boosts " + ChatColor.RED + (double) xp); player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "XP AFTER PERKS " + ChatColor.DARK_RED + modifiedXP); diff --git a/src/main/java/com/gmail/nossr50/util/skills/RankUtils.java b/src/main/java/com/gmail/nossr50/util/skills/RankUtils.java index 2fb58d018..4e3802ee0 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/RankUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/RankUtils.java @@ -9,7 +9,6 @@ import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill; import com.gmail.nossr50.listeners.InteractionManager; import com.gmail.nossr50.runnables.skills.SkillUnlockNotificationTask; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -22,15 +21,15 @@ public class RankUtils { /** * * @param plugin plugin instance ref - * @param mcMMOPlayer target player + * @param mmoPlayer target player * @param primarySkillType * @param newLevel the new level of this skill */ - public static void executeSkillUnlockNotifications(Plugin plugin, McMMOPlayer mcMMOPlayer, PrimarySkillType primarySkillType, int newLevel) + public static void executeSkillUnlockNotifications(Plugin plugin, McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, int newLevel) { for(SubSkillType subSkillType : primarySkillType.getSkillAbilities()) { - int playerRankInSkill = getRank(mcMMOPlayer.getPlayer(), subSkillType); + int playerRankInSkill = getRank(mmoPlayer.getPlayer(), subSkillType); HashMap innerMap = subSkillRanks.get(subSkillType.toString()); @@ -39,13 +38,13 @@ public class RankUtils { continue; //Don't send notifications if the player lacks the permission node - if(!Permissions.isSubSkillEnabled(mcMMOPlayer.getPlayer(), subSkillType)) + if(!Permissions.isSubSkillEnabled(mmoPlayer.getPlayer(), subSkillType)) continue; //The players level is the exact level requirement for this skill if(newLevel == innerMap.get(playerRankInSkill)) { - SkillUnlockNotificationTask skillUnlockNotificationTask = new SkillUnlockNotificationTask(mcMMOPlayer, subSkillType, newLevel); + SkillUnlockNotificationTask skillUnlockNotificationTask = new SkillUnlockNotificationTask(mmoPlayer, subSkillType, newLevel); skillUnlockNotificationTask.runTaskLater(plugin, (count * 100)); @@ -177,11 +176,11 @@ public class RankUtils { //Get our rank map HashMap rankMap = subSkillRanks.get(skillName); - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return 0; //Skill level of parent skill - int currentSkillLevel = UserManager.getPlayer(player).getSkillLevel(subSkillType.getParentSkill()); + int currentSkillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(subSkillType.getParentSkill()); for(int i = 0; i < numRanks; i++) { @@ -224,11 +223,11 @@ public class RankUtils { //Get our rank map HashMap rankMap = subSkillRanks.get(skillName); - if(UserManager.getPlayer(player) == null) + if(mcMMO.getUserManager().getPlayer(player) == null) return 0; //Skill level of parent skill - int currentSkillLevel = UserManager.getPlayer(player).getSkillLevel(abstractSubSkill.getPrimarySkill()); + int currentSkillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(abstractSubSkill.getPrimarySkill()); for(int i = 0; i < numRanks; i++) { diff --git a/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java b/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java index bb22911cf..ad302fc8a 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java @@ -15,9 +15,8 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.ItemUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.StringUtils; -import com.gmail.nossr50.util.experience.ExperienceBarManager; +import com.gmail.nossr50.util.experience.MMOExperienceBarManager; import com.gmail.nossr50.util.player.NotificationManager; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -32,46 +31,28 @@ import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; import java.util.ArrayList; -import java.util.HashMap; import java.util.Iterator; import java.util.List; public class SkillUtils { - public static void applyXpGain(McMMOPlayer mcMMOPlayer, PrimarySkillType skill, float xp, XPGainReason xpGainReason) { - mcMMOPlayer.beginXpGain(skill, xp, xpGainReason, XPGainSource.SELF); + public static void applyXpGain(McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, float xp, XPGainReason xpGainReason) { + mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, XPGainSource.SELF); } - public static void applyXpGain(McMMOPlayer mcMMOPlayer, PrimarySkillType skill, float xp, XPGainReason xpGainReason, XPGainSource xpGainSource) { - mcMMOPlayer.beginXpGain(skill, xp, xpGainReason, xpGainSource); + public static void applyXpGain(McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, float xp, XPGainReason xpGainReason, XPGainSource xpGainSource) { + mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, xpGainSource); } - public static HashMap generateDefaultBarStateMap() { - HashMap barStateHashMap = new HashMap<>(); - - setBarStateDefaults(barStateHashMap); - - return barStateHashMap; - } - - public static ExperienceBarManager.BarState asBarState(String str) { - for(ExperienceBarManager.BarState barState : ExperienceBarManager.BarState.values()) { + public static MMOExperienceBarManager.BarState asBarState(String str) { + for(MMOExperienceBarManager.BarState barState : MMOExperienceBarManager.BarState.values()) { if(barState.toString().equalsIgnoreCase(str)) { return barState; } } - return ExperienceBarManager.BarState.NORMAL; - } - - public static void setBarStateDefaults(HashMap barStateHashMap) { - for(PrimarySkillType skillType : PrimarySkillType.values()) { - if(skillType.isChildSkill()) { - barStateHashMap.put(skillType, ExperienceBarManager.BarState.DISABLED); - } else { - barStateHashMap.put(skillType, ExperienceBarManager.BarState.NORMAL); - } - } + mcMMO.p.getLogger().severe("Unable to read bar state for value " + str + " setting to default instead."); + return MMOExperienceBarManager.BarState.NORMAL; } /* @@ -198,13 +179,13 @@ public class SkillUtils { } } - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); //Not Loaded - if(mcMMOPlayer == null) + if(mmoPlayer == null) return; - PrimarySkillType skill = mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER) ? PrimarySkillType.MINING : PrimarySkillType.EXCAVATION; + PrimarySkillType skill = mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER) ? PrimarySkillType.MINING : PrimarySkillType.EXCAVATION; int abilityLengthVar = AdvancedConfig.getInstance().getAbilityLength(); int abilityLengthCap = AdvancedConfig.getInstance().getAbilityLengthCap(); @@ -213,10 +194,10 @@ public class SkillUtils { if(abilityLengthCap > 0) { - ticks = PerksUtils.handleActivationPerks(player, Math.min(abilityLengthCap, 2 + (mcMMOPlayer.getSkillLevel(skill) / abilityLengthVar)), + ticks = PerksUtils.handleActivationPerks(player, Math.min(abilityLengthCap, 2 + (mmoPlayer.getExperienceManager().getSkillLevel(skill) / abilityLengthVar)), skill.getSuperAbilityType().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR; } else { - ticks = PerksUtils.handleActivationPerks(player, 2 + ((mcMMOPlayer.getSkillLevel(skill)) / abilityLengthVar), + ticks = PerksUtils.handleActivationPerks(player, 2 + ((mmoPlayer.getExperienceManager().getSkillLevel(skill)) / abilityLengthVar), skill.getSuperAbilityType().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR; } diff --git a/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java b/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java index 630991341..a8cd573c8 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java +++ b/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.Permissions; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.OfflinePlayer; @@ -22,12 +21,12 @@ public class SmeltingTracker { private void changeFurnaceOwnership(Furnace furnace, Player player) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); + McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player); /* Debug output */ - printOwnershipGainDebug(furnace, mcMMOPlayer); + printOwnershipGainDebug(furnace, mmoPlayer); printOwnershipLossDebug(furnace); @@ -38,10 +37,10 @@ public class SmeltingTracker { mcMMO.getCompatibilityManager().getPersistentDataLayer().setFurnaceOwner(furnace, player.getUniqueId()); } - private void printOwnershipGainDebug(Furnace furnace, McMMOPlayer mcMMOPlayer) { - if(mcMMOPlayer != null) { - if(mcMMOPlayer.isDebugMode()) { - mcMMOPlayer.getPlayer().sendMessage("Furnace ownership " + + private void printOwnershipGainDebug(Furnace furnace, McMMOPlayer mmoPlayer) { + if(mmoPlayer != null) { + if(mmoPlayer.isDebugMode()) { + mmoPlayer.getPlayer().sendMessage("Furnace ownership " + ChatColor.GREEN +"gained " + ChatColor.RESET + "at location: " + furnace.getLocation().toString()); } @@ -53,7 +52,7 @@ public class SmeltingTracker { OfflinePlayer furnaceOwner = getFurnaceOwner(furnace); if(furnaceOwner != null && furnaceOwner.isOnline()) { - McMMOPlayer furnaceOwnerProfile = UserManager.getPlayer(furnaceOwner.getPlayer()); + McMMOPlayer furnaceOwnerProfile = mcMMO.getUserManager().getPlayer(furnaceOwner.getPlayer()); if(furnaceOwnerProfile != null) { if(furnaceOwnerProfile.isDebugMode()) { diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index f509bfac5..33191c7b7 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -213,15 +213,6 @@ Hardcore: Tridents: false Crossbows: false -# -# Settings for SMP Mods -### -Mods: - Tool_Mods_Enabled: false - Armor_Mods_Enabled: false - Block_Mods_Enabled: false - Entity_Mods_Enabled: false - # # Settings for mcMMO items ### diff --git a/src/main/resources/mods/armor.default.yml b/src/main/resources/mods/armor.default.yml deleted file mode 100644 index 14604141d..000000000 --- a/src/main/resources/mods/armor.default.yml +++ /dev/null @@ -1,131 +0,0 @@ -# -# Armor example configuration -# Last updated on ${project.version}-b${BUILD_NUMBER} -# -# Any file named armor.*.yml in the mod folder will be loaded as a armor config -# For every armor type there is a separate section. -# The names of each subitem should be the exact material name. -# The bare minimum of an Armor piece is that it has a Repair_Material -# -# -# Repairable: Whether or not the item is repairable -## This defaults to true -# -# Repair_Material: This is the material name of the item used to repair this armor. -## This is required to be set if you want to be able to repair the item. -# -# Repair_Material_Data_Value: This is the metadata of the item used to repair this armor. -## A value of -1 means to ignore all metadata when repairing. -## This defaults to -1 -# -# Repair_Material_Quantity: This is the minimum number of items needed to repair this item ignoring all other repair bonuses. -## This is typically the number of the repair material needed to create a new item, for example for a sword it is 2, for an axe it is 3 -## This defaults to 9 -# -# Repair_Material_Pretty_Name: The pretty name of the repair material. -## Used in the feedback message when not enough repair materials are found. -## This defaults to the Repair_Material converted to string. -# -# Repair_Material_Pretty_Name: The pretty name of the repair material. -## Used in the feedback message when not enough repair materials are found. -## This defaults to the Repair_Material converted to string. -# -# Repair_MinimumLevel: This is the minimum repair level needed to repair this item. -## Valid values are => 0 -## This defaults to 0 -# -# Repair_XpMultiplier: This is the amount to multiply the xp bonus by. -## This defaults to 1 -# -# Durability: This is the maximum durability of the armor. -## Valid values are >= 1 -# -### -# -# Settings for Boots -### -Boots: - Boot_1: - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 999 - Boot_2: - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 999 -# -# Settings for Chestplates -### -Chestplates: - Chestplate_1: - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 999 - Chestplate_2: - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 999 -# -# Settings for Helmets -### -Helmets: - Helmet_1: - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 999 - Helmet_2: - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 999 -# -# Settings for Leggings -### -Leggings: - Legging_1: - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 999 - Legging_2: - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 999 \ No newline at end of file diff --git a/src/main/resources/mods/blocks.default.yml b/src/main/resources/mods/blocks.default.yml deleted file mode 100644 index 65e66be50..000000000 --- a/src/main/resources/mods/blocks.default.yml +++ /dev/null @@ -1,57 +0,0 @@ -# -# Settings for Custom Excavation Blocks -### -Excavation: - Block_1|0: - XP_Gain: 99 - Double_Drops_Enabled: true - Block_2|0: - XP_Gain: 99 - Double_Drops_Enabled: true - -# -# Settings for Custom Herbalism Blocks -### -Herbalism: - Block_1|0: - XP_Gain: 99 - Double_Drops_Enabled: true - Block_2|0: - XP_Gain: 99 - Double_Drops_Enabled: true - -# -# Settings for Custom Mining Blocks -### -Mining: - Block_1|0: - XP_Gain: 99 - Double_Drops_Enabled: true - Is_Ore: true - Smelting_XP_Gain: 9 - Block_2|0: - XP_Gain: 99 - Double_Drops_Enabled: true - Is_Ore: true - Smelting_XP_Gain: 9 - -# -# Settings for Custom Woodcutting Blocks -### -Woodcutting: - Block_1|0: - XP_Gain: 99 - Double_Drops_Enabled: true - Is_Log: true - Block_2|0: - XP_Gain: 99 - Double_Drops_Enabled: true - Is_Log: true - -# -# Settings for Custom Ability Blocks -# (These blocks don't trigger abilities) -### -Ability_Blocks: - Block_1|0: - Block_2|0: \ No newline at end of file diff --git a/src/main/resources/mods/entities.default.yml b/src/main/resources/mods/entities.default.yml deleted file mode 100644 index e40e69c01..000000000 --- a/src/main/resources/mods/entities.default.yml +++ /dev/null @@ -1,42 +0,0 @@ -# -# Settings for Custom Mobs -# -# Mob name should be the entity type of the mob - usually "ModName_EntityName" -# Be sure to use the "_" character in place of any "." characters in the mob name. -### -Mob_1: - Class: CLASS_NAME - XP_Multiplier: 1.0 - Tameable: false - Taming_XP: 250 - CanBeSummoned: false - COTW_Material: MATERIAL_NAME - COTW_Material_Data: 9 - COTW_Material_Amount: 99 -Mob_2: - Class: CLASS_NAME - XP_Multiplier: 1.0 - Tameable: false - Taming_XP: 250 - CanBeSummoned: false - COTW_Material: MATERIAL_NAME - COTW_Material_Data: 9 - COTW_Material_Amount: 99 -Mob_3: - Class: CLASS_NAME - XP_Multiplier: 1.0 - Tameable: false - Taming_XP: 250 - CanBeSummoned: false - COTW_Material: MATERIAL_NAME - COTW_Material_Data: 9 - COTW_Material_Amount: 99 -Mob_4: - Class: CLASS_NAME - XP_Multiplier: 1.0 - Tameable: false - Taming_XP: 250 - CanBeSummoned: false - COTW_Material: MATERIAL_NAME - COTW_Material_Data: 9 - COTW_Material_Amount: 99 diff --git a/src/main/resources/mods/tools.default.yml b/src/main/resources/mods/tools.default.yml deleted file mode 100644 index fe1d15507..000000000 --- a/src/main/resources/mods/tools.default.yml +++ /dev/null @@ -1,220 +0,0 @@ -# -# Tools example configuration -# Last updated on ${project.version}-b${BUILD_NUMBER} -# -# Any file named tools.*.yml in the mod folder will be loaded as a tools config -# For every tool type there is a separate section. -# The names of each subitem should be the exact material name. -# The bare minimum of a Tool is that it has a Repair_Material -# -# -# -# XP_Modifier: This is the xp modifier of the tool, xp is multiplied by this modifier. -## Valid values are > 0 -## This defaults to 1.0. -# -# Tier: The tier of the tool -## Used to determine the capabilities of AoE abilities with certain skills -## Valid values range from 1 to 4 -## This defaults to 1 -# -# Ability_Enabled: Whether or not abilities are enabled with this tool -## This defaults to true -# -# Repairable: Whether or not the item is repairable -## This defaults to true -# -# Repair_Material: This is the material name of the item used to repair this tool. -## This is required to be set if you want to be able to repair the item. -# -# Repair_Material_Data_Value: This is the metadata of the item used to repair this tool. -## A value of -1 means to ignore all metadata when repairing. -## This defaults to -1 -# -# Repair_Material_Quantity: This is the minimum number of items needed to repair this item ignoring all other repair bonuses. -## This is typically the number of the repair material needed to create a new item, for example for a sword it is 2, for an axe it is 3 -## This defaults to 9 -# -# Repair_Material_Pretty_Name: The pretty name of the repair material. -## Used in the feedback message when not enough repair materials are found. -## This defaults to the Repair_Material converted to string. -# -# Repair_MinimumLevel: This is the minimum repair level needed to repair this item. -## Valid values are => 0 -## This defaults to 0 -# -# Repair_XpMultiplier: This is the amount to multiply the xp bonus by. -## This defaults to 1 -# -# Durability: This is the maximum durability of the tool. -## Valid values are >= 1 -# -### -# -# Settings for Axes -### -Axes: - Axe_1: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 - Axe_2: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 -# -# Settings for Bows -### -Bows: - Bow_1: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 - Bow_2: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 -# -# Settings for Hoes -### -Hoes: - Hoe_1: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 - Hoe_2: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 -# -# Settings for Pickaxes -### -Pickaxes: - Pickaxe_1: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 - Pickaxe_2: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 -# -# Settings for Shovels -### -Shovels: - Shovel_1: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 - Shovel_2: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 -# -# Settings for Swords -### -Swords: - Sword_1: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 - Sword_2: - XP_Modifier: 1.0 - Ability_Enabled: true - Tier: 1 - Repairable: true - Repair_Material: REPAIR_MATERIAL_NAME - Repair_Material_Data_Value: 0 - Repair_Material_Quantity: 9 - Repair_Material_Pretty_Name: Repair Item Name - Repair_MinimumLevel: 0 - Repair_XpMultiplier: 1.0 - Durability: 9999 \ No newline at end of file diff --git a/src/main/resources/treasures.yml b/src/main/resources/treasures.yml index 077a628c8..ab8acd47d 100755 --- a/src/main/resources/treasures.yml +++ b/src/main/resources/treasures.yml @@ -523,6 +523,10 @@ Excavation: XP: 150 Drop_Chance: 5.0 Drop_Level: 75 + Lore: + - Line 1 + - Line 2 + Custom_Name: Custom Name Test Drops_From: [Clay] STRING: Amount: 1