mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-08-01 03:55:28 +02:00
More API migration, feels like a mountain of work left lol
This commit is contained in:
@@ -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());
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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)); }
|
||||
|
@@ -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));
|
||||
|
@@ -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());
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -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)))));*/
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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++)
|
||||
{
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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());
|
||||
}
|
||||
|
@@ -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));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user