From 564b8ceb94923b8f84c5b16237252bb3c28a325b Mon Sep 17 00:00:00 2001 From: nossr50 Date: Tue, 24 Sep 2019 16:34:12 -0700 Subject: [PATCH] More dependency injection fixes in many file --- .../commands/admin/PlayerDebugCommand.java | 10 ++- .../experience/ConvertExperienceCommand.java | 7 +- .../commands/player/CooldownCommand.java | 15 ++-- .../commands/player/InspectCommand.java | 6 +- .../commands/player/LeaderboardCommand.java | 9 +-- .../nossr50/commands/player/RankCommand.java | 4 +- .../commands/player/SkillStatsCommand.java | 5 +- .../hocon/skills/taming/ConfigTaming.java | 5 -- .../skills/taming/ConfigTamingSubSkills.java | 5 -- .../gmail/nossr50/core/TamingItemManager.java | 3 +- .../runnables/skills/AbilityCooldownTask.java | 12 ++-- .../gmail/nossr50/skills/unarmed/Unarmed.java | 69 ------------------- .../skills/unarmed/UnarmedManager.java | 3 +- 13 files changed, 41 insertions(+), 112 deletions(-) delete mode 100644 src/main/java/com/gmail/nossr50/skills/unarmed/Unarmed.java 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 e5b4f47e3..b48e76939 100644 --- a/src/main/java/com/gmail/nossr50/commands/admin/PlayerDebugCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/admin/PlayerDebugCommand.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.commands.admin; import com.gmail.nossr50.datatypes.player.McMMOPlayer; -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; @@ -9,10 +9,16 @@ import org.bukkit.entity.Player; public class PlayerDebugCommand implements CommandExecutor { + private final mcMMO pluginRef; + + public PlayerDebugCommand(mcMMO pluginRef) { + this.pluginRef = pluginRef; + } + @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if(sender instanceof Player) { - McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender); + McMMOPlayer mcMMOPlayer = pluginRef.getUserManager().getPlayer((Player) sender); mcMMOPlayer.toggleDebugMode(); //Toggle debug mode pluginRef.getNotificationManager().sendPlayerInformationChatOnlyPrefixed(mcMMOPlayer.getPlayer(), "Commands.Mmodebug.Toggle", String.valueOf(mcMMOPlayer.isDebugMode())); return true; 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 aedfbe7df..c652fb7b2 100644 --- a/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java @@ -22,7 +22,6 @@ public class ConvertExperienceCommand implements CommandExecutor { switch (args.length) { case 2: - for(FormulaType formulaType : FormulaType.values()) { if(formulaType.toString().equalsIgnoreCase(args[1])) { FormulaType previousType = formulaType; @@ -32,10 +31,10 @@ public class ConvertExperienceCommand implements CommandExecutor { pluginRef.getUserManager().saveAll(); pluginRef.getUserManager().clearAll(); - new FormulaConversionTask(sender, previousType).runTaskLater(pluginRef, 1); + new FormulaConversionTask(pluginRef, sender, previousType).runTaskLater(pluginRef, 1); for (Player player : pluginRef.getServer().getOnlinePlayers()) { - new PlayerProfileLoadingTask(player).runTaskLaterAsynchronously(pluginRef, 1); // 1 Tick delay to ensure the player is marked as online before we begin loading + new PlayerProfileLoadingTask(pluginRef, player).runTaskLaterAsynchronously(pluginRef, 1); // 1 Tick delay to ensure the player is marked as online before we begin loading } return true; @@ -45,8 +44,6 @@ public class ConvertExperienceCommand implements CommandExecutor { sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcconvert.Experience.Invalid")); return true; - - default: return false; } diff --git a/src/main/java/com/gmail/nossr50/commands/player/CooldownCommand.java b/src/main/java/com/gmail/nossr50/commands/player/CooldownCommand.java index f72970acc..4645df211 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/CooldownCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/CooldownCommand.java @@ -3,6 +3,7 @@ package com.gmail.nossr50.commands.player; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.scoreboards.SidebarType; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -33,10 +34,10 @@ public class CooldownCommand implements TabExecutor { case 0: Player player = (Player) sender; - if (pluginRef.getScoreboardSettings().getScoreboardsEnabled() && pluginRef.getScoreboardSettings().isScoreboardEnabled(pluginRef.getScoreboardManager().SidebarType.COOLDOWNS_BOARD)) { + if (pluginRef.getScoreboardSettings().getScoreboardsEnabled() && pluginRef.getScoreboardSettings().isScoreboardEnabled(SidebarType.COOLDOWNS_BOARD)) { pluginRef.getScoreboardManager().enablePlayerCooldownScoreboard(player); - if (!pluginRef.getScoreboardSettings().isScoreboardPrinting(pluginRef.getScoreboardManager().SidebarType.COOLDOWNS_BOARD)) { + if (!pluginRef.getScoreboardSettings().isScoreboardPrinting(SidebarType.COOLDOWNS_BOARD)) { return true; } } @@ -51,17 +52,17 @@ public class CooldownCommand implements TabExecutor { player.sendMessage(pluginRef.getLocaleManager().getString("Commands.Cooldowns.Header")); player.sendMessage(pluginRef.getLocaleManager().getString("mcMMO.NoSkillNote")); - for (SuperAbilityType ability : SuperAbilityType.values()) { - if (!ability.superAbilityPermissionCheck(player)) { + for (SuperAbilityType superAbilityType : SuperAbilityType.values()) { + if (!pluginRef.getSkillTools().superAbilityPermissionCheck(superAbilityType, player)) { continue; } - int seconds = mcMMOPlayer.calculateTimeRemaining(ability); + int seconds = mcMMOPlayer.calculateTimeRemaining(superAbilityType); if (seconds <= 0) { - player.sendMessage(pluginRef.getLocaleManager().getString("Commands.Cooldowns.Row.Y", ability.getPrettySuperAbilityName())); + player.sendMessage(pluginRef.getLocaleManager().getString("Commands.Cooldowns.Row.Y", pluginRef.getSkillTools().getPrettySuperAbilityName(superAbilityType))); } else { - player.sendMessage(pluginRef.getLocaleManager().getString("Commands.Cooldowns.Row.N", ability.getPrettySuperAbilityName(), seconds)); + player.sendMessage(pluginRef.getLocaleManager().getString("Commands.Cooldowns.Row.N", pluginRef.getSkillTools().getPrettySuperAbilityName(superAbilityType), seconds)); } } 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 8592dd970..95e335d23 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/InspectCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/InspectCommand.java @@ -50,17 +50,17 @@ public class InspectCommand implements TabExecutor { sender.sendMessage(pluginRef.getLocaleManager().getString("Inspect.OfflineStats", playerName)); sender.sendMessage(pluginRef.getLocaleManager().getString("Stats.Header.Gathering")); - for (PrimarySkillType skill : PrimarySkillType.GATHERING_SKILLS) { + for (PrimarySkillType skill : pluginRef.getSkillTools().GATHERING_SKILLS) { sender.sendMessage(pluginRef.getCommandTools().displaySkill(profile, skill)); } sender.sendMessage(pluginRef.getLocaleManager().getString("Stats.Header.Combat")); - for (PrimarySkillType skill : PrimarySkillType.COMBAT_SKILLS) { + for (PrimarySkillType skill : pluginRef.getSkillTools().COMBAT_SKILLS) { sender.sendMessage(pluginRef.getCommandTools().displaySkill(profile, skill)); } sender.sendMessage(pluginRef.getLocaleManager().getString("Stats.Header.Misc")); - for (PrimarySkillType skill : PrimarySkillType.MISC_SKILLS) { + for (PrimarySkillType skill : pluginRef.getSkillTools().MISC_SKILLS) { sender.sendMessage(pluginRef.getCommandTools().displaySkill(profile, skill)); } diff --git a/src/main/java/com/gmail/nossr50/commands/player/LeaderboardCommand.java b/src/main/java/com/gmail/nossr50/commands/player/LeaderboardCommand.java index 302b8788f..f4a409685 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/LeaderboardCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/LeaderboardCommand.java @@ -6,6 +6,7 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.commands.LeaderboardsCommandAsyncTask; import com.gmail.nossr50.util.StringUtils; +import com.gmail.nossr50.util.scoreboards.SidebarType; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -116,10 +117,10 @@ public class LeaderboardCommand implements TabExecutor { } private void display(int page, PrimarySkillType skill, CommandSender sender) { - boolean useBoard = (sender instanceof Player) && (pluginRef.getScoreboardSettings().isScoreboardEnabled(pluginRef.getScoreboardManager().SidebarType.TOP_BOARD)); - boolean useChat = !useBoard || pluginRef.getScoreboardSettings().isScoreboardPrinting(pluginRef.getScoreboardManager().SidebarType.TOP_BOARD); + boolean useBoard = (sender instanceof Player) && (pluginRef.getScoreboardSettings().isScoreboardEnabled(SidebarType.TOP_BOARD)); + boolean useChat = !useBoard || pluginRef.getScoreboardSettings().isScoreboardPrinting(SidebarType.TOP_BOARD); - new LeaderboardsCommandAsyncTask(page, skill, sender, useBoard, useChat).runTaskAsynchronously(pluginRef); + new LeaderboardsCommandAsyncTask(pluginRef, page, skill, sender, useBoard, useChat).runTaskAsynchronously(pluginRef); } private PrimarySkillType extractSkill(CommandSender sender, String skillName) { @@ -127,7 +128,7 @@ public class LeaderboardCommand implements TabExecutor { return null; } - PrimarySkillType skill = PrimarySkillType.matchSkill(skillName); + PrimarySkillType skill = pluginRef.getSkillTools().matchSkill(skillName); if (pluginRef.getCommandTools().isChildSkill(sender, skill)) { return null; diff --git a/src/main/java/com/gmail/nossr50/commands/player/RankCommand.java b/src/main/java/com/gmail/nossr50/commands/player/RankCommand.java index a01fa1c11..a527d2351 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/RankCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/RankCommand.java @@ -113,8 +113,8 @@ public class RankCommand implements TabExecutor { } boolean useBoard = pluginRef.getScoreboardSettings().getScoreboardsEnabled() && (sender instanceof Player) - && (pluginRef.getScoreboardSettings().isScoreboardEnabled(pluginRef.getScoreboardManager().SidebarType.RANK_BOARD)); - boolean useChat = !useBoard || pluginRef.getScoreboardSettings().isScoreboardPrinting(pluginRef.getScoreboardManager().SidebarType.RANK_BOARD); + && (pluginRef.getScoreboardSettings().isScoreboardEnabled(SidebarType.RANK_BOARD)); + boolean useChat = !useBoard || pluginRef.getScoreboardSettings().isScoreboardPrinting(SidebarType.RANK_BOARD); new RankCommandAsyncTask(playerName, sender, useBoard, useChat).runTaskAsynchronously(pluginRef); } diff --git a/src/main/java/com/gmail/nossr50/commands/player/SkillStatsCommand.java b/src/main/java/com/gmail/nossr50/commands/player/SkillStatsCommand.java index bb9e1215e..ad6664176 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/SkillStatsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/SkillStatsCommand.java @@ -1,6 +1,7 @@ package com.gmail.nossr50.commands.player; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.scoreboards.SidebarType; import com.google.common.collect.ImmutableList; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -36,10 +37,10 @@ public class SkillStatsCommand implements TabExecutor { Player player = (Player) sender; - if (pluginRef.getScoreboardSettings().isScoreboardEnabled(pluginRef.getScoreboardManager().SidebarType.STATS_BOARD) && pluginRef.getScoreboardSettings().getScoreboardsEnabled()) { + if (pluginRef.getScoreboardSettings().isScoreboardEnabled(SidebarType.STATS_BOARD) && pluginRef.getScoreboardSettings().getScoreboardsEnabled()) { pluginRef.getScoreboardManager().enablePlayerStatsScoreboard(player); - if (!pluginRef.getScoreboardSettings().isScoreboardPrinting(pluginRef.getScoreboardManager().SidebarType.STATS_BOARD)) { + if (!pluginRef.getScoreboardSettings().isScoreboardPrinting(SidebarType.STATS_BOARD)) { return true; } } diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/taming/ConfigTaming.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/taming/ConfigTaming.java index b4a6f99a5..62741e615 100644 --- a/src/main/java/com/gmail/nossr50/config/hocon/skills/taming/ConfigTaming.java +++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/taming/ConfigTaming.java @@ -1,7 +1,6 @@ package com.gmail.nossr50.config.hocon.skills.taming; import com.gmail.nossr50.config.ConfigConstants; -import com.gmail.nossr50.datatypes.skills.subskills.taming.CallOfTheWildType; import ninja.leaping.configurate.objectmapping.Setting; import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable; @@ -47,10 +46,6 @@ public class ConfigTaming { return subSkills.getPummel(); } - public String getItemString(CallOfTheWildType callOfTheWildType) { - return subSkills.getItemString(callOfTheWildType); - } - public double getMinHorseJumpStrength() { return subSkills.getMinHorseJumpStrength(); } diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/taming/ConfigTamingSubSkills.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/taming/ConfigTamingSubSkills.java index edfee1679..3bbba81e6 100644 --- a/src/main/java/com/gmail/nossr50/config/hocon/skills/taming/ConfigTamingSubSkills.java +++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/taming/ConfigTamingSubSkills.java @@ -1,6 +1,5 @@ package com.gmail.nossr50.config.hocon.skills.taming; -import com.gmail.nossr50.datatypes.skills.subskills.taming.CallOfTheWildType; import ninja.leaping.configurate.objectmapping.Setting; import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable; @@ -63,10 +62,6 @@ public class ConfigTamingSubSkills { return pummel; } - public String getItemString(CallOfTheWildType callOfTheWildType) { - return callOfTheWild.getItemString(callOfTheWildType); - } - public double getMinHorseJumpStrength() { return callOfTheWild.getMinHorseJumpStrength(); } diff --git a/src/main/java/com/gmail/nossr50/core/TamingItemManager.java b/src/main/java/com/gmail/nossr50/core/TamingItemManager.java index cac7e3f70..450b42c0d 100644 --- a/src/main/java/com/gmail/nossr50/core/TamingItemManager.java +++ b/src/main/java/com/gmail/nossr50/core/TamingItemManager.java @@ -42,7 +42,8 @@ public class TamingItemManager { } public void registerSummonItemRelationships(CallOfTheWildType callOfTheWildType, Material defaultType) { - String materialString = pluginRef.getConfigManager().getConfigTaming().getSubSkills().getCallOfTheWild().getItemString(callOfTheWildType); + //TODO: Unnecessarily complicated + String materialString = pluginRef.getConfigManager().getConfigTaming().getSubSkills().getCallOfTheWild().getCOTWSummon(callOfTheWildType).getItemType().getKey().toString(); pluginRef.getLogger().info("Registering COTW Summon Item - "+callOfTheWildType.toString()+" | "+materialString); Material material = Material.matchMaterial(materialString); 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 6cf658a17..6fefda6c3 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java @@ -9,23 +9,23 @@ import org.bukkit.scheduler.BukkitRunnable; public class AbilityCooldownTask extends BukkitRunnable { private final mcMMO pluginRef; private final McMMOPlayer mcMMOPlayer; - private final SuperAbilityType ability; + private final SuperAbilityType superAbilityType; - public AbilityCooldownTask(mcMMO pluginRef, McMMOPlayer mcMMOPlayer, SuperAbilityType ability) { + public AbilityCooldownTask(mcMMO pluginRef, McMMOPlayer mcMMOPlayer, SuperAbilityType superAbilityType) { this.pluginRef = pluginRef; this.mcMMOPlayer = mcMMOPlayer; - this.ability = ability; + this.superAbilityType = superAbilityType; } @Override public void run() { - if (!mcMMOPlayer.getPlayer().isOnline() || mcMMOPlayer.getSuperAbilityInformed(ability)) { + if (!mcMMOPlayer.getPlayer().isOnline() || mcMMOPlayer.getSuperAbilityInformed(superAbilityType)) { return; } - mcMMOPlayer.setAbilityInformed(ability, true); + mcMMOPlayer.setAbilityInformed(superAbilityType, true); - pluginRef.getNotificationManager().sendPlayerInformation(mcMMOPlayer.getPlayer(), NotificationType.ABILITY_REFRESHED, ability.getSuperAbilityRefreshedStr()); + pluginRef.getNotificationManager().sendPlayerInformation(mcMMOPlayer.getPlayer(), NotificationType.ABILITY_REFRESHED, pluginRef.getSkillTools().getSuperAbilityRefreshedStr(superAbilityType)); //mcMMOPlayer.getPlayer().sendMessage(ability.getAbilityRefresh()); } } diff --git a/src/main/java/com/gmail/nossr50/skills/unarmed/Unarmed.java b/src/main/java/com/gmail/nossr50/skills/unarmed/Unarmed.java deleted file mode 100644 index 76cf88fa6..000000000 --- a/src/main/java/com/gmail/nossr50/skills/unarmed/Unarmed.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.gmail.nossr50.skills.unarmed; - -import com.gmail.nossr50.util.sounds.SoundType; -import org.bukkit.entity.Player; -import org.bukkit.event.entity.EntityPickupItemEvent; -import org.bukkit.inventory.ItemStack; - -public class Unarmed { -// public static boolean blockCrackerSmoothBrick = MainConfig.getInstance().getUnarmedBlockCrackerSmoothbrickToCracked(); - public static double berserkDamageModifier = 1.5; - - public static void handleItemPickup(Player player, EntityPickupItemEvent event) { - ItemStack[] storageContents = player.getInventory().getStorageContents(); - ItemStack itemDrop = event.getItem().getItemStack(); - int heldItemSlotID = player.getInventory().getHeldItemSlot(); - - int amount = itemDrop.getAmount(); - boolean grabbedItem = false; - - for (int i = 0; i <= storageContents.length - 1; i++) { - if (amount <= 0) - break; - - if (i == heldItemSlotID) - continue; - - //EMPTY SLOT! - if (storageContents[i] == null) { - player.getInventory().setItem(i, itemDrop); - amount = 0; - grabbedItem = true; - break; - } else if (itemDrop.isSimilar(storageContents[i]) && storageContents[i].getAmount() < storageContents[i].getMaxStackSize()) { - //If we can fit this whole itemstack into this item - if (amount + storageContents[i].getAmount() <= storageContents[i].getMaxStackSize()) { - ItemStack modifiedAmount = storageContents[i]; - modifiedAmount.setAmount(amount + storageContents[i].getAmount()); - - player.getInventory().setItem(i, modifiedAmount); - grabbedItem = true; - amount = 0; - } else { - //Add what we can from this stack - ItemStack modifiedAmount = storageContents[i]; - int amountThatCanFit = storageContents[i].getMaxStackSize() - storageContents[i].getAmount(); - modifiedAmount.setAmount(amountThatCanFit); - - player.getInventory().setItem(i, modifiedAmount); - - //Remove the amount we've added - grabbedItem = true; - amount -= amountThatCanFit; - } - } - } - - if (amount <= 0) - event.getItem().remove(); //Cleanup Item - else - event.getItem().getItemStack().setAmount(amount); - - event.setCancelled(true); - - if (grabbedItem) { - pluginRef.getSoundManager().sendSound(player, player.getLocation(), SoundType.POP); - player.updateInventory(); - } - } -} 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 864624d45..ff4f6dd3e 100644 --- a/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java +++ b/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java @@ -21,6 +21,7 @@ import org.bukkit.inventory.ItemStack; public class UnarmedManager extends SkillManager { private long lastAttacked; private long attackInterval; + public double berserkDamageModifier = 1.5; public UnarmedManager(mcMMO pluginRef, McMMOPlayer mcMMOPlayer) { super(pluginRef, mcMMOPlayer, PrimarySkillType.UNARMED); @@ -135,7 +136,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) - damage; + damage = (damage * berserkDamageModifier) - damage; return damage; }