mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-25 02:04:44 +02:00
2.1.212 - Fixed herbalism exploit and added damage limit for XP
calculations used in combat
This commit is contained in:
@ -25,6 +25,12 @@ public class ExperienceConfig extends BukkitConfig {
|
||||
validate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initDefaults() {
|
||||
config.addDefault("ExploitFix.Combat.XPCeiling.Enabled", true);
|
||||
config.addDefault("ExploitFix.Combat.XPCeiling.Damage_Limit", 100);
|
||||
}
|
||||
|
||||
public static ExperienceConfig getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new ExperienceConfig();
|
||||
@ -423,6 +429,13 @@ public class ExperienceConfig extends BukkitConfig {
|
||||
public boolean getAddExtraDetails() {
|
||||
return config.getBoolean("Experience_Bars.ThisMayCauseLag.AlwaysUpdateTitlesWhenXPIsGained.ExtraDetails", false);
|
||||
}
|
||||
public boolean useCombatHPCeiling() {
|
||||
return config.getBoolean("ExploitFix.Combat.XPCeiling.Enabled", true);
|
||||
}
|
||||
|
||||
public int getCombatHPCeiling() {
|
||||
return config.getInt("ExploitFix.Combat.XPCeiling.HP_Modifier_Limit", 100);
|
||||
}
|
||||
|
||||
public boolean isExperienceBarsEnabled() {
|
||||
return config.getBoolean("Experience_Bars.Enable", true);
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.gmail.nossr50.runnables.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.experience.XPGainSource;
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
@ -39,6 +41,10 @@ public class AwardCombatXpTask extends BukkitRunnable {
|
||||
damage += health;
|
||||
}
|
||||
|
||||
if(ExperienceConfig.getInstance().useCombatHPCeiling()) {
|
||||
damage = Math.min(damage, ExperienceConfig.getInstance().getCombatHPCeiling());
|
||||
}
|
||||
|
||||
mcMMOPlayer.beginXpGain(primarySkillType, (int) (damage * baseXp), xpGainReason, XPGainSource.SELF);
|
||||
}
|
||||
}
|
||||
|
@ -732,7 +732,10 @@ public final class CombatUtils {
|
||||
* @param primarySkillType The skill being used
|
||||
* @param multiplier final XP result will be multiplied by this
|
||||
*/
|
||||
public static void processCombatXP(@NotNull McMMOPlayer mcMMOPlayer, @NotNull LivingEntity target, @NotNull PrimarySkillType primarySkillType, double multiplier) {
|
||||
public static void processCombatXP(@NotNull McMMOPlayer mcMMOPlayer,
|
||||
@NotNull LivingEntity target,
|
||||
@NotNull PrimarySkillType primarySkillType,
|
||||
double multiplier) {
|
||||
double baseXP = 0;
|
||||
XPGainReason xpGainReason;
|
||||
|
||||
|
Reference in New Issue
Block a user