diff --git a/src/main/java/com/gmail/nossr50/api/AbilityAPI.java b/src/main/java/com/gmail/nossr50/api/AbilityAPI.java index b1b4a2b92..d701fb180 100644 --- a/src/main/java/com/gmail/nossr50/api/AbilityAPI.java +++ b/src/main/java/com/gmail/nossr50/api/AbilityAPI.java @@ -50,34 +50,34 @@ public final class AbilityAPI { } public static void resetCooldowns(Player player) { - UserManager.getPlayer(player).getProfile().resetCooldowns(); + UserManager.getPlayer(player).resetCooldowns(); } public static void setBerserkCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).getProfile().setAbilityDATS(AbilityType.BERSERK, cooldown); + UserManager.getPlayer(player).setAbilityDATS(AbilityType.BERSERK, cooldown); } public static void setGigaDrillBreakerCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).getProfile().setAbilityDATS(AbilityType.GIGA_DRILL_BREAKER, cooldown); + UserManager.getPlayer(player).setAbilityDATS(AbilityType.GIGA_DRILL_BREAKER, cooldown); } public static void setGreenTerraCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).getProfile().setAbilityDATS(AbilityType.GREEN_TERRA, cooldown); + UserManager.getPlayer(player).setAbilityDATS(AbilityType.GREEN_TERRA, cooldown); } public static void setSerratedStrikesCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).getProfile().setAbilityDATS(AbilityType.SERRATED_STRIKES, cooldown); + UserManager.getPlayer(player).setAbilityDATS(AbilityType.SERRATED_STRIKES, cooldown); } public static void setSkullSplitterCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).getProfile().setAbilityDATS(AbilityType.SKULL_SPLITTER, cooldown); + UserManager.getPlayer(player).setAbilityDATS(AbilityType.SKULL_SPLITTER, cooldown); } public static void setSuperBreakerCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).getProfile().setAbilityDATS(AbilityType.SUPER_BREAKER, cooldown); + UserManager.getPlayer(player).setAbilityDATS(AbilityType.SUPER_BREAKER, cooldown); } public static void setTreeFellerCooldown(Player player, long cooldown) { - UserManager.getPlayer(player).getProfile().setAbilityDATS(AbilityType.TREE_FELLER, cooldown); + UserManager.getPlayer(player).setAbilityDATS(AbilityType.TREE_FELLER, cooldown); } } diff --git a/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java b/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java index ac97ce733..8cc30c9ba 100644 --- a/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java +++ b/src/main/java/com/gmail/nossr50/api/ExperienceAPI.java @@ -184,7 +184,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static int getXP(Player player, String skillType) { - return UserManager.getPlayer(player).getProfile().getSkillXpLevel(getNonChildSkillType(skillType)); + return UserManager.getPlayer(player).getSkillXpLevel(getNonChildSkillType(skillType)); } /** @@ -217,7 +217,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static float getXPRaw(Player player, String skillType) { - return UserManager.getPlayer(player).getProfile().getSkillXpLevelRaw(getNonChildSkillType(skillType)); + return UserManager.getPlayer(player).getSkillXpLevelRaw(getNonChildSkillType(skillType)); } /** @@ -250,7 +250,7 @@ public final class ExperienceAPI { * @throws UnsupportedOperationException if the given skill is a child skill */ public static int getXPToNextLevel(Player player, String skillType) { - return UserManager.getPlayer(player).getProfile().getXpToLevel(getNonChildSkillType(skillType)); + return UserManager.getPlayer(player).getXpToLevel(getNonChildSkillType(skillType)); } /** @@ -323,7 +323,7 @@ public final class ExperienceAPI { * @throws InvalidSkillException if the given skill is not valid */ public static void addLevel(Player player, String skillType, int levels) { - UserManager.getPlayer(player).getProfile().addLevels(getSkillType(skillType), levels); + UserManager.getPlayer(player).addLevels(getSkillType(skillType), levels); } /** @@ -369,7 +369,7 @@ public final class ExperienceAPI { * @throws InvalidSkillException if the given skill is not valid */ public static int getLevel(Player player, String skillType) { - return UserManager.getPlayer(player).getProfile().getSkillLevel(getSkillType(skillType)); + return UserManager.getPlayer(player).getSkillLevel(getSkillType(skillType)); } /** @@ -492,7 +492,7 @@ public final class ExperienceAPI { * @throws InvalidSkillException if the given skill is not valid */ public static void setLevel(Player player, String skillType, int skillLevel) { - UserManager.getPlayer(player).getProfile().modifySkill(getSkillType(skillType), skillLevel); + UserManager.getPlayer(player).modifySkill(getSkillType(skillType), skillLevel); } /** @@ -524,7 +524,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) { - UserManager.getPlayer(player).getProfile().setSkillXpLevel(getNonChildSkillType(skillType), newValue); + UserManager.getPlayer(player).setSkillXpLevel(getNonChildSkillType(skillType), newValue); } /** @@ -557,7 +557,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) { - UserManager.getPlayer(player).getProfile().removeXp(getNonChildSkillType(skillType), xp); + UserManager.getPlayer(player).removeXp(getNonChildSkillType(skillType), xp); } /** @@ -582,7 +582,7 @@ public final class ExperienceAPI { private static void addOfflineXP(String playerName, SkillType skill, int XP) { PlayerProfile profile = getOfflineProfile(playerName); - profile.addExperience(skill, XP); + profile.addXp(skill, XP); profile.save(); } diff --git a/src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java b/src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java index ea1cbec18..64bbe4670 100644 --- a/src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java @@ -19,7 +19,7 @@ public class McrefreshCommand extends ToggleCommand { @Override protected void applyCommandAction() { mcMMOPlayer.setRecentlyHurt(0); - mcMMOPlayer.getProfile().resetCooldowns(); + mcMMOPlayer.resetCooldowns(); mcMMOPlayer.resetToolPrepMode(); mcMMOPlayer.resetAbilityMode(); diff --git a/src/main/java/com/gmail/nossr50/commands/MobhealthCommand.java b/src/main/java/com/gmail/nossr50/commands/MobhealthCommand.java index 4cc1d1a04..59afd8a21 100644 --- a/src/main/java/com/gmail/nossr50/commands/MobhealthCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/MobhealthCommand.java @@ -11,7 +11,6 @@ import org.bukkit.entity.Player; import org.bukkit.util.StringUtil; import com.gmail.nossr50.datatypes.MobHealthbarType; -import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.UserManager; @@ -39,11 +38,9 @@ public class MobhealthCommand implements TabExecutor { switch (args.length) { case 1: - PlayerProfile playerProfile = UserManager.getPlayer((Player) sender).getProfile(); - try { MobHealthbarType type = MobHealthbarType.valueOf(args[0].toUpperCase().trim()); - playerProfile.setMobHealthbarType(type); + UserManager.getPlayer((Player) sender).getProfile().setMobHealthbarType(type); sender.sendMessage(LocaleLoader.getString("Commands.Healthbars.Changed." + type.name())); 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 f4bff8923..4cb5534dd 100644 --- a/src/main/java/com/gmail/nossr50/commands/experience/AddxpCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/experience/AddxpCommand.java @@ -23,7 +23,7 @@ public class AddxpCommand extends ExperienceCommand { mcMMOPlayer.applyXpGain(skill, value); } else { - profile.addExperience(skill, value); + profile.addXp(skill, value); } } 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 e274660ab..1dafa6288 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java @@ -13,7 +13,6 @@ import org.bukkit.entity.Player; import com.gmail.nossr50.config.AdvancedConfig; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.datatypes.player.McMMOPlayer; -import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.SkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.skills.child.FamilyTree; @@ -31,7 +30,6 @@ public abstract class SkillCommand implements TabExecutor { protected String skillName; protected Player player; - protected PlayerProfile profile; protected McMMOPlayer mcMMOPlayer; protected float skillValue; @@ -60,9 +58,7 @@ public abstract class SkillCommand implements TabExecutor { switch (args.length) { case 0: - profile = mcMMOPlayer.getProfile(); - - skillValue = profile.getSkillLevel(skill); + skillValue = mcMMOPlayer.getSkillLevel(skill); isLucky = Permissions.lucky(sender, skill); hasEndurance = (PerksUtils.handleActivationPerks(player, 0, 0) != 0); @@ -76,7 +72,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", (int) skillValue, profile.getSkillXpLevel(skill), profile.getXpToLevel(skill))); + player.sendMessage(LocaleLoader.getString("Effects.Level", (int) skillValue, mcMMOPlayer.getSkillXpLevel(skill), mcMMOPlayer.getXpToLevel(skill))); } else { player.sendMessage(LocaleLoader.getString("Skills.Header", skillName + " " + LocaleLoader.getString("Skills.Child"))); @@ -87,7 +83,7 @@ public abstract class SkillCommand implements TabExecutor { Set parents = FamilyTree.getParents(skill); for (SkillType parent : parents) { - player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level", profile.getSkillLevel(parent), profile.getSkillXpLevel(parent), profile.getXpToLevel(parent))); + player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent))); } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java index 8484f5cf4..39f7989ec 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java @@ -454,7 +454,7 @@ public class McMMOPlayer { for (SkillType type : SkillType.NON_CHILD_SKILLS) { if (type.getPermissions(player)) { - powerLevel += profile.getSkillLevel(type); + powerLevel += getSkillLevel(type); } } @@ -536,16 +536,16 @@ public class McMMOPlayer { * @param skillType The skill to check */ private void checkXp(SkillType skillType) { - if (profile.getSkillXpLevelRaw(skillType) < profile.getXpToLevel(skillType)) { + if (getSkillXpLevelRaw(skillType) < getXpToLevel(skillType)) { return; } int levelsGained = 0; float xpRemoved = 0; - while (profile.getSkillXpLevelRaw(skillType) >= profile.getXpToLevel(skillType)) { + while (getSkillXpLevelRaw(skillType) >= getXpToLevel(skillType)) { if (hasReachedLevelCap(skillType)) { - profile.setSkillXpLevel(skillType, 0); + setSkillXpLevel(skillType, 0); break; } @@ -558,7 +558,7 @@ public class McMMOPlayer { } player.playSound(player.getLocation(), Sound.LEVEL_UP, Misc.LEVELUP_VOLUME, Misc.LEVELUP_PITCH); - player.sendMessage(LocaleLoader.getString(StringUtils.getCapitalized(skillType.toString()) + ".Skillup", levelsGained, profile.getSkillLevel(skillType))); + player.sendMessage(LocaleLoader.getString(StringUtils.getCapitalized(skillType.toString()) + ".Skillup", levelsGained, getSkillLevel(skillType))); } /* @@ -669,7 +669,7 @@ public class McMMOPlayer { * @return Modified experience */ private float modifyXpGain(SkillType skillType, float xp) { - if (player.getGameMode() == GameMode.CREATIVE || (skillType.getMaxLevel() <= profile.getSkillLevel(skillType)) || (Config.getInstance().getPowerLevelCap() <= getPowerLevel())) { + if (player.getGameMode() == GameMode.CREATIVE || (skillType.getMaxLevel() <= getSkillLevel(skillType)) || (Config.getInstance().getPowerLevelCap() <= getPowerLevel())) { return 0; } @@ -733,7 +733,7 @@ public class McMMOPlayer { return; } - int ticks = PerksUtils.handleActivationPerks(player, 2 + (profile.getSkillLevel(skill) / AdvancedConfig.getInstance().getAbilityLength()), ability.getMaxLength()); + int ticks = PerksUtils.handleActivationPerks(player, 2 + (getSkillLevel(skill) / AdvancedConfig.getInstance().getAbilityLength()), ability.getMaxLength()); // Notify people that ability has been activated ParticleEffectUtils.playAbilityEnabledEffect(player); @@ -816,6 +816,53 @@ public class McMMOPlayer { } private boolean hasReachedLevelCap(SkillType skill) { - return (skill.getMaxLevel() < profile.getSkillLevel(skill) + 1) || (Config.getInstance().getPowerLevelCap() < getPowerLevel() + 1); + return (skill.getMaxLevel() < getSkillLevel(skill) + 1) || (Config.getInstance().getPowerLevelCap() < getPowerLevel() + 1); + } + + /* + * These functions are wrapped from PlayerProfile so that we don't always have to store it alongside the McMMOPlayer object. + */ + public int getSkillLevel(SkillType skill) { + return profile.getSkillLevel(skill); + } + + public float getSkillXpLevelRaw(SkillType skill) { + return profile.getSkillXpLevelRaw(skill); + } + + public int getSkillXpLevel(SkillType skill) { + return profile.getSkillXpLevel(skill); + } + + public void setSkillXpLevel(SkillType skill, float xpLevel) { + profile.setSkillXpLevel(skill, xpLevel); + } + + public int getXpToLevel(SkillType skill) { + return profile.getXpToLevel(skill); + } + + public void removeXp(SkillType skill, int xp) { + profile.removeXp(skill, xp); + } + + public void modifySkill(SkillType skill, int level) { + profile.modifySkill(skill, level); + } + + public void addLevels(SkillType skill, int levels) { + profile.addLevels(skill, levels); + } + + public void addXp(SkillType skill, float xp) { + profile.addXp(skill, xp); + } + + public void setAbilityDATS(AbilityType ability, long DATS) { + profile.setAbilityDATS(ability, DATS); + } + + public void resetCooldowns() { + profile.resetCooldowns(); } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java b/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java index d23af722f..e39239e47 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java @@ -47,16 +47,13 @@ public class PlayerProfile { this.loaded = isLoaded; } - /** - * Calling this constructor is considered loading the profile. - */ - public PlayerProfile(String playerName, Map argSkills, Map argSkillsXp, Map argSkillsDats, MobHealthbarType mobHealthbarType) { + public PlayerProfile(String playerName, Map levelData, Map xpData, Map cooldownData, MobHealthbarType mobHealthbarType) { this.playerName = playerName; this.mobHealthbarType = mobHealthbarType; - skills.putAll(argSkills); - skillsXp.putAll(argSkillsXp); - abilityDATS.putAll(argSkillsDats); + skills.putAll(levelData); + skillsXp.putAll(xpData); + abilityDATS.putAll(cooldownData); loaded = true; } @@ -113,7 +110,7 @@ public class PlayerProfile { * @param ability The {@link AbilityType} to set the DATS for * @param DATS the DATS of the ability */ - public void setAbilityDATS(AbilityType ability, long DATS) { + protected void setAbilityDATS(AbilityType ability, long DATS) { changed = true; abilityDATS.put(ability, (int) (DATS * .001D)); @@ -122,7 +119,7 @@ public class PlayerProfile { /** * Reset all ability cooldowns. */ - public void resetCooldowns() { + protected void resetCooldowns() { changed = true; for (AbilityType ability : abilityDATS.keySet()) { @@ -156,7 +153,7 @@ public class PlayerProfile { skillsXp.put(skill, xpLevel); } - public float levelUp(SkillType skill) { + protected float levelUp(SkillType skill) { float xpRemoved = getXpToLevel(skill); changed = true; @@ -214,21 +211,21 @@ public class PlayerProfile { * Add Experience to a skill. * * @param skill Type of skill to add experience to - * @param experience Number of experience to add + * @param xp Number of experience to add */ - public void addExperience(SkillType skill, float experience) { + public void addXp(SkillType skill, float xp) { changed = true; if (skill.isChildSkill()) { Set parentSkills = FamilyTree.getParents(skill); - float dividedXP = (experience / parentSkills.size()); + float dividedXP = (xp / parentSkills.size()); for (SkillType parentSkill : parentSkills) { skillsXp.put(parentSkill, skillsXp.get(parentSkill) + dividedXP); } } else { - skillsXp.put(skill, skillsXp.get(skill) + experience); + skillsXp.put(skill, skillsXp.get(skill) + xp); } } 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 8868db109..fa003ed1d 100644 --- a/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerExperienceEvent.java +++ b/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerExperienceEvent.java @@ -19,7 +19,7 @@ public abstract class McMMOPlayerExperienceEvent extends PlayerEvent implements protected McMMOPlayerExperienceEvent(Player player, SkillType skill) { super(player); this.skill = skill; - this.skillLevel = UserManager.getPlayer(player).getProfile().getSkillLevel(skill); + this.skillLevel = UserManager.getPlayer(player).getSkillLevel(skill); } /** 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 743d4b46a..65ca37f15 100644 --- a/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerSkillEvent.java +++ b/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerSkillEvent.java @@ -17,7 +17,7 @@ public abstract class McMMOPlayerSkillEvent extends PlayerEvent { protected McMMOPlayerSkillEvent(Player player, SkillType skill) { super(player); this.skill = skill; - this.skillLevel = UserManager.getPlayer(player).getProfile().getSkillLevel(skill); + this.skillLevel = UserManager.getPlayer(player).getSkillLevel(skill); } /** diff --git a/src/main/java/com/gmail/nossr50/skills/SkillManager.java b/src/main/java/com/gmail/nossr50/skills/SkillManager.java index 38e4c79a4..dcb325551 100644 --- a/src/main/java/com/gmail/nossr50/skills/SkillManager.java +++ b/src/main/java/com/gmail/nossr50/skills/SkillManager.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.skills; import org.bukkit.entity.Player; import com.gmail.nossr50.datatypes.player.McMMOPlayer; -import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.SkillType; import com.gmail.nossr50.util.skills.PerksUtils; @@ -26,12 +25,8 @@ public abstract class SkillManager { return mcMMOPlayer.getPlayer(); } - public PlayerProfile getProfile() { - return mcMMOPlayer.getProfile(); - } - public int getSkillLevel() { - return mcMMOPlayer.getProfile().getSkillLevel(skill); + return mcMMOPlayer.getSkillLevel(skill); } public int getActivationChance() { 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 3ed5b50f7..1a31ed117 100644 --- a/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java +++ b/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java @@ -396,6 +396,6 @@ public class HerbalismManager extends SkillManager { } private byte getGreenThumbStage() { - return (byte) Math.min(Math.min(getProfile().getSkillLevel(skill), Herbalism.greenThumbStageMaxLevel) / Herbalism.greenThumbStageChangeLevel, 4); + return (byte) Math.min(Math.min(getSkillLevel(), Herbalism.greenThumbStageMaxLevel) / Herbalism.greenThumbStageChangeLevel, 4); } } 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 be29d122a..341fa340a 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java @@ -108,7 +108,7 @@ public class MiningManager extends SkillManager { tnt.setFuseTicks(0); targetBlock.setType(Material.AIR); - getProfile().setAbilityDATS(AbilityType.BLAST_MINING, System.currentTimeMillis()); + mcMMOPlayer.setAbilityDATS(AbilityType.BLAST_MINING, System.currentTimeMillis()); mcMMOPlayer.setAbilityInformed(AbilityType.BLAST_MINING, false); new AbilityCooldownTask(mcMMOPlayer, AbilityType.BLAST_MINING).runTaskLaterAsynchronously(mcMMO.p, AbilityType.BLAST_MINING.getCooldown() * Misc.TICK_CONVERSION_FACTOR); } diff --git a/src/main/java/com/gmail/nossr50/util/EventUtils.java b/src/main/java/com/gmail/nossr50/util/EventUtils.java index e81b65e2a..b7426418e 100644 --- a/src/main/java/com/gmail/nossr50/util/EventUtils.java +++ b/src/main/java/com/gmail/nossr50/util/EventUtils.java @@ -59,7 +59,7 @@ public class EventUtils { PlayerProfile profile = UserManager.getPlayer(player).getProfile(); profile.modifySkill(skill, profile.getSkillLevel(skill) - (isLevelUp ? levelsChanged : -levelsChanged)); - profile.addExperience(skill, xpRemoved); + profile.addXp(skill, xpRemoved); } return !isCancelled; @@ -115,7 +115,7 @@ public class EventUtils { boolean isCancelled = event.isCancelled(); if (!isCancelled) { - UserManager.getPlayer(player).getProfile().addExperience(skill, event.getRawXpGained()); + UserManager.getPlayer(player).addXp(skill, event.getRawXpGained()); } return !isCancelled; diff --git a/src/main/java/com/gmail/nossr50/util/HardcoreManager.java b/src/main/java/com/gmail/nossr50/util/HardcoreManager.java index d19ab02f7..cd54020d3 100644 --- a/src/main/java/com/gmail/nossr50/util/HardcoreManager.java +++ b/src/main/java/com/gmail/nossr50/util/HardcoreManager.java @@ -70,7 +70,7 @@ public final class HardcoreManager { totalLevelsStolen += levelsStolen; killerProfile.modifySkill(skillType, killerSkillLevel + levelsStolen); - killerProfile.addExperience(skillType, xpStolen); + killerProfile.addXp(skillType, xpStolen); victimProfile.modifySkill(skillType, victimSkillLevel - levelsStolen); victimProfile.removeXp(skillType, xpStolen); 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 61bcb664e..707403f22 100644 --- a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java +++ b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java @@ -396,7 +396,6 @@ public class ScoreboardWrapper { } McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); - PlayerProfile profile = mcMMOPlayer.getProfile(); switch (sidebarType) { case NONE: @@ -406,18 +405,18 @@ public class ScoreboardWrapper { Validate.notNull(targetSkill); if (!targetSkill.isChildSkill()) { - int currentXP = profile.getSkillXpLevel(targetSkill); + int currentXP = mcMMOPlayer.getSkillXpLevel(targetSkill); sidebarObjective.getScore(ScoreboardManager.LABEL_CURRENT_XP).setScore(currentXP); - sidebarObjective.getScore(ScoreboardManager.LABEL_REMAINING_XP).setScore(profile.getXpToLevel(targetSkill) - currentXP); + sidebarObjective.getScore(ScoreboardManager.LABEL_REMAINING_XP).setScore(mcMMOPlayer.getXpToLevel(targetSkill) - currentXP); } else { for (SkillType parentSkill : FamilyTree.getParents(targetSkill)) { - sidebarObjective.getScore(ScoreboardManager.skillLabels.get(parentSkill)).setScore(profile.getSkillLevel(parentSkill)); + sidebarObjective.getScore(ScoreboardManager.skillLabels.get(parentSkill)).setScore(mcMMOPlayer.getSkillLevel(parentSkill)); } } - sidebarObjective.getScore(ScoreboardManager.LABEL_LEVEL).setScore(profile.getSkillLevel(targetSkill)); + sidebarObjective.getScore(ScoreboardManager.LABEL_LEVEL).setScore(mcMMOPlayer.getSkillLevel(targetSkill)); if (targetSkill.getAbility() != null) { boolean stopUpdating; @@ -482,7 +481,7 @@ public class ScoreboardWrapper { newProfile = targetProfile; // offline } else if (targetPlayer == null) { - newProfile = profile; // self + newProfile = mcMMOPlayer.getProfile(); // self } else { newProfile = UserManager.getPlayer(targetPlayer).getProfile(); // online 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 d8aa46a48..ba0e24021 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java @@ -26,7 +26,7 @@ import com.gmail.nossr50.util.player.UserManager; public class SkillUtils { public static int handleFoodSkills(Player player, SkillType skill, int eventFoodLevel, int baseLevel, int maxLevel, int rankChange) { - int skillLevel = UserManager.getPlayer(player).getProfile().getSkillLevel(skill); + int skillLevel = UserManager.getPlayer(player).getSkillLevel(skill); int currentFoodLevel = player.getFoodLevel(); int foodChange = eventFoodLevel - currentFoodLevel; @@ -124,7 +124,7 @@ public class SkillUtils { McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); SkillType skill = mcMMOPlayer.getAbilityMode(AbilityType.SUPER_BREAKER) ? SkillType.MINING : SkillType.EXCAVATION; - int ticks = PerksUtils.handleActivationPerks(player, 2 + (mcMMOPlayer.getProfile().getSkillLevel(skill) / AdvancedConfig.getInstance().getAbilityLength()), skill.getAbility().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR; + int ticks = PerksUtils.handleActivationPerks(player, 2 + (mcMMOPlayer.getSkillLevel(skill) / AdvancedConfig.getInstance().getAbilityLength()), skill.getAbility().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR; PotionEffect abilityBuff = new PotionEffect(PotionEffectType.FAST_DIGGING, duration + ticks, amplifier + 10); player.addPotionEffect(abilityBuff, true); @@ -178,7 +178,7 @@ public class SkillUtils { } public static boolean activationSuccessful(Player player, SkillType skill, double maxChance, int maxLevel) { - return activationSuccessful(UserManager.getPlayer(player).getProfile().getSkillLevel(skill), PerksUtils.handleLuckyPerks(player, skill), maxChance, maxLevel); + return activationSuccessful(UserManager.getPlayer(player).getSkillLevel(skill), PerksUtils.handleLuckyPerks(player, skill), maxChance, maxLevel); } public static boolean activationSuccessful(int skillLevel, int activationChance, double maxChance, int maxLevel) {