Added new ExperienceFormula config and /mcconvert command

This commit is contained in:
TfT_02
2013-05-20 15:38:30 +02:00
parent 1a51b93ec9
commit 68e433b3b7
16 changed files with 507 additions and 40 deletions

View File

@ -192,10 +192,6 @@ public class Config extends AutoUpdateConfigLoader {
reason.add("Experience.Gains.Mobspawners.Multiplier should be at least 0!");
}
if (getFormulaMultiplierCurve() < 0) {
reason.add("Experience.Formula.Curve_Modifier should be at least 0!");
}
return noErrorsInConfig(reason);
}
@ -484,9 +480,4 @@ public class Config extends AutoUpdateConfigLoader {
public double getWitherSkeletonXP() { return config.getDouble("Experience.Combat.Multiplier.Wither_Skeleton", 4.0); }
public double getSpawnedMobXpMultiplier() { return config.getDouble("Experience.Gains.Mobspawners.Multiplier", 0.0); }
/* XP Formula Multiplier */
public int getFormulaMultiplierCurve() { return config.getInt("Experience.Formula.Curve_Modifier", 20); }
public boolean getCumulativeCurveEnabled() { return config.getBoolean("Experience.Formula.Cumulative_Curve", false); }
public double getFormulaSkillModifier(SkillType skill) { return config.getDouble("Experience.Formula.Modifier." + StringUtils.getCapitalized(skill.toString())); }
}

View File

@ -0,0 +1,44 @@
package com.gmail.nossr50.config.experience;
import com.gmail.nossr50.config.AutoUpdateConfigLoader;
import com.gmail.nossr50.datatypes.experience.FormulaType;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.util.StringUtils;
public class ExperienceConfig extends AutoUpdateConfigLoader {
private static ExperienceConfig instance;
private ExperienceConfig() {
super("experienceFormula.yml");
}
public static ExperienceConfig getInstance() {
if (instance == null) {
instance = new ExperienceConfig();
}
return instance;
}
@Override
protected void loadKeys() {}
/* XP Formula Multiplier */
public FormulaType getFormulaType() { return FormulaType.getFormulaType(config.getString("Experience_Formula.Curve")); }
public boolean getCumulativeCurveEnabled() { return config.getBoolean("Experience_Formula.Cumulative_Curve", false); }
/* Linear curve values */
public int getLinearBase() { return config.getInt("Experience_Formula.Linear_Values.base", 1020); }
public double getLinearMultiplier() { return config.getDouble("Experience_Formula.Linear_Values.multiplier", 20); }
/* Exponential curve values */
public double getExponentialMultiplier() { return config.getDouble("Experience_Formula.Exponential_Values.multiplier", 0.1); }
public double getExponentialExponent() { return config.getDouble("Experience_Formula.Exponential_Values.exponent", 1.80); }
public int getExponentialBase() { return config.getInt("Experience_Formula.Exponential_Values.base", 2000); }
/* Skill modifiers */
public double getFormulaSkillModifier(SkillType skill) { return config.getDouble("Experience_Formula.Modifier." + StringUtils.getCapitalized(skill.toString())); }
/* Conversion */
public double getExpModifier() { return config.getDouble("Conversion.Exp_Modifier", 1); }
}