Static Abuse Removal PerkUtils

This commit is contained in:
nossr50 2019-09-24 17:01:08 -07:00
parent f7aaf25d93
commit f52144fb3e
7 changed files with 27 additions and 19 deletions

View File

@ -31,7 +31,6 @@ import com.gmail.nossr50.skills.taming.TamingManager;
import com.gmail.nossr50.skills.unarmed.UnarmedManager; import com.gmail.nossr50.skills.unarmed.UnarmedManager;
import com.gmail.nossr50.skills.woodcutting.WoodcuttingManager; import com.gmail.nossr50.skills.woodcutting.WoodcuttingManager;
import com.gmail.nossr50.util.experience.ExperienceBarManager; import com.gmail.nossr50.util.experience.ExperienceBarManager;
import com.gmail.nossr50.util.skills.PerksUtils;
import com.gmail.nossr50.util.sounds.SoundType; import com.gmail.nossr50.util.sounds.SoundType;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.bukkit.GameMode; import org.bukkit.GameMode;
@ -1012,7 +1011,7 @@ public class McMMOPlayer {
*/ */
public int calculateTimeRemaining(SuperAbilityType superAbilityType) { public int calculateTimeRemaining(SuperAbilityType superAbilityType) {
long deactivatedTimestamp = profile.getAbilityDATS(superAbilityType) * pluginRef.getMiscTools().TIME_CONVERSION_FACTOR; long deactivatedTimestamp = profile.getAbilityDATS(superAbilityType) * pluginRef.getMiscTools().TIME_CONVERSION_FACTOR;
return (int) (((deactivatedTimestamp + (PerksUtils.handleCooldownPerks(player, return (int) (((deactivatedTimestamp + (pluginRef.getPerkUtils().handleCooldownPerks(player,
pluginRef.getSkillTools().getSuperAbilityCooldown(superAbilityType)) * pluginRef.getMiscTools().TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / pluginRef.getMiscTools().TIME_CONVERSION_FACTOR); pluginRef.getSkillTools().getSuperAbilityCooldown(superAbilityType)) * pluginRef.getMiscTools().TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / pluginRef.getMiscTools().TIME_CONVERSION_FACTOR);
} }

View File

@ -7,7 +7,6 @@ import com.gmail.nossr50.datatypes.player.PlayerProfile;
import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType;
import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.random.RandomChanceSkill; import com.gmail.nossr50.util.random.RandomChanceSkill;
import com.gmail.nossr50.util.skills.PerksUtils;
import com.gmail.nossr50.util.skills.SkillActivationType; import com.gmail.nossr50.util.skills.SkillActivationType;
import com.gmail.nossr50.util.sounds.SoundType; import com.gmail.nossr50.util.sounds.SoundType;
import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.chat.ComponentBuilder;
@ -221,7 +220,7 @@ public class Roll extends AcrobaticsSubSkill {
} }
private int getActivationChance(McMMOPlayer mcMMOPlayer) { private int getActivationChance(McMMOPlayer mcMMOPlayer) {
return PerksUtils.handleLuckyPerks(mcMMOPlayer.getPlayer(), getPrimarySkill()); return pluginRef.getPerkUtils().handleLuckyPerks(mcMMOPlayer.getPlayer(), getPrimarySkill());
} }
/** /**

View File

@ -41,6 +41,7 @@ import com.gmail.nossr50.util.player.UserManager;
import com.gmail.nossr50.util.random.RandomChanceTools; import com.gmail.nossr50.util.random.RandomChanceTools;
import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
import com.gmail.nossr50.util.skills.CombatTools; import com.gmail.nossr50.util.skills.CombatTools;
import com.gmail.nossr50.util.skills.PerkUtils;
import com.gmail.nossr50.util.skills.RankTools; import com.gmail.nossr50.util.skills.RankTools;
import com.gmail.nossr50.util.skills.SkillTools; import com.gmail.nossr50.util.skills.SkillTools;
import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.util.sounds.SoundManager;
@ -86,6 +87,7 @@ public class mcMMO extends JavaPlugin {
private UserManager userManager; private UserManager userManager;
private ScoreboardManager scoreboardManager; private ScoreboardManager scoreboardManager;
private SoundManager soundManager; private SoundManager soundManager;
private HardcoreManager hardcoreManager;
/* Not-Managers but my naming scheme sucks */ /* Not-Managers but my naming scheme sucks */
private DatabaseManagerFactory databaseManagerFactory; private DatabaseManagerFactory databaseManagerFactory;
@ -105,7 +107,7 @@ public class mcMMO extends JavaPlugin {
private MessageOfTheDayUtils messageOfTheDayUtils; private MessageOfTheDayUtils messageOfTheDayUtils;
private MiscTools miscTools; private MiscTools miscTools;
private ZipLibrary zipLibrary; private ZipLibrary zipLibrary;
private HardcoreManager hardcoreManager; private PerkUtils perkUtils;
/* Never-Ending tasks */ /* Never-Ending tasks */
private BleedTimerTask bleedTimerTask; private BleedTimerTask bleedTimerTask;
@ -297,6 +299,9 @@ public class mcMMO extends JavaPlugin {
//Init HardcoreManager //Init HardcoreManager
hardcoreManager = new HardcoreManager(this); hardcoreManager = new HardcoreManager(this);
//Init PerkUtils
perkUtils = new PerkUtils(this);
} }
@Override @Override
@ -849,4 +854,8 @@ public class mcMMO extends JavaPlugin {
public HardcoreManager getHardcoreManager() { public HardcoreManager getHardcoreManager() {
return hardcoreManager; return hardcoreManager;
} }
public PerkUtils getPerkUtils() {
return perkUtils;
}
} }

View File

@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.interactions.NotificationType;
import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.skills.PerksUtils;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -58,7 +57,7 @@ public class AbilityDisableTask extends BukkitRunnable {
pluginRef.getSkillTools().sendSkillMessage(player, NotificationType.SUPER_ABILITY_ALERT_OTHERS, pluginRef.getSkillTools().sendSkillMessage(player, NotificationType.SUPER_ABILITY_ALERT_OTHERS,
pluginRef.getSkillTools().getSuperAbilityOtherPlayerDeactivationStr(superAbilityType)); pluginRef.getSkillTools().getSuperAbilityOtherPlayerDeactivationStr(superAbilityType));
new AbilityCooldownTask(pluginRef, mcMMOPlayer, superAbilityType).runTaskLater(pluginRef, new AbilityCooldownTask(pluginRef, mcMMOPlayer, superAbilityType).runTaskLater(pluginRef,
PerksUtils.handleCooldownPerks(player, pluginRef.getPerkUtils().handleCooldownPerks(player,
pluginRef.getSkillTools().getSuperAbilityCooldown(superAbilityType) * pluginRef.getMiscTools().TICK_CONVERSION_FACTOR)); pluginRef.getSkillTools().getSuperAbilityCooldown(superAbilityType) * pluginRef.getMiscTools().TICK_CONVERSION_FACTOR));
} }

View File

@ -2,7 +2,6 @@ package com.gmail.nossr50.util;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.skills.PerksUtils;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.PluginDescriptionFile;
@ -88,7 +87,7 @@ public final class MessageOfTheDayUtils {
*/ */
public void displayXpPerks(Player player) { public void displayXpPerks(Player player) {
for (PrimarySkillType skill : PrimarySkillType.values()) { for (PrimarySkillType skill : PrimarySkillType.values()) {
// if (PerksUtils.handleXpPerks(player, 1, skill) > 1) { // if (pluginRef.getPerkUtils().handleXpPerks(player, 1, skill) > 1) {
// player.sendMessage(PERK_PREFIX + pluginRef.getLocaleManager().getString("Effects.Template", pluginRef.getLocaleManager().getString("Perks.XP.Name"), pluginRef.getLocaleManager().getString("Perks.XP.Desc"))); // player.sendMessage(PERK_PREFIX + pluginRef.getLocaleManager().getString("Effects.Template", pluginRef.getLocaleManager().getString("Perks.XP.Name"), pluginRef.getLocaleManager().getString("Perks.XP.Desc")));
// return; // return;
// } // }
@ -101,7 +100,7 @@ public final class MessageOfTheDayUtils {
* @param player Target player * @param player Target player
*/ */
public void displayCooldownPerks(Player player) { public void displayCooldownPerks(Player player) {
double cooldownReduction = 1 - (PerksUtils.handleCooldownPerks(player, 12) / 12.0); double cooldownReduction = 1 - (pluginRef.getPerkUtils().handleCooldownPerks(player, 12) / 12.0);
if (cooldownReduction > 0.0) { if (cooldownReduction > 0.0) {
DecimalFormat percent = new DecimalFormat("##0.00%"); DecimalFormat percent = new DecimalFormat("##0.00%");

View File

@ -1,16 +1,19 @@
package com.gmail.nossr50.util.skills; package com.gmail.nossr50.util.skills;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.mcMMO;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public final class PerksUtils { public final class PerkUtils {
private static final int LUCKY_SKILL_ACTIVATION_CHANCE = 75; private final int LUCKY_SKILL_ACTIVATION_CHANCE = 75;
private static final int NORMAL_SKILL_ACTIVATION_CHANCE = 100; private final int NORMAL_SKILL_ACTIVATION_CHANCE = 100;
private final mcMMO pluginRef;
private PerksUtils() { public PerkUtils(mcMMO pluginRef) {
this.pluginRef = pluginRef;
} }
public static int handleCooldownPerks(Player player, int cooldown) { public int handleCooldownPerks(Player player, int cooldown) {
if (pluginRef.getPermissionTools().halvedCooldowns(player)) { if (pluginRef.getPermissionTools().halvedCooldowns(player)) {
cooldown *= 0.5; cooldown *= 0.5;
} else if (pluginRef.getPermissionTools().thirdedCooldowns(player)) { } else if (pluginRef.getPermissionTools().thirdedCooldowns(player)) {
@ -29,7 +32,7 @@ public final class PerksUtils {
* @param skill PrimarySkillType to check the activation chance of * @param skill PrimarySkillType to check the activation chance of
* @return the activation chance with "lucky perk" accounted for * @return the activation chance with "lucky perk" accounted for
*/ */
public static int handleLuckyPerks(Player player, PrimarySkillType skill) { public int handleLuckyPerks(Player player, PrimarySkillType skill) {
if (pluginRef.getPermissionTools().lucky(player, skill)) { if (pluginRef.getPermissionTools().lucky(player, skill)) {
return LUCKY_SKILL_ACTIVATION_CHANCE; return LUCKY_SKILL_ACTIVATION_CHANCE;
} }

View File

@ -315,7 +315,7 @@ public class SkillTools {
* @return the number of seconds remaining before the cooldown expires * @return the number of seconds remaining before the cooldown expires
*/ */
public int calculateTimeLeft(long deactivatedTimeStamp, int cooldown, Player player) { public int calculateTimeLeft(long deactivatedTimeStamp, int cooldown, Player player) {
return (int) (((deactivatedTimeStamp + (PerksUtils.handleCooldownPerks(player, cooldown) * pluginRef.getMiscTools().TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / pluginRef.getMiscTools().TIME_CONVERSION_FACTOR); return (int) (((deactivatedTimeStamp + (pluginRef.getPerkUtils().handleCooldownPerks(player, cooldown) * pluginRef.getMiscTools().TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / pluginRef.getMiscTools().TIME_CONVERSION_FACTOR);
} }
/** /**
@ -401,10 +401,10 @@ public class SkillTools {
if(abilityLengthCap > 0) if(abilityLengthCap > 0)
{ {
ticks = PerksUtils.calculateAbilityLength(player, Math.min(abilityLengthCap, 2 + (mcMMOPlayer.getSkillLevel(skill) / abilityLengthVar)), ticks = pluginRef.getPerkUtils().calculateAbilityLength(player, Math.min(abilityLengthCap, 2 + (mcMMOPlayer.getSkillLevel(skill) / abilityLengthVar)),
skill.getSuperAbility().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR; skill.getSuperAbility().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR;
} else { } else {
ticks = PerksUtils.calculateAbilityLength(player, 2 + ((mcMMOPlayer.getSkillLevel(skill)) / abilityLengthVar), ticks = pluginRef.getPerkUtils().calculateAbilityLength(player, 2 + ((mcMMOPlayer.getSkillLevel(skill)) / abilityLengthVar),
skill.getSuperAbility().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR; skill.getSuperAbility().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR;
} }