More API migration, feels like a mountain of work left lol

This commit is contained in:
nossr50
2020-12-22 17:27:25 -08:00
parent 73bc12841a
commit 4199ea0095
110 changed files with 2405 additions and 2521 deletions

View File

@@ -2,6 +2,7 @@ package com.gmail.nossr50.util;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.datatypes.interactions.NotificationType;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.mcMMO;
@@ -112,7 +113,7 @@ public final class ChimaeraWing {
if (warmup > 0) {
NotificationManager.sendPlayerInformation(player, NotificationType.ITEM_MESSAGE, "Teleport.Commencing", String.valueOf(warmup));
new ChimaeraWingWarmup(mmoPlayer).runTaskLater(mcMMO.p, 20 * warmup);
new ChimaeraWingWarmup((McMMOPlayer) mmoPlayer).runTaskLater(mcMMO.p, 20 * warmup);
}
else {
chimaeraExecuteTeleport();
@@ -120,7 +121,7 @@ public final class ChimaeraWing {
}
public static void chimaeraExecuteTeleport() {
Player player = mmoPlayer.getPlayer();
Player player = Misc.adaptPlayer(mmoPlayer);
if (Config.getInstance().getChimaeraUseBedSpawn() && player.getBedSpawnLocation() != null) {
player.teleport(player.getBedSpawnLocation());

View File

@@ -1,8 +1,6 @@
package com.gmail.nossr50.util;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.datatypes.experience.XPGainReason;
import com.gmail.nossr50.datatypes.experience.XPGainSource;
import com.gmail.nossr50.datatypes.party.Party;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.datatypes.player.PlayerProfile;
@@ -224,7 +222,7 @@ public final class EventUtils {
if (isCancelled) {
PlayerProfile profile = mcMMO.getUserManager().queryPlayer(player);
profile.getExperienceManager().setSkillLevel(skill, profile.getSkillLevel(skill) - (isLevelUp ? levelsChanged : -levelsChanged));
profile.getExperienceHandler().setSkillLevel(skill, profile.getSkillLevel(skill) - (isLevelUp ? levelsChanged : -levelsChanged));
profile.addXp(skill, xpRemoved);
}

View File

@@ -41,8 +41,8 @@ public final class HardcoreManager {
continue;
}
int playerSkillLevel = playerProfile.getExperienceManager().getSkillLevel(primarySkillType);
int playerSkillXpLevel = playerProfile.getExperienceManager().getSkillXpValue(primarySkillType);
int playerSkillLevel = playerProfile.getExperienceHandler().getSkillLevel(primarySkillType);
int playerSkillXpLevel = playerProfile.getExperienceHandler().getSkillXpValue(primarySkillType);
if (playerSkillLevel <= 0 || playerSkillLevel <= levelThreshold) {
levelChanged.put(primarySkillType.toString(), 0);
@@ -93,8 +93,8 @@ public final class HardcoreManager {
continue;
}
int killerSkillLevel = killerProfile.getExperienceManager().getSkillLevel(primarySkillType);
int victimSkillLevel = victimProfile.getExperienceManager().getSkillLevel(primarySkillType);
int killerSkillLevel = killerProfile.getExperienceHandler().getSkillLevel(primarySkillType);
int victimSkillLevel = victimProfile.getExperienceHandler().getSkillLevel(primarySkillType);
if (victimSkillLevel <= 0 || victimSkillLevel < killerSkillLevel / 2 || victimSkillLevel <= levelThreshold) {
levelChanged.put(primarySkillType.toString(), 0);
@@ -102,7 +102,7 @@ public final class HardcoreManager {
continue;
}
int victimSkillXpLevel = victimProfile.getExperienceManager().getSkillXpValue(primarySkillType);
int victimSkillXpLevel = victimProfile.getExperienceHandler().getSkillXpValue(primarySkillType);
double statsStolen = victimSkillLevel * (vampirismStatLeechPercentage * 0.01D);
int levelsStolen = (int) statsStolen;

View File

@@ -308,7 +308,7 @@ public final class Misc {
* @return true if the player is the party leader
*/
public static boolean isPartyLeader(@NotNull OnlineMMOPlayer mmoPlayer) {
return mmoPlayer.getParty().getLeader().getUniqueId().equals(mmoPlayer.getPlayer().getUniqueId());
return mcMMO.getPartyManager().queryParty(mmoPlayer.getUUID()).getPartyMemberManager().getPartyLeader().getUniqueId().equals(mmoPlayer.getUUID());
}
// public static void spawnExperienceOrb(@NotNull Location location, int orbAmount, int experienceValue) {
@@ -325,6 +325,10 @@ public final class Misc {
experienceOrb.setExperience(experienceValue);
}
public static @NotNull Player adaptPlayer(@NotNull OnlineMMOPlayer onlineMMOPlayer) {
return (Player) onlineMMOPlayer.getServerAPIPlayerImpl();
}
private static class SpawnOrbTask extends BukkitRunnable {
private final Location location;
private int orbExpValue;

View File

@@ -7,6 +7,7 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.SubSkillType;
import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
import com.gmail.nossr50.mcMMO;
import com.neetgames.mcmmo.skill.RootSkill;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.World;
@@ -115,6 +116,7 @@ public final class Permissions {
public static boolean hasSalvageEnchantBypassPerk(Permissible permissible) { return permissible.hasPermission("mcmmo.perks.bypass.salvageenchant"); }
public static boolean lucky(Permissible permissible, PrimarySkillType skill) { return permissible.hasPermission("mcmmo.perks.lucky." + skill.toString().toLowerCase(Locale.ENGLISH)); }
public static boolean lucky(Permissible permissible, RootSkill rootSkill) { return permissible.hasPermission("mcmmo.perks.lucky." + rootSkill.getSkillName().toLowerCase(Locale.ENGLISH)); }
/* XP PERKS */
public static boolean quadrupleXp(Permissible permissible, PrimarySkillType skill) { return permissible.hasPermission("mcmmo.perks.xp.quadruple." + skill.toString().toLowerCase(Locale.ENGLISH)); }

View File

@@ -79,7 +79,7 @@ public final class CommandUtils {
*/
public static boolean checkPlayerExistence(CommandSender sender, String playerName, OnlineMMOPlayer mmoPlayer) {
if (mmoPlayer != null) {
if (CommandUtils.hidden(sender, mmoPlayer.getPlayer(), false)) {
if (CommandUtils.hidden(sender, Misc.adaptPlayer(mmoPlayer), false)) {
sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
return false;
}
@@ -200,7 +200,7 @@ public final class CommandUtils {
if (skill.isChildSkill()) {
return LocaleLoader.getString("Skills.ChildStats", LocaleLoader.getString(StringUtils.getCapitalized(skill.toString()) + ".Listener") + " ", profile.getSkillLevel(skill));
}
if (profile.getExperienceManager().getSkillLevel(skill) == Config.getInstance().getLevelCap(skill)){
if (profile.getExperienceHandler().getSkillLevel(skill) == Config.getInstance().getLevelCap(skill)){
return LocaleLoader.getString("Skills.Stats", LocaleLoader.getString(StringUtils.getCapitalized(skill.toString()) + ".Listener") + " ", profile.getSkillLevel(skill), profile.getSkillXpLevel(skill), LocaleLoader.getString("Skills.MaxXP"));
}
return LocaleLoader.getString("Skills.Stats", LocaleLoader.getString(StringUtils.getCapitalized(skill.toString()) + ".Listener") + " ", profile.getSkillLevel(skill), profile.getSkillXpLevel(skill), profile.getXpToLevel(skill));

View File

@@ -1,11 +1,14 @@
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.CoreSkills;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.util.player.PlayerLevelUtils;
import com.gmail.nossr50.util.text.StringUtils;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.neetgames.mcmmo.skill.SkillIdentity;
import com.neetgames.mcmmo.skill.RootSkill;
import org.bukkit.Bukkit;
import org.bukkit.boss.BarColor;
import org.bukkit.boss.BarStyle;
import org.bukkit.boss.BossBar;
@@ -19,9 +22,9 @@ import java.util.List;
*/
public class ExperienceBarWrapper {
private final @NotNull SkillIdentity skillIdentity; //Primary Skill
private final @NotNull RootSkill rootSkill; //Primary Skill
private @NotNull BossBar bossBar;
protected final @NotNull OnlineMMOPlayer onlineMMOPlayer;
protected final @NotNull McMMOPlayer mmoPlayer;
private int lastLevelUpdated;
/*
@@ -30,14 +33,14 @@ public class ExperienceBarWrapper {
protected String niceSkillName;
protected String title;
public ExperienceBarWrapper(@NotNull SkillIdentity skillIdentity, @NotNull OnlineMMOPlayer onlineMMOPlayer) {
this.onlineMMOPlayer = onlineMMOPlayer;
this.skillIdentity = skillIdentity;
public ExperienceBarWrapper(@NotNull RootSkill rootSkill, @NotNull McMMOPlayer mmoPlayer) {
this.mmoPlayer = mmoPlayer;
this.rootSkill = rootSkill;
title = "";
lastLevelUpdated = 0;
//These vars are stored to help reduce operations involving strings
niceSkillName = StringUtils.getCapitalized(skillIdentity.toString());
niceSkillName = StringUtils.getCapitalized(rootSkill.toString());
//Create the bar
initBar();
@@ -56,7 +59,7 @@ public class ExperienceBarWrapper {
private String getTitleTemplate() {
//If they are using extra details
if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled() && PlayerLevelUtils.qualifiesForEarlyGameBoost(onlineMMOPlayer, skillIdentity)) {
if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled() && PlayerLevelUtils.qualifiesForEarlyGameBoost(mmoPlayer, rootSkill)) {
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());
@@ -65,16 +68,16 @@ public class ExperienceBarWrapper {
}
private int getLevel() {
return onlineMMOPlayer.getSkillLevel(skillIdentity);
return mmoPlayer.getSkillLevel(rootSkill);
}
private int getCurrentXP() {
return onlineMMOPlayer.getSkillExperience(skillIdentity);
return mmoPlayer.getSkillExperience(rootSkill);
}
private int getMaxXP() {
return onlineMMOPlayer.getExperienceToNextLevel(skillIdentity);
return mmoPlayer.getExperienceToNextLevel(rootSkill);
}
private int getPowerLevel() { return onlineMMOPlayer.getPowerLevel(); }
private int getPercentageOfLevel() { return (int) (onlineMMOPlayer.getProgressInCurrentSkillLevel(skillIdentity) * 100); }
private int getPowerLevel() { return mmoPlayer.getPowerLevel(); }
private int getPercentageOfLevel() { return (int) (mmoPlayer.getProgressInCurrentSkillLevel(rootSkill) * 100); }
public String getTitle() {
return bossBar.getTitle();
@@ -111,10 +114,10 @@ public class ExperienceBarWrapper {
bossBar.setProgress(v);
//Check player level
if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled() && PlayerLevelUtils.qualifiesForEarlyGameBoost(mmoPlayer, skillIdentity)) {
if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled() && PlayerLevelUtils.qualifiesForEarlyGameBoost(mmoPlayer, rootSkill)) {
setColor(BarColor.YELLOW);
} else {
setColor(ExperienceConfig.getInstance().getExperienceBarColor(skillIdentity));
setColor(ExperienceConfig.getInstance().getExperienceBarColor(rootSkill));
}
//Every time progress updates we need to check for a title update
@@ -154,7 +157,7 @@ public class ExperienceBarWrapper {
private void createBossBar()
{
bossBar = mmoPlayer.getPlayer().getServer().createBossBar(title, ExperienceConfig.getInstance().getExperienceBarColor(skillIdentity), ExperienceConfig.getInstance().getExperienceBarStyle(skillIdentity));
bossBar = Bukkit.getServer().createBossBar(title, ExperienceConfig.getInstance().getExperienceBarColor(rootSkill), ExperienceConfig.getInstance().getExperienceBarStyle(rootSkill));
bossBar.addPlayer(mmoPlayer.getPlayer());
}
}

View File

@@ -1,7 +1,5 @@
package com.gmail.nossr50.util.experience;
import com.gmail.nossr50.datatypes.experience.XPGainReason;
import com.gmail.nossr50.datatypes.experience.XPGainSource;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import org.bukkit.plugin.Plugin;
@@ -17,11 +15,11 @@ public class ExperienceUtils {
* @param xp Experience amount to add
*/
public static void applyXpGain(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType, float xp, @NotNull XPGainReason xpGainReason, @NotNull XPGainSource xpGainSource) {
mmoPlayer.getExperienceManager().applyXpGain(primarySkillType, xp, xpGainReason, xpGainSource);
mmoPlayer.getExperienceHandler().applyXpGain(primarySkillType, xp, xpGainReason, xpGainSource);
}
public static void processPostXpEvent(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType, @NotNull Plugin plugin, @NotNull XPGainSource xpGainSource) {
mmoPlayer.getExperienceManager().processPostXpEvent(primarySkillType, plugin, xpGainSource);
mmoPlayer.getExperienceHandler().processPostXpEvent(primarySkillType, plugin, xpGainSource);
}
/**
@@ -30,6 +28,6 @@ public class ExperienceUtils {
* @param primarySkillType The skill to check
*/
public static void updateLevelStats(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType, @NotNull XPGainReason xpGainReason, @NotNull XPGainSource xpGainSource) {
mmoPlayer.getExperienceManager().updateLevelStats(primarySkillType, xpGainReason, xpGainSource);
mmoPlayer.getExperienceHandler().updateLevelStats(primarySkillType, xpGainReason, xpGainSource);
}
}

View File

@@ -1,18 +1,17 @@
package com.gmail.nossr50.util.experience;
import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.util.Misc;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.datatypes.skills.CoreSkillConstants;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.CoreSkills;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.runnables.skills.ExperienceBarHideTask;
import com.gmail.nossr50.util.player.NotificationManager;
import com.neetgames.mcmmo.skill.*;
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
@@ -21,17 +20,16 @@ import java.util.Map;
* Each ExperienceBarManager only manages a single player
*/
public class MMOExperienceBarManager {
private final OnlineMMOPlayer mmoPlayer;
private final McMMOPlayer mmoPlayer;
int delaySeconds = 3;
private @NotNull final Map<SkillIdentity, SkillBossBarState> barStateMapRef;
private @NotNull final Map<RootSkill, SkillBossBarState> barStateMapRef;
private @NotNull final HashMap<SkillIdentity, ExperienceBarWrapper> experienceBars;
private @NotNull final HashMap<SkillIdentity, ExperienceBarHideTask> experienceBarHideTaskHashMap;
private @NotNull final Map<RootSkill, ExperienceBarWrapper> experienceBars;
private @NotNull final Map<RootSkill, ExperienceBarHideTask> experienceBarHideTaskHashMap;
public MMOExperienceBarManager(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull Map<SkillIdentity, SkillBossBarState> barStateMapRef)
public MMOExperienceBarManager(@NotNull McMMOPlayer mmoPlayer, @NotNull Map<RootSkill, SkillBossBarState> barStateMapRef)
{
this.mmoPlayer = mmoPlayer;
this.barStateMapRef = barStateMapRef;
@@ -48,8 +46,8 @@ public class MMOExperienceBarManager {
}
private void syncBarStates() {
for(Map.Entry<SkillIdentity, SkillBossBarState> entry : barStateMapRef.entrySet()) {
SkillIdentity key = entry.getKey();
for(Map.Entry<RootSkill, SkillBossBarState> entry : barStateMapRef.entrySet()) {
RootSkill key = entry.getKey();
SkillBossBarState barState = entry.getValue();
switch(barState) {
@@ -67,130 +65,130 @@ public class MMOExperienceBarManager {
barStateMapRef.putAll(generateDefaultBarStateMap());
}
public void updateExperienceBar(@NotNull SkillIdentity skillIdentity, @NotNull Plugin plugin)
public void updateExperienceBar(@NotNull RootSkill rootSkill, @NotNull Plugin plugin)
{
if(isBarDisabled(skillIdentity))
if(isBarDisabled(rootSkill))
return;
//Init Bar
if(experienceBars.get(skillIdentity) == null)
experienceBars.put(skillIdentity, new ExperienceBarWrapper(skillIdentity, mmoPlayer.getPersistentPlayerData()));
if(experienceBars.get(rootSkill) == null)
experienceBars.put(rootSkill, new ExperienceBarWrapper(rootSkill, mmoPlayer));
//Get Bar
ExperienceBarWrapper experienceBarWrapper = experienceBars.get(skillIdentity);
ExperienceBarWrapper experienceBarWrapper = experienceBars.get(rootSkill);
//Update Progress
experienceBarWrapper.setProgress(mmoPlayer.getExperienceManager().getProgressInCurrentSkillLevel(skillIdentity));
experienceBarWrapper.setProgress(mmoPlayer.getExperienceHandler().getProgressInCurrentSkillLevel(rootSkill));
//Show Bar
experienceBarWrapper.showExperienceBar();
//Setup Hide Bar Task
if(experienceBarHideTaskHashMap.get(skillIdentity) != null)
if(experienceBarHideTaskHashMap.get(rootSkill) != null)
{
experienceBarHideTaskHashMap.get(skillIdentity).cancel();
experienceBarHideTaskHashMap.get(rootSkill).cancel();
}
scheduleHideTask(skillIdentity, plugin);
scheduleHideTask(rootSkill, plugin);
}
private boolean isBarDisabled(PrimarySkillType primarySkillType) {
return barStateMapRef.get(primarySkillType) == BarState.DISABLED
private boolean isBarDisabled(@NotNull RootSkill rootSkill) {
return barStateMapRef.get(rootSkill) == SkillBossBarState.DISABLED
//Config checks
|| !ExperienceConfig.getInstance().isExperienceBarsEnabled()
|| !ExperienceConfig.getInstance().isExperienceBarEnabled(primarySkillType);
|| !ExperienceConfig.getInstance().isExperienceBarEnabled(rootSkill);
}
private boolean isBarAlwaysVisible(PrimarySkillType primarySkillType) {
return barStateMapRef.get(primarySkillType) == BarState.ALWAYS_ON;
private boolean isBarAlwaysVisible(@NotNull RootSkill rootSkill) {
return barStateMapRef.get(rootSkill) == SkillBossBarState.ALWAYS_ON;
}
private void scheduleHideTask(PrimarySkillType primarySkillType, Plugin plugin) {
if(isBarAlwaysVisible(primarySkillType))
private void scheduleHideTask(@NotNull RootSkill rootSkill, @NotNull Plugin plugin) {
if(isBarAlwaysVisible(rootSkill))
return;
ExperienceBarHideTask experienceBarHideTask = new ExperienceBarHideTask(this, mmoPlayer, primarySkillType);
experienceBarHideTask.runTaskLater(plugin, 20* delaySeconds);
experienceBarHideTaskHashMap.put(primarySkillType, experienceBarHideTask);
ExperienceBarHideTask experienceBarHideTask = new ExperienceBarHideTask(this, mmoPlayer, rootSkill);
experienceBarHideTask.runTaskLater(plugin, 20 * delaySeconds);
experienceBarHideTaskHashMap.put(rootSkill, experienceBarHideTask);
}
public void hideExperienceBar(PrimarySkillType primarySkillType)
public void hideExperienceBar(@NotNull RootSkill rootSkill)
{
if(experienceBars.containsKey(primarySkillType))
experienceBars.get(primarySkillType).hideExperienceBar();
if(experienceBars.containsKey(rootSkill))
experienceBars.get(rootSkill).hideExperienceBar();
}
public void clearTask(PrimarySkillType primarySkillType)
public void clearTask(@NotNull RootSkill rootSkill)
{
experienceBarHideTaskHashMap.remove(primarySkillType);
experienceBarHideTaskHashMap.remove(rootSkill);
}
public void disableAllBars() {
for(PrimarySkillType primarySkillType : PrimarySkillType.values()) {
xpBarSettingToggle(XPBarSettingTarget.HIDE, primarySkillType);
for(RootSkill rootSkill : mcMMO.p.getSkillRegister().getRootSkills()) {
xpBarSettingToggle(SkillBossBarSetting.HIDE, rootSkill);
}
NotificationManager.sendPlayerInformationChatOnlyPrefixed(mmoPlayer.getPlayer(), "Commands.XPBar.DisableAll");
NotificationManager.sendPlayerInformationChatOnlyPrefixed(Misc.adaptPlayer(mmoPlayer), "Commands.XPBar.DisableAll");
}
public void xpBarSettingToggle(@NotNull SkillBossBarSetting skillBossBarSetting, @Nullable SkillIdentity skillIdentity) {
public void xpBarSettingToggle(@NotNull SkillBossBarSetting skillBossBarSetting, @NotNull RootSkill rootSkill) {
switch(skillBossBarSetting) {
case SHOW:
barStateMapRef.put(skillIdentity, SkillBossBarState.ALWAYS_ON);
barStateMapRef.put(rootSkill, SkillBossBarState.ALWAYS_ON);
//Remove lingering tasks
if(experienceBarHideTaskHashMap.containsKey(skillIdentity)) {
experienceBarHideTaskHashMap.get(skillIdentity).cancel();
if(experienceBarHideTaskHashMap.containsKey(rootSkill)) {
experienceBarHideTaskHashMap.get(rootSkill).cancel();
}
updateExperienceBar(skillIdentity, mcMMO.p);
updateExperienceBar(rootSkill, mcMMO.p);
break;
case HIDE:
barStateMapRef.put(skillIdentity, SkillBossBarState.DISABLED);
barStateMapRef.put(rootSkill, SkillBossBarState.DISABLED);
//Remove lingering tasks
if(experienceBarHideTaskHashMap.containsKey(skillIdentity)) {
experienceBarHideTaskHashMap.get(skillIdentity).cancel();
if(experienceBarHideTaskHashMap.containsKey(rootSkill)) {
experienceBarHideTaskHashMap.get(rootSkill).cancel();
}
hideExperienceBar(skillIdentity);
hideExperienceBar(rootSkill);
break;
case RESET:
resetBarSettings();
break;
}
informPlayer(skillBossBarSetting, skillIdentity);
informPlayer(skillBossBarSetting, rootSkill);
}
private void resetBarSettings() {
barStateMapRef.putAll(generateDefaultBarStateMap());
}
private void informPlayer(@NotNull SkillBossBarSetting settingTarget, @Nullable PrimarySkillType skillType) {
private void informPlayer(@NotNull SkillBossBarSetting settingTarget, @NotNull RootSkill rootSkill) {
//Inform player of setting change
if(settingTarget != SkillBossBarSetting.RESET) {
NotificationManager.sendPlayerInformationChatOnlyPrefixed(mmoPlayer.getPlayer(), "Commands.XPBar.SettingChanged", skillType.getName(), settingTarget.toString());
NotificationManager.sendPlayerInformationChatOnlyPrefixed(Misc.adaptPlayer(mmoPlayer), "Commands.XPBar.SettingChanged", rootSkill.getSkillName(), settingTarget.toString());
} else {
NotificationManager.sendPlayerInformationChatOnlyPrefixed(mmoPlayer.getPlayer(), "Commands.XPBar.Reset");
NotificationManager.sendPlayerInformationChatOnlyPrefixed(Misc.adaptPlayer(mmoPlayer), "Commands.XPBar.Reset");
}
}
public static @NotNull HashMap<SkillIdentity, SkillBossBarState> generateDefaultBarStateMap() {
HashMap<SkillIdentity, SkillBossBarState> barStateMap = new HashMap<>();
public static @NotNull Map<RootSkill, SkillBossBarState> generateDefaultBarStateMap() {
HashMap<RootSkill, SkillBossBarState> barStateMap = new HashMap<>();
setBarStateDefaults(barStateMap);
return barStateMap;
}
public static void setBarStateDefaults(HashMap<SkillIdentity, SkillBossBarState> barStateHashMap) {
for(RootSkill rootSkill : CoreSkillConstants.getImmutableCoreRootSkillSet()) {
public static void setBarStateDefaults(@NotNull Map<RootSkill, SkillBossBarState> barStateHashMap) {
for(RootSkill rootSkill : CoreSkills.getImmutableCoreRootSkillSet()) {
if(CoreSkillConstants.isChildSkill(rootSkill.getSkillIdentity())) {
barStateHashMap.put(rootSkill.getSkillIdentity(), SkillBossBarState.DISABLED);
if(CoreSkills.isChildSkill(rootSkill)) {
barStateHashMap.put(rootSkill, SkillBossBarState.DISABLED);
} else {
barStateHashMap.put(rootSkill.getSkillIdentity(), SkillBossBarState.NORMAL);
barStateHashMap.put(rootSkill, SkillBossBarState.NORMAL);
}
}
}

View File

@@ -31,7 +31,7 @@ public class AbilityActivationProcessor {
public AbilityActivationProcessor(OnlineMMOPlayer mmoPlayer) {
this.mmoPlayer = mmoPlayer;
this.player = mmoPlayer.getPlayer();
this.player = Misc.adaptPlayer(mmoPlayer);
}
/**
@@ -98,7 +98,7 @@ public class AbilityActivationProcessor {
}
/* GREEN THUMB CHECK */
HerbalismManager herbalismManager = mmoPlayer.getHerbalismManager();
HerbalismManager herbalismManager = ((McMMOPlayer) (mmoPlayer)).getHerbalismManager();
if (getHeldItem().getType() == Material.BONE_MEAL) {
switch (blockState.getType()) {
@@ -157,7 +157,7 @@ public class AbilityActivationProcessor {
//TODO: This is strange, why is this needed?
//TODO: This is strange, why is this needed?
/* BLAST MINING CHECK */
MiningManager miningManager = mmoPlayer.getMiningManager();
MiningManager miningManager = ((McMMOPlayer) (mmoPlayer)).getMiningManager();
if (miningManager.canDetonate()) {
miningManager.remoteDetonation();
}
@@ -178,7 +178,7 @@ public class AbilityActivationProcessor {
/* CALL OF THE WILD CHECKS */
Material type = getHeldItem().getType();
TamingManager tamingManager = mmoPlayer.getTamingManager();
TamingManager tamingManager = ((McMMOPlayer) (mmoPlayer)).getTamingManager();
if (type == Config.getInstance().getTamingCOTWMaterial(CallOfTheWildType.WOLF.getConfigEntityTypeEntry())) {
tamingManager.summonWolf();

View File

@@ -3,8 +3,8 @@ package com.gmail.nossr50.util.input;
import com.gmail.nossr50.config.AdvancedConfig;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.datatypes.interactions.NotificationType;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.datatypes.player.PersistentPlayerData;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.neetgames.mcmmo.player.MMOPlayerData;
import com.gmail.nossr50.datatypes.skills.AbilityToolType;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
@@ -28,7 +28,7 @@ import java.util.Map;
public class SuperAbilityManager {
private final OnlineMMOPlayer mmoPlayer;
private final McMMOPlayer mmoPlayer;
private final Player player;
private final Map<SuperAbilityType, Boolean> superAbilityState = new HashMap<>();
@@ -37,12 +37,12 @@ public class SuperAbilityManager {
private boolean abilityActivationPermission = true;
private final Map<AbilityToolType, Boolean> toolMode = new HashMap<>();
private final PersistentPlayerData persistentPlayerData;
private final MMOPlayerData mmoPlayerData;
public SuperAbilityManager(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull PersistentPlayerData persistentPlayerData) {
public SuperAbilityManager(@NotNull McMMOPlayer mmoPlayer, @NotNull MMOPlayerData mmoPlayerData) {
this.mmoPlayer = mmoPlayer;
this.persistentPlayerData = persistentPlayerData;
this.player = mmoPlayer.getPlayer();
this.mmoPlayerData = mmoPlayerData;
this.player = Misc.adaptPlayer(mmoPlayer);
for (SuperAbilityType superAbilityType : SuperAbilityType.values()) {
superAbilityState.put(superAbilityType, false);
@@ -55,7 +55,7 @@ public class SuperAbilityManager {
}
public void processAbilityActivation(PrimarySkillType skill) {
Player player = mmoPlayer.getPlayer();
Player player = Misc.adaptPlayer(mmoPlayer);
if (!skill.getPermissions(player)) {
return;
@@ -243,7 +243,7 @@ public class SuperAbilityManager {
}
public void resetCooldowns() {
this.persistentPlayerData.resetCooldowns();
this.mmoPlayerData.resetCooldowns();
}
/**
@@ -336,7 +336,7 @@ public class SuperAbilityManager {
*/
public int calculateTimeRemaining(SuperAbilityType superAbilityType) {
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);
return (int) (((deactivatedTimestamp + (PerksUtils.handleCooldownPerks(Misc.adaptPlayer(mmoPlayer), superAbilityType.getCooldown()) * Misc.TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / Misc.TIME_CONVERSION_FACTOR);
}
}

View File

@@ -4,8 +4,9 @@ import com.gmail.nossr50.config.AdvancedConfig;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.datatypes.interactions.NotificationType;
import com.gmail.nossr50.datatypes.notifications.SensitiveCommandType;
import com.gmail.nossr50.datatypes.skills.CoreSkills;
import com.gmail.nossr50.util.Misc;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.SubSkillType;
import com.gmail.nossr50.events.skills.McMMOPlayerNotificationEvent;
import com.gmail.nossr50.locale.LocaleLoader;
@@ -15,6 +16,7 @@ import com.gmail.nossr50.util.sounds.SoundManager;
import com.gmail.nossr50.util.sounds.SoundType;
import com.gmail.nossr50.util.text.McMMOMessageType;
import com.gmail.nossr50.util.text.TextComponentFactory;
import com.neetgames.mcmmo.skill.RootSkill;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.audience.MessageType;
import net.kyori.adventure.identity.Identity;
@@ -71,16 +73,15 @@ public class NotificationManager {
* @param key Locale Key for the string to use with this event
* @param values values to be injected into the locale string
*/
public static void sendNearbyPlayersInformation(@NotNull Player targetPlayer, @NotNull NotificationType notificationType, @NotNull String key, String... values)
{
public static void sendNearbyPlayersInformation(@NotNull Player targetPlayer, @NotNull NotificationType notificationType, @NotNull String key, String... values) {
sendPlayerInformation(targetPlayer, notificationType, key, values);
}
public static void sendPlayerInformationChatOnly(@NotNull Player player, @NotNull String key, String... values)
{
public static void sendPlayerInformationChatOnly(@NotNull Player player, @NotNull String key, String... values) {
OnlineMMOPlayer mmoPlayer = mcMMO.getUserManager().queryPlayer(player);
if(mmoPlayer == null || !mmoPlayer.hasSkillChatNotifications())
//Don't send chat notifications if they are disabled
if(mmoPlayer != null && !mmoPlayer.hasSkillChatNotifications())
return;
String preColoredString = LocaleLoader.getString(key, (Object[]) values);
@@ -91,7 +92,8 @@ public class NotificationManager {
{
OnlineMMOPlayer mmoPlayer = mcMMO.getUserManager().queryPlayer(player);
if(mmoPlayer == null || !mmoPlayer.hasSkillChatNotifications())
//Don't send chat notifications if they are disabled
if(mmoPlayer != null && !mmoPlayer.hasSkillChatNotifications())
return;
String preColoredString = LocaleLoader.getString(key, (Object[]) values);
@@ -99,9 +101,11 @@ public class NotificationManager {
player.sendMessage(prefixFormattedMessage);
}
public static void sendPlayerInformation(@NotNull Player player, @NotNull NotificationType notificationType, @NotNull String key, String... values)
{
if(mcMMO.getUserManager().queryPlayer(player) == null || !mcMMO.getUserManager().queryPlayer(player).hasSkillChatNotifications())
public static void sendPlayerInformation(@NotNull Player player, @NotNull NotificationType notificationType, @NotNull String key, String... values) {
OnlineMMOPlayer mmoPlayer = mcMMO.getUserManager().queryPlayer(player);
//Don't send chat notifications if they are disabled
if(mmoPlayer != null && !mmoPlayer.hasSkillChatNotifications())
return;
McMMOMessageType destination = AdvancedConfig.getInstance().doesNotificationUseActionBar(notificationType) ? McMMOMessageType.ACTION_BAR : McMMOMessageType.SYSTEM;
@@ -133,7 +137,7 @@ public class NotificationManager {
}
}
private static McMMOPlayerNotificationEvent checkNotificationEvent(Player player, NotificationType notificationType, McMMOMessageType destination, Component message) {
private static @NotNull McMMOPlayerNotificationEvent checkNotificationEvent(@NotNull Player player, @NotNull NotificationType notificationType, @NotNull McMMOMessageType destination, @NotNull Component message) {
//Init event
McMMOPlayerNotificationEvent customEvent = new McMMOPlayerNotificationEvent(player,
notificationType, message, destination, AdvancedConfig.getInstance().doesNotificationSendCopyToChat(notificationType));
@@ -146,20 +150,20 @@ public class NotificationManager {
/**
* Handles sending level up notifications to a mmoPlayer
* @param mmoPlayer target mmoPlayer
* @param skillName skill that leveled up
* @param rootSkill skill that leveled up
* @param newLevel new level of that skill
*/
public static void sendPlayerLevelUpNotification(OnlineMMOPlayer mmoPlayer, PrimarySkillType skillName, int levelsGained, int newLevel)
public static void sendPlayerLevelUpNotification(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull RootSkill rootSkill, int levelsGained, int newLevel)
{
if(!mmoPlayer.hasSkillChatNotifications())
return;
McMMOMessageType destination = AdvancedConfig.getInstance().doesNotificationUseActionBar(NotificationType.LEVEL_UP_MESSAGE) ? McMMOMessageType.ACTION_BAR : McMMOMessageType.SYSTEM;
Component levelUpTextComponent = TextComponentFactory.getNotificationLevelUpTextComponent(skillName, levelsGained, newLevel);
McMMOPlayerNotificationEvent customEvent = checkNotificationEvent(mmoPlayer.getPlayer(), NotificationType.LEVEL_UP_MESSAGE, destination, levelUpTextComponent);
Component levelUpTextComponent = TextComponentFactory.getNotificationLevelUpTextComponent(CoreSkills.getSkill(rootSkill), levelsGained, newLevel);
McMMOPlayerNotificationEvent customEvent = checkNotificationEvent(Misc.adaptPlayer(mmoPlayer), NotificationType.LEVEL_UP_MESSAGE, destination, levelUpTextComponent);
sendNotification(mmoPlayer.getPlayer(), customEvent);
sendNotification(Misc.adaptPlayer(mmoPlayer), customEvent);
}
public static void broadcastTitle(@NotNull Server server, @NotNull String title, @NotNull String subtitle, int i1, int i2, int i3)
@@ -176,16 +180,16 @@ public class NotificationManager {
return;
//CHAT MESSAGE
mcMMO.getAudiences().player(mmoPlayer.getPlayer()).sendMessage(Identity.nil(), TextComponentFactory.getSubSkillUnlockedNotificationComponents(mmoPlayer, subSkillType));
mcMMO.getAudiences().player(Misc.adaptPlayer(mmoPlayer)).sendMessage(Identity.nil(), TextComponentFactory.getSubSkillUnlockedNotificationComponents(mmoPlayer, subSkillType));
//Unlock Sound Effect
SoundManager.sendCategorizedSound(mmoPlayer.getPlayer(), mmoPlayer.getPlayer().getLocation(), SoundType.SKILL_UNLOCKED, SoundCategory.MASTER);
SoundManager.sendCategorizedSound(Misc.adaptPlayer(mmoPlayer), Misc.adaptPlayer(mmoPlayer).getLocation(), SoundType.SKILL_UNLOCKED, SoundCategory.MASTER);
//ACTION BAR MESSAGE
/*if(AdvancedConfig.getInstance().doesNotificationUseActionBar(NotificationType.SUBSKILL_UNLOCKED))
mmoPlayer.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(LocaleLoader.getString("JSON.SkillUnlockMessage",
Misc.adaptPlayer(mmoPlayer).spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(LocaleLoader.getString("JSON.SkillUnlockMessage",
subSkillType.getLocaleName(),
String.valueOf(RankUtils.getRank(mmoPlayer.getPlayer(),
String.valueOf(RankUtils.getRank(Misc.adaptPlayer(mmoPlayer),
subSkillType)))));*/
}

View File

@@ -3,22 +3,18 @@ package com.gmail.nossr50.util.player;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.mcMMO;
import com.neetgames.mcmmo.skill.RootSkill;
import org.jetbrains.annotations.NotNull;
public class PlayerLevelUtils {
public int getEarlyGameCutoff(@NotNull PrimarySkillType primarySkillType)
{
return 1;
}
/**
* 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 mmoPlayer target player
* @param primarySkillType target skill
* @param rootSkill target skill
* @return if the player would qualify for the XP boost if its enabled
*/
public static boolean qualifiesForEarlyGameBoost(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType) {
return mmoPlayer.getSkillLevel(primarySkillType) < mcMMO.getPlayerLevelUtils().getEarlyGameCutoff(primarySkillType);
public static boolean qualifiesForEarlyGameBoost(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull RootSkill rootSkill) {
return mmoPlayer.getSkillLevel(rootSkill) < 1;
}
}

View File

@@ -2,6 +2,8 @@ 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.neetgames.mcmmo.player.MMOPlayerData;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.datatypes.player.PersistentPlayerData;
import com.gmail.nossr50.datatypes.player.PlayerProfile;
@@ -37,7 +39,7 @@ public final class UserManager {
*
* @param mmoPlayer the player profile to start tracking
*/
public void track(@NotNull OnlineMMOPlayer mmoPlayer) {
public void track(@NotNull McMMOPlayer mmoPlayer) {
mmoPlayer.getPlayer().setMetadata(mcMMO.playerDataKey, new FixedMetadataValue(mcMMO.p, mmoPlayer));
playerDataSet.add(mmoPlayer); //for sync saves on shutdown
@@ -67,7 +69,7 @@ public final class UserManager {
return null;
}
public @Nullable PlayerProfile queryPlayer(@NotNull String playerName) {
public @Nullable PlayerProfile queryOfflinePlayer(@NotNull String playerName) {
return mcMMO.getDatabaseManager().queryPlayerByName(playerName);
}
@@ -77,7 +79,7 @@ public final class UserManager {
* @param player The Player object
*/
public void remove(@NotNull Player player) {
OnlineMMOPlayer mmoPlayer = queryPlayer(player);
McMMOPlayer mmoPlayer = (McMMOPlayer) queryPlayer(player);
if(mmoPlayer != null) {
mmoPlayer.cleanup();
@@ -114,22 +116,22 @@ public final class UserManager {
return entity != null && entity.hasMetadata(mcMMO.playerDataKey);
}
public @NotNull MMODataSnapshot createPlayerDataSnapshot(@NotNull PersistentPlayerData persistentPlayerData) {
return new MMODataSnapshot(persistentPlayerData);
public @NotNull MMODataSnapshot createPlayerDataSnapshot(@NotNull MMODataSnapshot mmoDataSnapshot) {
return new MMODataSnapshot(mmoDataSnapshot);
}
public void saveUserImmediately(@NotNull PersistentPlayerData persistentPlayerData, boolean useSync) {
public void saveUserImmediately(@NotNull MMOPlayerData mmoPlayerData, boolean useSync) {
if(useSync)
scheduleSyncSave(createPlayerDataSnapshot(persistentPlayerData)); //Execute sync saves immediately
scheduleSyncSave(createPlayerDataSnapshot(mmoPlayerData)); //Execute sync saves immediately
else
scheduleAsyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), 0);
scheduleAsyncSaveDelay(createPlayerDataSnapshot(mmoPlayerData), 0);
}
public void saveUserWithDelay(@NotNull PersistentPlayerData persistentPlayerData, boolean useSync, int delayTicks) {
public void saveUserWithDelay(@NotNull MMOPlayerData mmoPlayerData, boolean useSync, int delayTicks) {
if(useSync)
scheduleSyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), delayTicks); //Execute sync saves immediately
scheduleSyncSaveDelay(createPlayerDataSnapshot(mmoPlayerData), delayTicks); //Execute sync saves immediately
else
scheduleAsyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), delayTicks);
scheduleAsyncSaveDelay(createPlayerDataSnapshot(mmoPlayerData), delayTicks);
}
/**
@@ -144,7 +146,7 @@ public final class UserManager {
try
{
mcMMO.p.getLogger().info("Saving data for player: "+onlinePlayer.getPlayerName());
saveUserImmediately(onlinePlayer.getPersistentPlayerData(), true);
saveUserImmediately(onlinePlayer.getMMOPlayerData(), true);
}
catch (Exception e)
{
@@ -161,7 +163,7 @@ public final class UserManager {
*
* @param syncSave if true, data is saved synchronously
*/
public void logout(@NotNull OnlineMMOPlayer mmoPlayer, boolean syncSave) {
public void logout(@NotNull 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
@@ -178,7 +180,7 @@ public final class UserManager {
ScoreboardManager.teardownPlayer(mmoPlayer.getPlayer());
//Remove user from cache (SQL)
mcMMO.getDatabaseManager().removeCache(mmoPlayer.getUniqueId());
mcMMO.getDatabaseManager().removeCache(mmoPlayer.getUUID());
}

View File

@@ -337,7 +337,7 @@ public class RandomChanceUtil
String[] displayValues = new String[2];
boolean isLucky = Permissions.lucky(mmoPlayer.getPlayer(), primarySkillType);
boolean isLucky = Permissions.lucky(Misc.adaptPlayer(mmoPlayer), primarySkillType);
displayValues[0] = percent.format(Math.min(successChance, 100.0D) / 100.0D);
displayValues[1] = isLucky ? percent.format(Math.min(successChance_lucky, 100.0D) / 100.0D) : null;

View File

@@ -456,7 +456,7 @@ public class ScoreboardManager {
continue;
}
Player player = mmoPlayer.getPlayer();
Player player = Misc.adaptPlayer(mmoPlayer);
int power = mmoPlayer.getPowerLevel();
mainObjective.getScore(playerName).setScore(power);

View File

@@ -63,7 +63,7 @@ public class ScoreboardWrapper {
powerObjective.setDisplaySlot(DisplaySlot.BELOW_NAME);
for (OnlineMMOPlayer mmoPlayer : mcMMO.getUserManager().getPlayers()) {
powerObjective.getScore(mmoPlayer.getPlayerName()).setScore(mmoPlayer.getExperienceManager().getPowerLevel());
powerObjective.getScore(mmoPlayer.getPlayerName()).setScore(mmoPlayer.getExperienceHandler().getPowerLevel());
}
}
}
@@ -446,18 +446,18 @@ public class ScoreboardWrapper {
Validate.notNull(targetSkill);
if (!targetSkill.isChildSkill()) {
int currentXP = mmoPlayer.getExperienceManager().getSkillXpValue(targetSkill);
int currentXP = mmoPlayer.getExperienceHandler().getSkillXpValue(targetSkill);
sidebarObjective.getScore(ScoreboardManager.LABEL_CURRENT_XP).setScore(currentXP);
sidebarObjective.getScore(ScoreboardManager.LABEL_REMAINING_XP).setScore(mmoPlayer.getExperienceManager().getExperienceToNextLevel(targetSkill) - currentXP);
sidebarObjective.getScore(ScoreboardManager.LABEL_REMAINING_XP).setScore(mmoPlayer.getExperienceHandler().getExperienceToNextLevel(targetSkill) - currentXP);
}
else {
for (PrimarySkillType parentSkill : FamilyTree.getParents(targetSkill)) {
sidebarObjective.getScore(ScoreboardManager.skillLabels.get(parentSkill)).setScore(mmoPlayer.getExperienceManager().getSkillLevel(parentSkill));
sidebarObjective.getScore(ScoreboardManager.skillLabels.get(parentSkill)).setScore(mmoPlayer.getExperienceHandler().getSkillLevel(parentSkill));
}
}
sidebarObjective.getScore(ScoreboardManager.LABEL_LEVEL).setScore(mmoPlayer.getExperienceManager().getSkillLevel(targetSkill));
sidebarObjective.getScore(ScoreboardManager.LABEL_LEVEL).setScore(mmoPlayer.getExperienceHandler().getSkillLevel(targetSkill));
if (targetSkill.getSuperAbilityType() != null) {
boolean stopUpdating;
@@ -531,7 +531,7 @@ public class ScoreboardWrapper {
// 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.getExperienceManager().getSkillLevel(skill);
int level = newProfile.getExperienceHandler().getSkillLevel(skill);
powerLevel += level;

View File

@@ -2,7 +2,6 @@ package com.gmail.nossr50.util.skills;
import com.gmail.nossr50.config.AdvancedConfig;
import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.gmail.nossr50.datatypes.experience.XPGainReason;
import com.gmail.nossr50.datatypes.interactions.NotificationType;
import com.gmail.nossr50.datatypes.meta.OldName;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
@@ -82,7 +81,7 @@ public final class CombatUtils {
return;
}
SwordsManager swordsManager = mmoPlayer.getSwordsManager();
SwordsManager swordsManager = ((McMMOPlayer) (mmoPlayer)).getSwordsManager();
double initialDamage = event.getDamage();
double finalDamage = initialDamage;
@@ -132,7 +131,7 @@ public final class CombatUtils {
return;
}
TridentManager tridentManager = mmoPlayer.getTridentManager();
TridentManager tridentManager = ((McMMOPlayer) (mmoPlayer)).getTridentManager();
// double initialDamage = entityDamageByEntityEvent.getDamage();
// double finalDamage = initialDamage;
@@ -168,7 +167,7 @@ public final class CombatUtils {
return;
}
AxesManager axesManager = mmoPlayer.getAxesManager();
AxesManager axesManager = ((McMMOPlayer) (mmoPlayer)).getArcheryManager();
if (axesManager.canActivateAbility()) {
mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.AXES);
@@ -219,7 +218,7 @@ public final class CombatUtils {
return;
}
UnarmedManager unarmedManager = mmoPlayer.getUnarmedManager();
UnarmedManager unarmedManager = ((McMMOPlayer) (mmoPlayer)).getUnarmedManager();
if (unarmedManager.canActivateAbility()) {
mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.UNARMED);
@@ -260,7 +259,7 @@ public final class CombatUtils {
return;
}
TamingManager tamingManager = mmoPlayer.getTamingManager();
TamingManager tamingManager = ((McMMOPlayer) (mmoPlayer)).getTamingManager();
if (tamingManager.canUseFastFoodService()) {
tamingManager.fastFoodService(wolf, event.getDamage());
@@ -292,7 +291,7 @@ public final class CombatUtils {
return;
}
ArcheryManager archeryManager = mmoPlayer.getArcheryManager();
ArcheryManager archeryManager = ((McMMOPlayer) (mmoPlayer)).getArcheryManager();
double finalDamage = event.getDamage();
@@ -341,7 +340,7 @@ public final class CombatUtils {
return;
}
CrossbowManager crossbowManager = mmoPlayer.getCrossbowManager();
CrossbowManager crossbowManager = ((McMMOPlayer) (mmoPlayer)).getCrossbowManager();
double finalDamage = event.getDamage();
@@ -394,7 +393,7 @@ public final class CombatUtils {
}
OnlineMMOPlayer mmoPlayer = mcMMO.getUserManager().queryPlayer(player);
AcrobaticsManager acrobaticsManager = mmoPlayer.getAcrobaticsManager();
AcrobaticsManager acrobaticsManager = ((McMMOPlayer) (mmoPlayer)).getAcrobaticsManager();
if (acrobaticsManager.canDodge(target)) {
event.setDamage(acrobaticsManager.dodgeCheck(painSourceRoot, event.getDamage()));
@@ -405,7 +404,7 @@ public final class CombatUtils {
return;
}
SwordsManager swordsManager = mmoPlayer.getSwordsManager();
SwordsManager swordsManager = ((McMMOPlayer) (mmoPlayer)).getSwordsManager();
if (swordsManager.canUseCounterAttack(painSource)) {
swordsManager.counterAttackChecks((LivingEntity) painSource, event.getDamage());
@@ -520,7 +519,7 @@ public final class CombatUtils {
return;
}
TamingManager tamingManager = mmoPlayer.getTamingManager();
TamingManager tamingManager = ((McMMOPlayer) (mmoPlayer)).getTamingManager();
tamingManager.attackTarget(target);
}
}
@@ -623,7 +622,7 @@ public final class CombatUtils {
public static boolean canUseLimitBreak(@NotNull OnlineMMOPlayer mmoPlayer, LivingEntity target, @NotNull SubSkillType subSkillType) {
if(target instanceof Player || AdvancedConfig.getInstance().canApplyLimitBreakPVE()) {
return RankUtils.hasUnlockedSubskill(mmoPlayer, subSkillType)
&& Permissions.isSubSkillEnabled(mmoPlayer.getPlayer(), subSkillType);
&& Permissions.isSubSkillEnabled(Misc.adaptPlayer(mmoPlayer), subSkillType);
} else {
return false;
}
@@ -812,7 +811,7 @@ public final class CombatUtils {
XPGainReason xpGainReason;
if (target instanceof Player) {
if (!ExperienceConfig.getInstance().getExperienceGainsPlayerVersusPlayerEnabled() || mcMMO.getPartyManager().inSameParty(mmoPlayer.getPlayer(), (Player) target)) {
if (!ExperienceConfig.getInstance().getExperienceGainsPlayerVersusPlayerEnabled() || mcMMO.getPartyManager().inSameParty(Misc.adaptPlayer(mmoPlayer), (Player) target)) {
return;
}

View File

@@ -38,7 +38,7 @@ public class RankUtils {
continue;
//Don't send notifications if the player lacks the permission node
if(!Permissions.isSubSkillEnabled(mmoPlayer.getPlayer(), subSkillType))
if(!Permissions.isSubSkillEnabled(Misc.adaptPlayer(mmoPlayer), subSkillType))
continue;
//The players level is the exact level requirement for this skill
@@ -159,7 +159,7 @@ public class RankUtils {
// */
// public static int getRank(Player player, SubSkillType subSkillType)
// {
// return getRank(mmoPlayer.getPlayer(), subSkillType);
// return getRank(Misc.adaptPlayer(mmoPlayer), subSkillType);
// }
/**
@@ -186,7 +186,7 @@ public class RankUtils {
HashMap<Integer, Integer> rankMap = subSkillRanks.get(skillName);
//Skill level of parent skill
int currentSkillLevel = mmoPlayer.getExperienceManager().getSkillLevel(subSkillType.getParentSkill());
int currentSkillLevel = mmoPlayer.getExperienceHandler().getSkillLevel(subSkillType.getParentSkill());
for(int i = 0; i < numRanks; i++)
{
@@ -230,7 +230,7 @@ public class RankUtils {
HashMap<Integer, Integer> rankMap = subSkillRanks.get(skillName);
//Skill level of parent skill
int currentSkillLevel = mmoPlayer.getExperienceManager().getSkillLevel(abstractSubSkill.getPrimarySkill());
int currentSkillLevel = mmoPlayer.getExperienceHandler().getSkillLevel(abstractSubSkill.getPrimarySkill());
for(int i = 0; i < numRanks; i++)
{

View File

@@ -3,8 +3,6 @@ package com.gmail.nossr50.util.skills;
import com.gmail.nossr50.config.AdvancedConfig;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.config.HiddenConfig;
import com.gmail.nossr50.datatypes.experience.XPGainReason;
import com.gmail.nossr50.datatypes.experience.XPGainSource;
import com.gmail.nossr50.datatypes.interactions.NotificationType;
import com.neetgames.mcmmo.player.OnlineMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
@@ -15,7 +13,6 @@ import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.ItemUtils;
import com.gmail.nossr50.util.Misc;
import com.gmail.nossr50.util.compat.layers.persistentdata.AbstractPersistentDataLayer;
import com.gmail.nossr50.util.experience.MMOExperienceBarManager;
import com.gmail.nossr50.util.player.NotificationManager;
import com.gmail.nossr50.util.text.StringUtils;
import com.neetgames.mcmmo.exceptions.UnexpectedValueException;
@@ -45,11 +42,11 @@ public final class SkillUtils {
private SkillUtils() {}
public static void applyXpGain(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType, float xp, @NotNull XPGainReason xpGainReason) {
mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, XPGainSource.SELF);
mmoPlayer.getExperienceHandler().beginXpGain(Misc.adaptPlayer(mmoPlayer), primarySkillType, xp, xpGainReason, XPGainSource.SELF);
}
public static void applyXpGain(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType, float xp, @NotNull XPGainReason xpGainReason, @NotNull XPGainSource xpGainSource) {
mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, xpGainSource);
mmoPlayer.getExperienceHandler().beginXpGain(Misc.adaptPlayer(mmoPlayer), primarySkillType, xp, xpGainReason, xpGainSource);
}
public static @NotNull SkillBossBarState asBarState(String str) {
@@ -81,7 +78,7 @@ public final class SkillUtils {
length = 2 + (int) (skillValue / abilityLengthVar);
}
int enduranceLength = PerksUtils.handleActivationPerks(mmoPlayer.getPlayer(), length, maxLength);
int enduranceLength = PerksUtils.handleActivationPerks(Misc.adaptPlayer(mmoPlayer), length, maxLength);
if (maxLength != 0) {
length = Math.min(length, maxLength);
@@ -97,7 +94,7 @@ public final class SkillUtils {
public static int handleFoodSkills(@NotNull OnlineMMOPlayer mmoPlayer, int eventFoodLevel, @NotNull SubSkillType subSkillType) {
int curRank = RankUtils.getRank(mmoPlayer, subSkillType);
int currentFoodLevel = mmoPlayer.getPlayer().getFoodLevel();
int currentFoodLevel = Misc.adaptPlayer(mmoPlayer).getFoodLevel();
int foodChange = eventFoodLevel - currentFoodLevel;
foodChange+=curRank;
@@ -115,7 +112,7 @@ public final class SkillUtils {
* @return the number of seconds remaining before the cooldown expires
*/
public static int calculateTimeLeft(long deactivatedTimeStamp, int cooldown, @NotNull OnlineMMOPlayer mmoPlayer) {
return (int) (((deactivatedTimeStamp + (PerksUtils.handleCooldownPerks(mmoPlayer.getPlayer(), cooldown) * Misc.TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / Misc.TIME_CONVERSION_FACTOR);
return (int) (((deactivatedTimeStamp + (PerksUtils.handleCooldownPerks(Misc.adaptPlayer(mmoPlayer), cooldown) * Misc.TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / Misc.TIME_CONVERSION_FACTOR);
}
/**
@@ -203,10 +200,10 @@ public final class SkillUtils {
if(abilityLengthCap > 0)
{
ticks = PerksUtils.handleActivationPerks(player, Math.min(abilityLengthCap, 2 + (mmoPlayer.getExperienceManager().getSkillLevel(skill) / abilityLengthVar)),
ticks = PerksUtils.handleActivationPerks(player, Math.min(abilityLengthCap, 2 + (mmoPlayer.getExperienceHandler().getSkillLevel(skill) / abilityLengthVar)),
skill.getSuperAbilityType().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR;
} else {
ticks = PerksUtils.handleActivationPerks(player, 2 + ((mmoPlayer.getExperienceManager().getSkillLevel(skill)) / abilityLengthVar),
ticks = PerksUtils.handleActivationPerks(player, 2 + ((mmoPlayer.getExperienceHandler().getSkillLevel(skill)) / abilityLengthVar),
skill.getSuperAbilityType().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR;
}

View File

@@ -40,7 +40,7 @@ public class SmeltingTracker {
private void printOwnershipGainDebug(Furnace furnace, OnlineMMOPlayer mmoPlayer) {
if(mmoPlayer != null) {
if(mmoPlayer.isDebugMode()) {
mmoPlayer.getPlayer().sendMessage("Furnace ownership " +
Misc.adaptPlayer(mmoPlayer).sendMessage("Furnace ownership " +
ChatColor.GREEN +"gained " + ChatColor.RESET +
"at location: " + furnace.getLocation().toString());
}

View File

@@ -495,7 +495,7 @@ public class TextComponentFactory {
if(subSkillType == SubSkillType.FISHING_MASTER_ANGLER && mcMMO.getCompatibilityManager().getMasterAnglerCompatibilityLayer() == null)
continue;
if(Permissions.isSubSkillEnabled(mmoPlayer.getPlayer(), subSkillType))
if(Permissions.isSubSkillEnabled(Misc.adaptPlayer(mmoPlayer), subSkillType))
{
if(!InteractionManager.hasSubSkill(subSkillType))
textComponents.add(TextComponentFactory.getSubSkillTextComponent(mmoPlayer, subSkillType));
@@ -508,7 +508,7 @@ public class TextComponentFactory {
{
if(abstractSubSkill.getPrimarySkill() == parentSkill)
{
if(Permissions.isSubSkillEnabled(mmoPlayer.getPlayer(), abstractSubSkill))
if(Permissions.isSubSkillEnabled(Misc.adaptPlayer(mmoPlayer), abstractSubSkill))
textComponents.add(TextComponentFactory.getSubSkillTextComponent(mmoPlayer, abstractSubSkill));
}
}