mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-08-03 13:05:30 +02:00
Refactoring a bunch of stuff, more refactoring to come
This commit is contained in:
@@ -11,7 +11,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
|
||||
import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent;
|
||||
import com.gmail.nossr50.events.fake.FakeEntityDamageEvent;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.party.PartyManager;
|
||||
import com.gmail.nossr50.runnables.skills.AwardCombatXpTask;
|
||||
import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager;
|
||||
import com.gmail.nossr50.skills.archery.ArcheryManager;
|
||||
@@ -23,7 +22,6 @@ import com.gmail.nossr50.skills.tridents.TridentManager;
|
||||
import com.gmail.nossr50.skills.unarmed.UnarmedManager;
|
||||
import com.gmail.nossr50.util.*;
|
||||
import com.gmail.nossr50.util.player.NotificationManager;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
@@ -49,21 +47,21 @@ public final class CombatUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
|
||||
//Make sure the profiles been loaded
|
||||
if(mcMMOPlayer == null) {
|
||||
if(mmoPlayer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
SwordsManager swordsManager = mcMMOPlayer.getSwordsManager();
|
||||
SwordsManager swordsManager = mmoPlayer.getSwordsManager();
|
||||
double initialDamage = event.getDamage();
|
||||
double finalDamage = initialDamage;
|
||||
|
||||
Map<DamageModifier, Double> modifiers = getModifiers(event);
|
||||
|
||||
if (swordsManager.canActivateAbility()) {
|
||||
mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.SWORDS);
|
||||
mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.SWORDS);
|
||||
}
|
||||
|
||||
if(target.getHealth() - event.getFinalDamage() >= 1)
|
||||
@@ -76,7 +74,7 @@ public final class CombatUtils {
|
||||
//Add Stab Damage
|
||||
if(swordsManager.canUseStab())
|
||||
{
|
||||
finalDamage+=(swordsManager.getStabDamage() * mcMMOPlayer.getAttackStrength());
|
||||
finalDamage+=(swordsManager.getStabDamage() * mmoPlayer.getAttackStrength());
|
||||
}
|
||||
|
||||
if (swordsManager.canUseSerratedStrike()) {
|
||||
@@ -85,11 +83,11 @@ public final class CombatUtils {
|
||||
|
||||
if(canUseLimitBreak(player, target, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK))
|
||||
{
|
||||
finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK) * mcMMOPlayer.getAttackStrength());
|
||||
finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK) * mmoPlayer.getAttackStrength());
|
||||
}
|
||||
|
||||
applyScaledModifiers(initialDamage, finalDamage, event);
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.SWORDS);
|
||||
processCombatXP(mmoPlayer, target, PrimarySkillType.SWORDS);
|
||||
}
|
||||
|
||||
public static void processTridentCombat(LivingEntity target, Player player, EntityDamageByEntityEvent entityDamageByEntityEvent) {
|
||||
@@ -97,18 +95,18 @@ public final class CombatUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
|
||||
//Make sure the profiles been loaded
|
||||
if(mcMMOPlayer == null) {
|
||||
if(mmoPlayer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
TridentManager tridentManager = mcMMOPlayer.getTridentManager();
|
||||
TridentManager tridentManager = mmoPlayer.getTridentManager();
|
||||
// double initialDamage = entityDamageByEntityEvent.getDamage();
|
||||
// double finalDamage = initialDamage;
|
||||
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.TRIDENTS);
|
||||
processCombatXP(mmoPlayer, target, PrimarySkillType.TRIDENTS);
|
||||
}
|
||||
|
||||
|
||||
@@ -146,17 +144,17 @@ public final class CombatUtils {
|
||||
double finalDamage = initialDamage;
|
||||
Map<DamageModifier, Double> modifiers = getModifiers(event);
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
|
||||
//Make sure the profiles been loaded
|
||||
if(mcMMOPlayer == null) {
|
||||
if(mmoPlayer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
AxesManager axesManager = mcMMOPlayer.getAxesManager();
|
||||
AxesManager axesManager = mmoPlayer.getAxesManager();
|
||||
|
||||
if (axesManager.canActivateAbility()) {
|
||||
mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.AXES);
|
||||
mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.AXES);
|
||||
}
|
||||
|
||||
if (axesManager.canUseAxeMastery()) {
|
||||
@@ -175,16 +173,16 @@ public final class CombatUtils {
|
||||
}
|
||||
|
||||
if (axesManager.canCriticalHit(target)) {
|
||||
finalDamage+=(axesManager.criticalHit(target, finalDamage) * mcMMOPlayer.getAttackStrength());
|
||||
finalDamage+=(axesManager.criticalHit(target, finalDamage) * mmoPlayer.getAttackStrength());
|
||||
}
|
||||
|
||||
if(canUseLimitBreak(player, target, SubSkillType.AXES_AXES_LIMIT_BREAK))
|
||||
{
|
||||
finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.AXES_AXES_LIMIT_BREAK) * mcMMOPlayer.getAttackStrength());
|
||||
finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.AXES_AXES_LIMIT_BREAK) * mmoPlayer.getAttackStrength());
|
||||
}
|
||||
|
||||
applyScaledModifiers(initialDamage, finalDamage, event);
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.AXES);
|
||||
processCombatXP(mmoPlayer, target, PrimarySkillType.AXES);
|
||||
}
|
||||
|
||||
private static void processUnarmedCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event) {
|
||||
@@ -195,26 +193,26 @@ public final class CombatUtils {
|
||||
double initialDamage = event.getDamage();
|
||||
double finalDamage = initialDamage;
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
|
||||
//Make sure the profiles been loaded
|
||||
if(mcMMOPlayer == null) {
|
||||
if(mmoPlayer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
UnarmedManager unarmedManager = mcMMOPlayer.getUnarmedManager();
|
||||
UnarmedManager unarmedManager = mmoPlayer.getUnarmedManager();
|
||||
|
||||
if (unarmedManager.canActivateAbility()) {
|
||||
mcMMOPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.UNARMED);
|
||||
mmoPlayer.getSuperAbilityManager().checkAbilityActivation(PrimarySkillType.UNARMED);
|
||||
}
|
||||
|
||||
//Only execute bonuses if the player is not spamming
|
||||
if (unarmedManager.canUseIronArm()) {
|
||||
finalDamage+=(unarmedManager.calculateIronArmDamage() * mcMMOPlayer.getAttackStrength());
|
||||
finalDamage+=(unarmedManager.calculateIronArmDamage() * mmoPlayer.getAttackStrength());
|
||||
}
|
||||
|
||||
if (unarmedManager.canUseBerserk()) {
|
||||
finalDamage+=(unarmedManager.berserkDamage(finalDamage) * mcMMOPlayer.getAttackStrength());
|
||||
finalDamage+=(unarmedManager.berserkDamage(finalDamage) * mmoPlayer.getAttackStrength());
|
||||
}
|
||||
|
||||
if (unarmedManager.canDisarm(target)) {
|
||||
@@ -223,11 +221,11 @@ public final class CombatUtils {
|
||||
|
||||
if(canUseLimitBreak(player, target, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK))
|
||||
{
|
||||
finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK) * mcMMOPlayer.getAttackStrength());
|
||||
finalDamage+=(getLimitBreakDamage(player, target, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK) * mmoPlayer.getAttackStrength());
|
||||
}
|
||||
|
||||
applyScaledModifiers(initialDamage, finalDamage, event);
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.UNARMED);
|
||||
processCombatXP(mmoPlayer, target, PrimarySkillType.UNARMED);
|
||||
}
|
||||
|
||||
private static void processTamingCombat(LivingEntity target, Player master, Wolf wolf, EntityDamageByEntityEvent event) {
|
||||
@@ -235,14 +233,14 @@ public final class CombatUtils {
|
||||
double finalDamage = initialDamage;
|
||||
|
||||
if(master != null && master.isOnline() && master.isValid()) {
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(master);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(master);
|
||||
|
||||
//Make sure the profiles been loaded
|
||||
if(mcMMOPlayer == null) {
|
||||
if(mmoPlayer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
TamingManager tamingManager = mcMMOPlayer.getTamingManager();
|
||||
TamingManager tamingManager = mmoPlayer.getTamingManager();
|
||||
|
||||
if (tamingManager.canUseFastFoodService()) {
|
||||
tamingManager.fastFoodService(wolf, event.getDamage());
|
||||
@@ -259,7 +257,7 @@ public final class CombatUtils {
|
||||
}
|
||||
|
||||
applyScaledModifiers(initialDamage, finalDamage, event);
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.TAMING);
|
||||
processCombatXP(mmoPlayer, target, PrimarySkillType.TAMING);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -267,19 +265,19 @@ public final class CombatUtils {
|
||||
private static void processArcheryCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event, Projectile arrow) {
|
||||
double initialDamage = event.getDamage();
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
|
||||
//Make sure the profiles been loaded
|
||||
if(mcMMOPlayer == null) {
|
||||
if(mmoPlayer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ArcheryManager archeryManager = mcMMOPlayer.getArcheryManager();
|
||||
ArcheryManager archeryManager = mmoPlayer.getArcheryManager();
|
||||
|
||||
double finalDamage = event.getDamage();
|
||||
|
||||
if (target instanceof Player && PrimarySkillType.UNARMED.getPVPEnabled()) {
|
||||
UnarmedManager unarmedManager = UserManager.getPlayer((Player) target).getUnarmedManager();
|
||||
UnarmedManager unarmedManager = mcMMO.getUserManager().getPlayer((Player) target).getUnarmedManager();
|
||||
|
||||
if (unarmedManager.canDeflect()) {
|
||||
event.setCancelled(unarmedManager.deflectCheck());
|
||||
@@ -315,25 +313,25 @@ public final class CombatUtils {
|
||||
// forceMultiplier = arrow.getMetadata(mcMMO.bowForceKey).get(0).asDouble();
|
||||
|
||||
applyScaledModifiers(initialDamage, finalDamage, event);
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.ARCHERY, distanceMultiplier);
|
||||
processCombatXP(mmoPlayer, target, PrimarySkillType.ARCHERY, distanceMultiplier);
|
||||
}
|
||||
|
||||
private static void processCrossbowCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event, Projectile arrow) {
|
||||
double initialDamage = event.getDamage();
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
|
||||
//Make sure the profiles been loaded
|
||||
if(mcMMOPlayer == null) {
|
||||
if(mmoPlayer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
CrossbowManager crossbowManager = mcMMOPlayer.getCrossbowManager();
|
||||
CrossbowManager crossbowManager = mmoPlayer.getCrossbowManager();
|
||||
|
||||
double finalDamage = event.getDamage();
|
||||
|
||||
if (target instanceof Player && PrimarySkillType.UNARMED.getPVPEnabled()) {
|
||||
UnarmedManager unarmedManager = UserManager.getPlayer((Player) target).getUnarmedManager();
|
||||
UnarmedManager unarmedManager = mcMMO.getUserManager().getPlayer((Player) target).getUnarmedManager();
|
||||
|
||||
if (unarmedManager.canDeflect()) {
|
||||
event.setCancelled(unarmedManager.deflectCheck());
|
||||
@@ -351,7 +349,7 @@ public final class CombatUtils {
|
||||
|
||||
double distanceMultiplier = crossbowManager.distanceXpBonusMultiplier(target, arrow);
|
||||
applyScaledModifiers(initialDamage, finalDamage, event);
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.CROSSBOWS, distanceMultiplier);
|
||||
processCombatXP(mmoPlayer, target, PrimarySkillType.CROSSBOWS, distanceMultiplier);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -369,12 +367,12 @@ public final class CombatUtils {
|
||||
}
|
||||
|
||||
Player player = (Player) target;
|
||||
if (!UserManager.hasPlayerDataKey(player)) {
|
||||
if (!mcMMO.getUserManager().hasPlayerDataKey(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
AcrobaticsManager acrobaticsManager = mcMMOPlayer.getAcrobaticsManager();
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
AcrobaticsManager acrobaticsManager = mmoPlayer.getAcrobaticsManager();
|
||||
|
||||
if (acrobaticsManager.canDodge(target)) {
|
||||
event.setDamage(acrobaticsManager.dodgeCheck(painSourceRoot, event.getDamage()));
|
||||
@@ -385,7 +383,7 @@ public final class CombatUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
SwordsManager swordsManager = mcMMOPlayer.getSwordsManager();
|
||||
SwordsManager swordsManager = mmoPlayer.getSwordsManager();
|
||||
|
||||
if (swordsManager.canUseCounterAttack(painSource)) {
|
||||
swordsManager.counterAttackChecks((LivingEntity) painSource, event.getDamage());
|
||||
@@ -396,7 +394,7 @@ public final class CombatUtils {
|
||||
if (painSourceRoot instanceof Player && entityType == EntityType.PLAYER) {
|
||||
Player player = (Player) painSourceRoot;
|
||||
|
||||
if (!UserManager.hasPlayerDataKey(player)) {
|
||||
if (!mcMMO.getUserManager().hasPlayerDataKey(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -404,7 +402,7 @@ public final class CombatUtils {
|
||||
|
||||
if (target instanceof Tameable) {
|
||||
if (heldItem.getType() == Material.BONE) {
|
||||
TamingManager tamingManager = UserManager.getPlayer(player).getTamingManager();
|
||||
TamingManager tamingManager = mcMMO.getUserManager().getPlayer(player).getTamingManager();
|
||||
|
||||
if (tamingManager.canUseBeastLore()) {
|
||||
tamingManager.beastLore(target);
|
||||
@@ -497,8 +495,8 @@ public final class CombatUtils {
|
||||
|
||||
|
||||
if (target.getType() != EntityType.CREEPER && !Misc.isNPCEntityExcludingVillagers(player) && PrimarySkillType.TAMING.getPermissions(player)) {
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
TamingManager tamingManager = mcMMOPlayer.getTamingManager();
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
TamingManager tamingManager = mmoPlayer.getTamingManager();
|
||||
tamingManager.attackTarget(target);
|
||||
}
|
||||
}
|
||||
@@ -761,7 +759,7 @@ public final class CombatUtils {
|
||||
NotificationManager.sendPlayerInformation((Player)entity, NotificationType.SUBSKILL_MESSAGE, "Swords.Combat.SS.Struck");
|
||||
}
|
||||
|
||||
UserManager.getPlayer(attacker).getSwordsManager().ruptureCheck(target);
|
||||
mcMMO.getUserManager().getPlayer(attacker).getSwordsManager().ruptureCheck(target);
|
||||
break;
|
||||
|
||||
case AXES:
|
||||
@@ -783,35 +781,35 @@ public final class CombatUtils {
|
||||
/**
|
||||
* Start the task that gives combat XP.
|
||||
*
|
||||
* @param mcMMOPlayer The attacking player
|
||||
* @param mmoPlayer The attacking player
|
||||
* @param target The defending entity
|
||||
* @param primarySkillType The skill being used
|
||||
*/
|
||||
public static void processCombatXP(McMMOPlayer mcMMOPlayer, LivingEntity target, PrimarySkillType primarySkillType) {
|
||||
processCombatXP(mcMMOPlayer, target, primarySkillType, 1.0);
|
||||
public static void processCombatXP(McMMOPlayer mmoPlayer, LivingEntity target, PrimarySkillType primarySkillType) {
|
||||
processCombatXP(mmoPlayer, target, primarySkillType, 1.0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Start the task that gives combat XP.
|
||||
*
|
||||
* @param mcMMOPlayer The attacking player
|
||||
* @param mmoPlayer The attacking player
|
||||
* @param target The defending entity
|
||||
* @param primarySkillType The skill being used
|
||||
* @param multiplier final XP result will be multiplied by this
|
||||
*/
|
||||
public static void processCombatXP(McMMOPlayer mcMMOPlayer, LivingEntity target, PrimarySkillType primarySkillType, double multiplier) {
|
||||
public static void processCombatXP(McMMOPlayer mmoPlayer, LivingEntity target, PrimarySkillType primarySkillType, double multiplier) {
|
||||
double baseXP = 0;
|
||||
XPGainReason xpGainReason;
|
||||
|
||||
if (target instanceof Player) {
|
||||
if (!ExperienceConfig.getInstance().getExperienceGainsPlayerVersusPlayerEnabled() || PartyManager.inSameParty(mcMMOPlayer.getPlayer(), (Player) target)) {
|
||||
if (!ExperienceConfig.getInstance().getExperienceGainsPlayerVersusPlayerEnabled() || mcMMO.getPartyManager().inSameParty(mmoPlayer.getPlayer(), (Player) target)) {
|
||||
return;
|
||||
}
|
||||
|
||||
xpGainReason = XPGainReason.PVP;
|
||||
Player defender = (Player) target;
|
||||
|
||||
if (defender.isOnline() && SkillUtils.cooldownExpired(mcMMOPlayer.getRespawnATS(), Misc.PLAYER_RESPAWN_COOLDOWN_SECONDS)) {
|
||||
if (defender.isOnline() && SkillUtils.cooldownExpired(mmoPlayer.getRespawnATS(), Misc.PLAYER_RESPAWN_COOLDOWN_SECONDS)) {
|
||||
baseXP = 20 * ExperienceConfig.getInstance().getPlayerVersusPlayerXP();
|
||||
}
|
||||
}
|
||||
@@ -868,7 +866,7 @@ public final class CombatUtils {
|
||||
baseXP *= multiplier;
|
||||
|
||||
if (baseXP != 0) {
|
||||
new AwardCombatXpTask(mcMMOPlayer, primarySkillType, baseXP, target, xpGainReason).runTaskLater(mcMMO.p, 0);
|
||||
new AwardCombatXpTask(mmoPlayer, primarySkillType, baseXP, target, xpGainReason).runTaskLater(mcMMO.p, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -884,14 +882,14 @@ public final class CombatUtils {
|
||||
Player defender = (Player) entity;
|
||||
|
||||
//TODO: NPC Interaction?
|
||||
if(UserManager.getPlayer(defender) == null)
|
||||
if(mcMMO.getUserManager().getPlayer(defender) == null)
|
||||
return true;
|
||||
|
||||
if (!defender.getWorld().getPVP() || defender == player || UserManager.getPlayer(defender).getGodMode()) {
|
||||
if (!defender.getWorld().getPVP() || defender == player || mcMMO.getUserManager().getPlayer(defender).getGodMode()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((PartyManager.inSameParty(player, defender) || PartyManager.areAllies(player, defender)) && !(Permissions.friendlyFire(player) && Permissions.friendlyFire(defender))) {
|
||||
if ((mcMMO.getPartyManager().inSameParty(player, defender) || mcMMO.getPartyManager().areAllies(player, defender)) && !(Permissions.friendlyFire(player) && Permissions.friendlyFire(defender))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -949,7 +947,7 @@ public final class CombatUtils {
|
||||
if (tamer instanceof Player) {
|
||||
Player owner = (Player) tamer;
|
||||
|
||||
return (owner == attacker || PartyManager.inSameParty(attacker, owner) || PartyManager.areAllies(attacker, owner));
|
||||
return (owner == attacker || mcMMO.getPartyManager().inSameParty(attacker, owner) || mcMMO.getPartyManager().areAllies(attacker, owner));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -3,7 +3,6 @@ package com.gmail.nossr50.util.skills;
|
||||
import com.gmail.nossr50.config.experience.ExperienceConfig;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import com.gmail.nossr50.util.Permissions;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@@ -49,7 +48,7 @@ public final class PerksUtils {
|
||||
double modifier = 1.0F;
|
||||
|
||||
if (Permissions.customXpBoost(player, skill)) {
|
||||
if(UserManager.getPlayer(player) != null && UserManager.getPlayer(player).isDebugMode()) {
|
||||
if(mcMMO.getUserManager().getPlayer(player) != null && mcMMO.getUserManager().getPlayer(player).isDebugMode()) {
|
||||
player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.DARK_GRAY + "XP Perk Multiplier IS CUSTOM! ");
|
||||
}
|
||||
|
||||
@@ -76,7 +75,7 @@ public final class PerksUtils {
|
||||
|
||||
float modifiedXP = (float) (xp * modifier);
|
||||
|
||||
if(UserManager.getPlayer(player) != null && UserManager.getPlayer(player).isDebugMode()) {
|
||||
if(mcMMO.getUserManager().getPlayer(player) != null && mcMMO.getUserManager().getPlayer(player).isDebugMode()) {
|
||||
player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "XP Perk Multiplier - " + ChatColor.GOLD + modifier);
|
||||
player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "Original XP before perk boosts " + ChatColor.RED + (double) xp);
|
||||
player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "XP AFTER PERKS " + ChatColor.DARK_RED + modifiedXP);
|
||||
|
@@ -9,7 +9,6 @@ import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
|
||||
import com.gmail.nossr50.listeners.InteractionManager;
|
||||
import com.gmail.nossr50.runnables.skills.SkillUnlockNotificationTask;
|
||||
import com.gmail.nossr50.util.Permissions;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
@@ -22,15 +21,15 @@ public class RankUtils {
|
||||
/**
|
||||
*
|
||||
* @param plugin plugin instance ref
|
||||
* @param mcMMOPlayer target player
|
||||
* @param mmoPlayer target player
|
||||
* @param primarySkillType
|
||||
* @param newLevel the new level of this skill
|
||||
*/
|
||||
public static void executeSkillUnlockNotifications(Plugin plugin, McMMOPlayer mcMMOPlayer, PrimarySkillType primarySkillType, int newLevel)
|
||||
public static void executeSkillUnlockNotifications(Plugin plugin, McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, int newLevel)
|
||||
{
|
||||
for(SubSkillType subSkillType : primarySkillType.getSkillAbilities())
|
||||
{
|
||||
int playerRankInSkill = getRank(mcMMOPlayer.getPlayer(), subSkillType);
|
||||
int playerRankInSkill = getRank(mmoPlayer.getPlayer(), subSkillType);
|
||||
|
||||
HashMap<Integer, Integer> innerMap = subSkillRanks.get(subSkillType.toString());
|
||||
|
||||
@@ -39,13 +38,13 @@ public class RankUtils {
|
||||
continue;
|
||||
|
||||
//Don't send notifications if the player lacks the permission node
|
||||
if(!Permissions.isSubSkillEnabled(mcMMOPlayer.getPlayer(), subSkillType))
|
||||
if(!Permissions.isSubSkillEnabled(mmoPlayer.getPlayer(), subSkillType))
|
||||
continue;
|
||||
|
||||
//The players level is the exact level requirement for this skill
|
||||
if(newLevel == innerMap.get(playerRankInSkill))
|
||||
{
|
||||
SkillUnlockNotificationTask skillUnlockNotificationTask = new SkillUnlockNotificationTask(mcMMOPlayer, subSkillType, newLevel);
|
||||
SkillUnlockNotificationTask skillUnlockNotificationTask = new SkillUnlockNotificationTask(mmoPlayer, subSkillType, newLevel);
|
||||
|
||||
skillUnlockNotificationTask.runTaskLater(plugin, (count * 100));
|
||||
|
||||
@@ -177,11 +176,11 @@ public class RankUtils {
|
||||
//Get our rank map
|
||||
HashMap<Integer, Integer> rankMap = subSkillRanks.get(skillName);
|
||||
|
||||
if(UserManager.getPlayer(player) == null)
|
||||
if(mcMMO.getUserManager().getPlayer(player) == null)
|
||||
return 0;
|
||||
|
||||
//Skill level of parent skill
|
||||
int currentSkillLevel = UserManager.getPlayer(player).getSkillLevel(subSkillType.getParentSkill());
|
||||
int currentSkillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(subSkillType.getParentSkill());
|
||||
|
||||
for(int i = 0; i < numRanks; i++)
|
||||
{
|
||||
@@ -224,11 +223,11 @@ public class RankUtils {
|
||||
//Get our rank map
|
||||
HashMap<Integer, Integer> rankMap = subSkillRanks.get(skillName);
|
||||
|
||||
if(UserManager.getPlayer(player) == null)
|
||||
if(mcMMO.getUserManager().getPlayer(player) == null)
|
||||
return 0;
|
||||
|
||||
//Skill level of parent skill
|
||||
int currentSkillLevel = UserManager.getPlayer(player).getSkillLevel(abstractSubSkill.getPrimarySkill());
|
||||
int currentSkillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(abstractSubSkill.getPrimarySkill());
|
||||
|
||||
for(int i = 0; i < numRanks; i++)
|
||||
{
|
||||
|
@@ -15,9 +15,8 @@ import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.ItemUtils;
|
||||
import com.gmail.nossr50.util.Misc;
|
||||
import com.gmail.nossr50.util.StringUtils;
|
||||
import com.gmail.nossr50.util.experience.ExperienceBarManager;
|
||||
import com.gmail.nossr50.util.experience.MMOExperienceBarManager;
|
||||
import com.gmail.nossr50.util.player.NotificationManager;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
@@ -32,46 +31,28 @@ import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class SkillUtils {
|
||||
|
||||
public static void applyXpGain(McMMOPlayer mcMMOPlayer, PrimarySkillType skill, float xp, XPGainReason xpGainReason) {
|
||||
mcMMOPlayer.beginXpGain(skill, xp, xpGainReason, XPGainSource.SELF);
|
||||
public static void applyXpGain(McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, float xp, XPGainReason xpGainReason) {
|
||||
mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, XPGainSource.SELF);
|
||||
}
|
||||
|
||||
public static void applyXpGain(McMMOPlayer mcMMOPlayer, PrimarySkillType skill, float xp, XPGainReason xpGainReason, XPGainSource xpGainSource) {
|
||||
mcMMOPlayer.beginXpGain(skill, xp, xpGainReason, xpGainSource);
|
||||
public static void applyXpGain(McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, float xp, XPGainReason xpGainReason, XPGainSource xpGainSource) {
|
||||
mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, xpGainSource);
|
||||
}
|
||||
|
||||
public static HashMap<PrimarySkillType, ExperienceBarManager.BarState> generateDefaultBarStateMap() {
|
||||
HashMap<PrimarySkillType, ExperienceBarManager.BarState> barStateHashMap = new HashMap<>();
|
||||
|
||||
setBarStateDefaults(barStateHashMap);
|
||||
|
||||
return barStateHashMap;
|
||||
}
|
||||
|
||||
public static ExperienceBarManager.BarState asBarState(String str) {
|
||||
for(ExperienceBarManager.BarState barState : ExperienceBarManager.BarState.values()) {
|
||||
public static MMOExperienceBarManager.BarState asBarState(String str) {
|
||||
for(MMOExperienceBarManager.BarState barState : MMOExperienceBarManager.BarState.values()) {
|
||||
if(barState.toString().equalsIgnoreCase(str)) {
|
||||
return barState;
|
||||
}
|
||||
}
|
||||
|
||||
return ExperienceBarManager.BarState.NORMAL;
|
||||
}
|
||||
|
||||
public static void setBarStateDefaults(HashMap<PrimarySkillType, ExperienceBarManager.BarState> barStateHashMap) {
|
||||
for(PrimarySkillType skillType : PrimarySkillType.values()) {
|
||||
if(skillType.isChildSkill()) {
|
||||
barStateHashMap.put(skillType, ExperienceBarManager.BarState.DISABLED);
|
||||
} else {
|
||||
barStateHashMap.put(skillType, ExperienceBarManager.BarState.NORMAL);
|
||||
}
|
||||
}
|
||||
mcMMO.p.getLogger().severe("Unable to read bar state for value " + str + " setting to default instead.");
|
||||
return MMOExperienceBarManager.BarState.NORMAL;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -198,13 +179,13 @@ public class SkillUtils {
|
||||
}
|
||||
}
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
|
||||
//Not Loaded
|
||||
if(mcMMOPlayer == null)
|
||||
if(mmoPlayer == null)
|
||||
return;
|
||||
|
||||
PrimarySkillType skill = mcMMOPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER) ? PrimarySkillType.MINING : PrimarySkillType.EXCAVATION;
|
||||
PrimarySkillType skill = mmoPlayer.getSuperAbilityManager().getAbilityMode(SuperAbilityType.SUPER_BREAKER) ? PrimarySkillType.MINING : PrimarySkillType.EXCAVATION;
|
||||
|
||||
int abilityLengthVar = AdvancedConfig.getInstance().getAbilityLength();
|
||||
int abilityLengthCap = AdvancedConfig.getInstance().getAbilityLengthCap();
|
||||
@@ -213,10 +194,10 @@ public class SkillUtils {
|
||||
|
||||
if(abilityLengthCap > 0)
|
||||
{
|
||||
ticks = PerksUtils.handleActivationPerks(player, Math.min(abilityLengthCap, 2 + (mcMMOPlayer.getSkillLevel(skill) / abilityLengthVar)),
|
||||
ticks = PerksUtils.handleActivationPerks(player, Math.min(abilityLengthCap, 2 + (mmoPlayer.getExperienceManager().getSkillLevel(skill) / abilityLengthVar)),
|
||||
skill.getSuperAbilityType().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR;
|
||||
} else {
|
||||
ticks = PerksUtils.handleActivationPerks(player, 2 + ((mcMMOPlayer.getSkillLevel(skill)) / abilityLengthVar),
|
||||
ticks = PerksUtils.handleActivationPerks(player, 2 + ((mmoPlayer.getExperienceManager().getSkillLevel(skill)) / abilityLengthVar),
|
||||
skill.getSuperAbilityType().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR;
|
||||
}
|
||||
|
||||
|
@@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.Permissions;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
@@ -22,12 +21,12 @@ public class SmeltingTracker {
|
||||
|
||||
private void changeFurnaceOwnership(Furnace furnace, Player player) {
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
|
||||
|
||||
/*
|
||||
Debug output
|
||||
*/
|
||||
printOwnershipGainDebug(furnace, mcMMOPlayer);
|
||||
printOwnershipGainDebug(furnace, mmoPlayer);
|
||||
|
||||
printOwnershipLossDebug(furnace);
|
||||
|
||||
@@ -38,10 +37,10 @@ public class SmeltingTracker {
|
||||
mcMMO.getCompatibilityManager().getPersistentDataLayer().setFurnaceOwner(furnace, player.getUniqueId());
|
||||
}
|
||||
|
||||
private void printOwnershipGainDebug(Furnace furnace, McMMOPlayer mcMMOPlayer) {
|
||||
if(mcMMOPlayer != null) {
|
||||
if(mcMMOPlayer.isDebugMode()) {
|
||||
mcMMOPlayer.getPlayer().sendMessage("Furnace ownership " +
|
||||
private void printOwnershipGainDebug(Furnace furnace, McMMOPlayer mmoPlayer) {
|
||||
if(mmoPlayer != null) {
|
||||
if(mmoPlayer.isDebugMode()) {
|
||||
mmoPlayer.getPlayer().sendMessage("Furnace ownership " +
|
||||
ChatColor.GREEN +"gained " + ChatColor.RESET +
|
||||
"at location: " + furnace.getLocation().toString());
|
||||
}
|
||||
@@ -53,7 +52,7 @@ public class SmeltingTracker {
|
||||
OfflinePlayer furnaceOwner = getFurnaceOwner(furnace);
|
||||
|
||||
if(furnaceOwner != null && furnaceOwner.isOnline()) {
|
||||
McMMOPlayer furnaceOwnerProfile = UserManager.getPlayer(furnaceOwner.getPlayer());
|
||||
McMMOPlayer furnaceOwnerProfile = mcMMO.getUserManager().getPlayer(furnaceOwner.getPlayer());
|
||||
|
||||
if(furnaceOwnerProfile != null) {
|
||||
if(furnaceOwnerProfile.isDebugMode()) {
|
||||
|
Reference in New Issue
Block a user