Setup Fishing XP Methods

This commit is contained in:
nossr50
2019-04-10 03:32:49 -07:00
parent e156d6d5ef
commit 2170c6de24
6 changed files with 86 additions and 19 deletions

View File

@ -1,8 +1,8 @@
package com.gmail.nossr50.skills.archery;
import com.gmail.nossr50.config.AdvancedConfig;
import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.gmail.nossr50.datatypes.skills.SubSkillType;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.Misc;
import com.gmail.nossr50.util.skills.RankUtils;
import org.bukkit.Material;
@ -17,21 +17,30 @@ import java.util.List;
public class Archery {
private static List<TrackedEntity> trackedEntities;
public static double skillShotMaxBonusDamage;
private static double skillShotDamageCap;
public static double dazeBonusDamage;
private static double dazeBonusDamage;
public static double DISTANCE_XP_MULTIPLIER;
private static double distanceXpMultiplier;
private static Archery archery;
public static Archery getInstance() {
if(archery == null)
archery = new Archery();
return archery;
}
public Archery()
{
List<TrackedEntity> trackedEntities = new ArrayList<>();
skillShotMaxBonusDamage = AdvancedConfig.getInstance().getSkillShotDamageMax();
skillShotDamageCap = AdvancedConfig.getInstance().getSkillShotDamageMax();
dazeBonusDamage = AdvancedConfig.getInstance().getDazeBonusDamage();
DISTANCE_XP_MULTIPLIER = ExperienceConfig.getInstance().getArcheryDistanceMultiplier();
distanceXpMultiplier = mcMMO.getConfigManager().getConfigExperience().getDistanceMultiplier();
}
protected static void incrementTrackerValue(LivingEntity livingEntity) {
@ -77,10 +86,26 @@ public class Archery {
{
double damageBonusPercent = getDamageBonusPercent(player);
double newDamage = oldDamage + (oldDamage * damageBonusPercent);
return Math.min(newDamage, Archery.skillShotMaxBonusDamage);
return Math.min(newDamage, Archery.skillShotDamageCap);
}
public static double getDamageBonusPercent(Player player) {
return ((RankUtils.getRank(player, SubSkillType.ARCHERY_SKILL_SHOT)) * AdvancedConfig.getInstance().getSkillShotRankDamageMultiplier()) / 100.0D;
}
public List<TrackedEntity> getTrackedEntities() {
return trackedEntities;
}
public double getSkillShotDamageCap() {
return skillShotDamageCap;
}
public double getDazeBonusDamage() {
return dazeBonusDamage;
}
public double getDistanceXpMultiplier() {
return distanceXpMultiplier;
}
}

View File

@ -60,7 +60,7 @@ public class ArcheryManager extends SkillManager {
return 1;
}
return 1 + Math.min(firedLocation.distance(targetLocation), 50) * Archery.DISTANCE_XP_MULTIPLIER;
return 1 + Math.min(firedLocation.distance(targetLocation), 50) * Archery.getInstance().getDistanceXpMultiplier();
}
/**
@ -98,7 +98,7 @@ public class ArcheryManager extends SkillManager {
NotificationManager.sendPlayerInformation(getPlayer(), NotificationType.SUBSKILL_MESSAGE, "Combat.TargetDazed");
}
return Archery.dazeBonusDamage;
return Archery.getInstance().getDazeBonusDamage();
}
/**