mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-07-01 13:14:44 +02:00
Setup Fishing XP Methods
This commit is contained in:
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user