|
@@ -4,19 +4,129 @@ import com.gmail.nossr50.datatypes.interactions.NotificationType;
|
|
import com.gmail.nossr50.datatypes.skills.SubSkillType;
|
|
import com.gmail.nossr50.datatypes.skills.SubSkillType;
|
|
import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
|
|
import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
|
|
import com.gmail.nossr50.mcMMO;
|
|
import com.gmail.nossr50.mcMMO;
|
|
-import net.md_5.bungee.api.ChatColor;
|
|
|
|
-import ninja.leaping.configurate.objectmapping.Setting;
|
|
|
|
-import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
|
|
|
|
|
+import org.bukkit.ChatColor;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
-@ConfigSerializable
|
|
|
|
-public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
|
|
|
|
+public class AdvancedConfig extends ConfigValidated {
|
|
|
|
+
|
|
|
|
+ public static final String SKILLS = "Skills";
|
|
|
|
+ public static final String GENERAL = "General";
|
|
|
|
+ public static final String ABILITY = "Ability";
|
|
|
|
+ public static final String LENGTH = "Length";
|
|
|
|
+ public static final String INCREASE_LEVEL = "IncreaseLevel";
|
|
|
|
+ public static final String ENCHANT_BUFF = "EnchantBuff";
|
|
|
|
+ public static final String ACROBATICS = "Acrobatics";
|
|
|
|
+ public static final String DODGE = "Dodge";
|
|
|
|
+ public static final String CHANCE = "Chance";
|
|
|
|
+ public static final String CHANCE_MAX = CHANCE + "Max";
|
|
|
|
+ public static final String BONUS = "Bonus";
|
|
|
|
+ public static final String MAX_BONUS_LEVEL = "Max" + BONUS + "Level";
|
|
|
|
+ public static final String MODIFIER = "Modifier";
|
|
|
|
+ public static final String DAMAGE_MODIFIER = "Damage" + MODIFIER;
|
|
|
|
+ public static final String DAMAGE_THRESHOLD = "DamageThreshold";
|
|
|
|
+ public static final String ALCHEMY = "Alchemy";
|
|
|
|
+ public static final String CATALYSIS = "Catalysis";
|
|
|
|
+ public static final String MIN_SPEED = "MinSpeed";
|
|
|
|
+ public static final String MAX_SPEED = "MaxSpeed";
|
|
|
|
+ public static final String ARCHERY = "Archery";
|
|
|
|
+ public static final String SKILL_SHOT = "SkillShot";
|
|
|
|
+ public static final String MULTIPLIER = "Multiplier";
|
|
|
|
+ public static final String RANK_DAMAGE_MULTIPLIER = "RankDamage" + MULTIPLIER;
|
|
|
|
+ public static final String BONUS_DAMAGE = BONUS + "Damage";
|
|
|
|
+ public static final String FORCE_MULTIPLIER = "Force" + MULTIPLIER;
|
|
|
|
+ public static final String AXES = "Axes";
|
|
|
|
+ public static final String STANDARD = "Standard";
|
|
|
|
+ public static final String RETRO_MODE = "RetroMode";
|
|
|
|
+ public static final String CAP_LEVEL = "CapLevel";
|
|
|
|
+ public static final String KNOCKBACK_MODIFIER = "Knockback" + MODIFIER;
|
|
|
|
+ public static final String PVP_MODIFIER = "PVP_" + MODIFIER;
|
|
|
|
+ public static final String PVE_MODIFIER = "PVE_" + MODIFIER;
|
|
|
|
+ public static final String FISHING = "Fishing";
|
|
|
|
+ public static final String MASTER_ANGLER = "MasterAngler";
|
|
|
|
+ public static final String BOAT_MODIFIER = "Boat" + MODIFIER;
|
|
|
|
+ public static final String BIOME_MODIFIER = "Biome" + MODIFIER;
|
|
|
|
+ public static final String XP = "XP";
|
|
|
|
+ public static final String VANILLA_XPMULTIPLIER = "Vanilla" + XP + MULTIPLIER;
|
|
|
|
+ public static final String RANK = "Rank_";
|
|
|
|
+ public static final String TAMING = "Taming";
|
|
|
|
+ public static final String CALL_OF_THE_WILD = "CallOfTheWild";
|
|
|
|
+ public static final String MIN_HORSE_JUMP_STRENGTH = "MinHorseJumpStrength";
|
|
|
|
+ public static final String MAX_HORSE_JUMP_STRENGTH = "MaxHorseJumpStrength";
|
|
|
|
+ public static final String SHOCK_PROOF = "ShockProof";
|
|
|
|
+ public static final String UNARMED = "Unarmed";
|
|
|
|
+ public static final String STARTING_LEVEL = "StartingLevel";
|
|
|
|
+ public static final String AXE_MASTERY = "AxeMastery";
|
|
|
|
+ public static final String CRITICAL_STRIKES = "CriticalStrikes";
|
|
|
|
+ public static final String GREATER_IMPACT = "GreaterImpact";
|
|
|
|
+ public static final String ARMOR_IMPACT = "ArmorImpact";
|
|
|
|
+ public static final String SKULL_SPLITTER = "SkullSplitter.";
|
|
|
|
+ public static final String MAX_PERCENTAGE_DURABILITY_DAMAGE = "MaxPercentageDurabilityDamage";
|
|
|
|
+ public static final String SHAKE = "Shake";
|
|
|
|
+ public static final String MINING = "Mining";
|
|
|
|
+ public static final String BLAST_MINING = "BlastMining";
|
|
|
|
+ public static final String LEVELS = "Levels";
|
|
|
|
+ public static final String BLAST_DAMAGE_DECREASE = "BlastDamageDecrease";
|
|
|
|
+ public static final String ORE_BONUS = "Ore" + BONUS;
|
|
|
|
+ public static final String DEBRIS_REDUCTION = "DebrisReduction";
|
|
|
|
+ public static final String DROP_MULTIPLIER = "Drop" + MULTIPLIER;
|
|
|
|
+ public static final String BLAST_RADIUS = "BlastRadius";
|
|
|
|
+ public static final String REPAIR = "Repair";
|
|
|
|
+ public static final String REPAIR_MASTERY = "RepairMastery";
|
|
|
|
+ public static final String MAX_BONUS_PERCENTAGE = "Max" + BONUS + "Percentage";
|
|
|
|
+ public static final String ARCANE_FORGING = "ArcaneForging";
|
|
|
|
+ public static final String MAY_LOSE_ENCHANTS = "May_Lose_Enchants";
|
|
|
|
+ public static final String KEEP_ENCHANTS = "Keep_Enchants_";
|
|
|
|
+ public static final String DOWNGRADES = "Downgrades_";
|
|
|
|
+ public static final String ENABLED = "Enabled";
|
|
|
|
+ public static final String DOWNGRADES_ENABLED = DOWNGRADES + ENABLED;
|
|
|
|
+ public static final String SALVAGE = "Salvage";
|
|
|
|
+ public static final String ARCANE_SALVAGE = "ArcaneSalvage";
|
|
|
|
+ public static final String ENCHANT_DOWNGRADE_ENABLED = "EnchantDowngrade" + ENABLED;
|
|
|
|
+ public static final String ENCHANT_LOSS_ENABLED = "EnchantLoss" + ENABLED;
|
|
|
|
+ public static final String EXTRACT_FULL_ENCHANT = "ExtractFullEnchant";
|
|
|
|
+ public static final String EXTRACT_PARTIAL_ENCHANT = "ExtractPartialEnchant";
|
|
|
|
+ public static final String SMELTING = "Smelting";
|
|
|
|
+ public static final String FUEL_EFFICIENCY = "FuelEfficiency";
|
|
|
|
+ public static final String FLUX = "Flux";
|
|
|
|
+ public static final String SWORDS = "Swords";
|
|
|
|
+ public static final String RUPTURE = "Rupture";
|
|
|
|
+ public static final String DAMAGE_PLAYER = "DamagePlayer";
|
|
|
|
+ public static final String DAMAGE_MOBS = "DamageMobs";
|
|
|
|
+ public static final String MAX_TICKS = "MaxTicks";
|
|
|
|
+ public static final String BASE_TICKS = "BaseTicks";
|
|
|
|
+ public static final String COUNTER_ATTACK = "CounterAttack";
|
|
|
|
+ public static final String SERRATED_STRIKES = "SerratedStrikes";
|
|
|
|
+ public static final String TICKS = "Ticks";
|
|
|
|
+ public static final String GORE = "Gore";
|
|
|
|
+ public static final String FAST_FOOD = "FastFood";
|
|
|
|
+ public static final String FAST_FOOD_SERVICE = FAST_FOOD + "Service";
|
|
|
|
+ public static final String PUMMEL = "Pummel";
|
|
|
|
+ public static final String THICK_FUR = "ThickFur";
|
|
|
|
+ public static final String SHARPENED_CLAWS = "SharpenedClaws";
|
|
|
|
+ public static final String DISARM = "Disarm";
|
|
|
|
+ public static final String ANTI_THEFT = "AntiTheft";
|
|
|
|
+ public static final String DAZE = "Daze";
|
|
|
|
+ public static final String MAX_DAMAGE = "MaxDamage";
|
|
|
|
+ public static final String ROLL = "Roll";
|
|
|
|
+ public static final String GRACEFUL_ROLL = "Graceful" + ROLL;
|
|
|
|
+ public static final String ARROW_DEFLECT = "ArrowDeflect";
|
|
|
|
+ public static final String IRON_GRIP = "IronGrip";
|
|
|
|
+ public static final String WOODCUTTING = "Woodcutting";
|
|
|
|
+ public static final String HARVEST_LUMBER = "HarvestLumber";
|
|
|
|
+ public static final String FEEDBACK = "Feedback";
|
|
|
|
+ public static final String SKILL_COMMAND = "SkillCommand";
|
|
|
|
+ public static final String BLANK_LINES_ABOVE_HEADER = "BlankLinesAboveHeader";
|
|
|
|
+ public static final String ACTION_BAR_NOTIFICATIONS = "ActionBarNotifications";
|
|
|
|
+ public static final String SEND_COPY_OF_MESSAGE_TO_CHAT = "SendCopyOfMessageToChat";
|
|
|
|
+ public static final String EVENTS = "Events";
|
|
|
|
+ public static final String SEND_TITLES = "SendTitles";
|
|
private static AdvancedConfig instance;
|
|
private static AdvancedConfig instance;
|
|
|
|
|
|
private AdvancedConfig() {
|
|
private AdvancedConfig() {
|
|
- super(mcMMO.p.getDataFolder().getAbsoluteFile(), "advanced.yml");
|
|
|
|
|
|
+ //super(McmmoCore.getDataFolderPath().getAbsoluteFile(), "advanced.yml", true);
|
|
|
|
+ super(mcMMO.p.getDataFolder().getAbsoluteFile(), "advanced.yml", true);
|
|
}
|
|
}
|
|
|
|
|
|
public static AdvancedConfig getInstance() {
|
|
public static AdvancedConfig getInstance() {
|
|
@@ -27,8 +137,15 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
return instance;
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
|
|
- @Setting(value = "Skills.General.StartingLevel", comment = "The starting level for players on your server.\nHistorically this has been 0.\nRecently is has changed to 1.")
|
|
|
|
- private int startingLevel = 1;
|
|
|
|
|
|
+ /**
|
|
|
|
+ * The version of this config
|
|
|
|
+ *
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public double getConfigVersion() {
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<String> validateKeys() {
|
|
public List<String> validateKeys() {
|
|
@@ -37,324 +154,324 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
|
|
|
|
/* GENERAL */
|
|
/* GENERAL */
|
|
if (getAbilityLength() < 1) {
|
|
if (getAbilityLength() < 1) {
|
|
- reason.add("Skills.General.Ability.Length.<mode>.IncreaseLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + GENERAL + "." + ABILITY + "." + LENGTH + ".<mode>." + INCREASE_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getEnchantBuff() < 1) {
|
|
if (getEnchantBuff() < 1) {
|
|
- reason.add("Skills.General.Ability.EnchantBuff should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + GENERAL + "." + ABILITY + "." + ENCHANT_BUFF + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
/* ACROBATICS */
|
|
/* ACROBATICS */
|
|
if (getMaximumProbability(SubSkillType.ACROBATICS_DODGE) < 1) {
|
|
if (getMaximumProbability(SubSkillType.ACROBATICS_DODGE) < 1) {
|
|
- reason.add("Skills.Acrobatics.Dodge.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ACROBATICS + "." + DODGE + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.ACROBATICS_DODGE) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.ACROBATICS_DODGE) < 1) {
|
|
- reason.add("Skills.Acrobatics.Dodge.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ACROBATICS + "." + DODGE + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getDodgeDamageModifier() <= 1) {
|
|
if (getDodgeDamageModifier() <= 1) {
|
|
- reason.add("Skills.Acrobatics.Dodge.DamageModifier should be greater than 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ACROBATICS + "." + DODGE + "." + DAMAGE_MODIFIER + " should be greater than 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.ACROBATICS_ROLL) < 1) {
|
|
if (getMaximumProbability(SubSkillType.ACROBATICS_ROLL) < 1) {
|
|
- reason.add("Skills.Acrobatics.Roll.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ACROBATICS + "." + ROLL + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.ACROBATICS_ROLL) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.ACROBATICS_ROLL) < 1) {
|
|
- reason.add("Skills.Acrobatics.Roll.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ACROBATICS + "." + ROLL + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getRollDamageThreshold() < 0) {
|
|
if (getRollDamageThreshold() < 0) {
|
|
- reason.add("Skills.Acrobatics.Roll.DamageThreshold should be at least 0!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ACROBATICS + "." + ROLL + "." + DAMAGE_THRESHOLD + " should be at least 0!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getGracefulRollDamageThreshold() < 0) {
|
|
if (getGracefulRollDamageThreshold() < 0) {
|
|
- reason.add("Skills.Acrobatics.GracefulRoll.DamageThreshold should be at least 0!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ACROBATICS + "." + GRACEFUL_ROLL + "." + DAMAGE_THRESHOLD + " should be at least 0!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getCatalysisMinSpeed() <= 0) {
|
|
if (getCatalysisMinSpeed() <= 0) {
|
|
- reason.add("Skills.Alchemy.Catalysis.MinSpeed must be greater than 0!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ALCHEMY + "." + CATALYSIS + "." + MIN_SPEED + " must be greater than 0!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getCatalysisMaxSpeed() < getCatalysisMinSpeed()) {
|
|
if (getCatalysisMaxSpeed() < getCatalysisMinSpeed()) {
|
|
- reason.add("Skills.Alchemy.Catalysis.MaxSpeed should be at least Skills.Alchemy.Catalysis.MinSpeed!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ALCHEMY + "." + CATALYSIS + "." + MAX_SPEED + " should be at least Skills.Alchemy.Catalysis." + MIN_SPEED + "!");
|
|
}
|
|
}
|
|
|
|
|
|
/* ARCHERY */
|
|
/* ARCHERY */
|
|
|
|
|
|
if (getSkillShotRankDamageMultiplier() <= 0) {
|
|
if (getSkillShotRankDamageMultiplier() <= 0) {
|
|
- reason.add("Skills.Archery.SkillShot.RankDamageMultiplier should be greater than 0!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ARCHERY + "." + SKILL_SHOT + "." + RANK_DAMAGE_MULTIPLIER + " should be greater than 0!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.ARCHERY_DAZE) < 1) {
|
|
if (getMaximumProbability(SubSkillType.ARCHERY_DAZE) < 1) {
|
|
- reason.add("Skills.Archery.Daze.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ARCHERY + "." + DAZE + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.ARCHERY_DAZE) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.ARCHERY_DAZE) < 1) {
|
|
- reason.add("Skills.Archery.Daze.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ARCHERY + "." + DAZE + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getDazeBonusDamage() < 0) {
|
|
if (getDazeBonusDamage() < 0) {
|
|
- reason.add("Skills.Archery.Daze.BonusDamage should be at least 0!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ARCHERY + "." + DAZE + "." + BONUS_DAMAGE + " should be at least 0!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.ARCHERY_ARROW_RETRIEVAL) < 1) {
|
|
if (getMaximumProbability(SubSkillType.ARCHERY_ARROW_RETRIEVAL) < 1) {
|
|
- reason.add("Skills.Archery.Retrieve.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ARCHERY + ".Retrieve." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.ARCHERY_ARROW_RETRIEVAL) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.ARCHERY_ARROW_RETRIEVAL) < 1) {
|
|
- reason.add("Skills.Archery.Retrieve.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ARCHERY + ".Retrieve." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getForceMultiplier() < 0) {
|
|
if (getForceMultiplier() < 0) {
|
|
- reason.add("Skills.Archery.ForceMultiplier should be at least 0!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + ARCHERY + "." + FORCE_MULTIPLIER + " should be at least 0!");
|
|
}
|
|
}
|
|
|
|
|
|
/* AXES */
|
|
/* AXES */
|
|
if(getAxeMasteryRankDamageMultiplier() < 0)
|
|
if(getAxeMasteryRankDamageMultiplier() < 0)
|
|
{
|
|
{
|
|
- reason.add("Skills.Axes.AxeMastery.RankDamageMultiplier should be at least 0!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + AXE_MASTERY + "." + RANK_DAMAGE_MULTIPLIER + " should be at least 0!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.AXES_CRITICAL_STRIKES) < 1) {
|
|
if (getMaximumProbability(SubSkillType.AXES_CRITICAL_STRIKES) < 1) {
|
|
- reason.add("Skills.Axes.CriticalHit.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + ".CriticalHit." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.AXES_CRITICAL_STRIKES) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.AXES_CRITICAL_STRIKES) < 1) {
|
|
- reason.add("Skills.Axes.CriticalHit.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + ".CriticalHit." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getCriticalStrikesPVPModifier() < 1) {
|
|
if (getCriticalStrikesPVPModifier() < 1) {
|
|
- reason.add("Skills.Axes.CriticalStrikes.PVP_Modifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + CRITICAL_STRIKES + "." + PVP_MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getCriticalStrikesPVPModifier() < 1) {
|
|
if (getCriticalStrikesPVPModifier() < 1) {
|
|
- reason.add("Skills.Axes.CriticalStrikes.PVE_Modifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + CRITICAL_STRIKES + "." + PVE_MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getGreaterImpactChance() < 1) {
|
|
if (getGreaterImpactChance() < 1) {
|
|
- reason.add("Skills.Axes.GreaterImpact.Chance should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + GREATER_IMPACT + "." + CHANCE + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getGreaterImpactModifier() < 1) {
|
|
if (getGreaterImpactModifier() < 1) {
|
|
- reason.add("Skills.Axes.GreaterImpact.KnockbackModifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + GREATER_IMPACT + "." + KNOCKBACK_MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getGreaterImpactBonusDamage() < 1) {
|
|
if (getGreaterImpactBonusDamage() < 1) {
|
|
- reason.add("Skills.Axes.GreaterImpact.BonusDamage should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + GREATER_IMPACT + "." + BONUS_DAMAGE + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getArmorImpactIncreaseLevel() < 1) {
|
|
if (getArmorImpactIncreaseLevel() < 1) {
|
|
- reason.add("Skills.Axes.ArmorImpact.IncreaseLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + ARMOR_IMPACT + "." + INCREASE_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getImpactChance() < 1) {
|
|
if (getImpactChance() < 1) {
|
|
- reason.add("Skills.Axes.ArmorImpact.Chance should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + ARMOR_IMPACT + "." + CHANCE + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getArmorImpactMaxDurabilityDamage() < 1) {
|
|
if (getArmorImpactMaxDurabilityDamage() < 1) {
|
|
- reason.add("Skills.Axes.ArmorImpact.MaxPercentageDurabilityDamage should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + ARMOR_IMPACT + "." + MAX_PERCENTAGE_DURABILITY_DAMAGE + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getSkullSplitterModifier() < 1) {
|
|
if (getSkullSplitterModifier() < 1) {
|
|
- reason.add("Skills.Axes.SkullSplitter.DamageModifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + AXES + "." + SKULL_SPLITTER + DAMAGE_MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
- if (getFishermanDietRankChange() < 1) {
|
|
|
|
- reason.add("Skills.Fishing.FishermansDiet.RankChange should be at least 1!");
|
|
|
|
- }
|
|
|
|
|
|
+ /*if (getFishermanDietRankChange() < 1) {
|
|
|
|
+ reason.add(SKILLS + "." + FISHING + ".FishermansDiet.RankChange should be at least 1!");
|
|
|
|
+ }*/
|
|
|
|
|
|
if (getMasterAnglerBoatModifier() < 1) {
|
|
if (getMasterAnglerBoatModifier() < 1) {
|
|
- reason.add("Skills.Fishing.MasterAngler.BoatModifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + FISHING + "." + MASTER_ANGLER + "." + BOAT_MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMasterAnglerBiomeModifier() < 1) {
|
|
if (getMasterAnglerBiomeModifier() < 1) {
|
|
- reason.add("Skills.Fishing.MasterAngler.BiomeModifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + FISHING + "." + MASTER_ANGLER + "." + BIOME_MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
/* HERBALISM */
|
|
/* HERBALISM */
|
|
- if (getFarmerDietRankChange() < 1) {
|
|
|
|
- reason.add("Skills.Herbalism.FarmersDiet.RankChange should be at least 1!");
|
|
|
|
|
|
+ /*if (getFarmerDietRankChange() < 1) {
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.FarmersDiet.RankChange should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getGreenThumbStageChange() < 1) {
|
|
if (getGreenThumbStageChange() < 1) {
|
|
- reason.add("Skills.Herbalism.GreenThumb.StageChange should be at least 1!");
|
|
|
|
- }
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.GreenThumb.StageChange should be at least 1!");
|
|
|
|
+ }*/
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.HERBALISM_GREEN_THUMB) < 1) {
|
|
if (getMaximumProbability(SubSkillType.HERBALISM_GREEN_THUMB) < 1) {
|
|
- reason.add("Skills.Herbalism.GreenThumb.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.GreenThumb." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.HERBALISM_GREEN_THUMB) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.HERBALISM_GREEN_THUMB) < 1) {
|
|
- reason.add("Skills.Herbalism.GreenThumb.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.GreenThumb." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.HERBALISM_DOUBLE_DROPS) < 1) {
|
|
if (getMaximumProbability(SubSkillType.HERBALISM_DOUBLE_DROPS) < 1) {
|
|
- reason.add("Skills.Herbalism.DoubleDrops.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.DoubleDrops." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.HERBALISM_DOUBLE_DROPS) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.HERBALISM_DOUBLE_DROPS) < 1) {
|
|
- reason.add("Skills.Herbalism.DoubleDrops.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.DoubleDrops." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.HERBALISM_HYLIAN_LUCK) < 1) {
|
|
if (getMaximumProbability(SubSkillType.HERBALISM_HYLIAN_LUCK) < 1) {
|
|
- reason.add("Skills.Herbalism.HylianLuck.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.HylianLuck." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.HERBALISM_HYLIAN_LUCK) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.HERBALISM_HYLIAN_LUCK) < 1) {
|
|
- reason.add("Skills.Herbalism.HylianLuck.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.HylianLuck." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.HERBALISM_SHROOM_THUMB) < 1) {
|
|
if (getMaximumProbability(SubSkillType.HERBALISM_SHROOM_THUMB) < 1) {
|
|
- reason.add("Skills.Herbalism.ShroomThumb.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.ShroomThumb." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.HERBALISM_SHROOM_THUMB) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.HERBALISM_SHROOM_THUMB) < 1) {
|
|
- reason.add("Skills.Herbalism.ShroomThumb.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + ".Herbalism.ShroomThumb." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
/* MINING */
|
|
/* MINING */
|
|
if (getMaximumProbability(SubSkillType.MINING_DOUBLE_DROPS) < 1) {
|
|
if (getMaximumProbability(SubSkillType.MINING_DOUBLE_DROPS) < 1) {
|
|
- reason.add("Skills.Mining.DoubleDrops.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + MINING + ".DoubleDrops." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.MINING_DOUBLE_DROPS) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.MINING_DOUBLE_DROPS) < 1) {
|
|
- reason.add("Skills.Mining.DoubleDrops.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + MINING + ".DoubleDrops." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
/* REPAIR */
|
|
/* REPAIR */
|
|
if (getRepairMasteryMaxBonus() < 1) {
|
|
if (getRepairMasteryMaxBonus() < 1) {
|
|
- reason.add("Skills.Repair.RepairMastery.MaxBonusPercentage should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + REPAIR + "." + REPAIR_MASTERY + "." + MAX_BONUS_PERCENTAGE + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getRepairMasteryMaxLevel() < 1) {
|
|
if (getRepairMasteryMaxLevel() < 1) {
|
|
- reason.add("Skills.Repair.RepairMastery.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + REPAIR + "." + REPAIR_MASTERY + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.REPAIR_SUPER_REPAIR) < 1) {
|
|
if (getMaximumProbability(SubSkillType.REPAIR_SUPER_REPAIR) < 1) {
|
|
- reason.add("Skills.Repair.SuperRepair.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + REPAIR + ".SuperRepair." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.REPAIR_SUPER_REPAIR) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.REPAIR_SUPER_REPAIR) < 1) {
|
|
- reason.add("Skills.Repair.SuperRepair.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + REPAIR + ".SuperRepair." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
/* SMELTING */
|
|
/* SMELTING */
|
|
if (getBurnModifierMaxLevel() < 1) {
|
|
if (getBurnModifierMaxLevel() < 1) {
|
|
- reason.add("Skills.Smelting.FuelEfficiency.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SMELTING + "." + FUEL_EFFICIENCY + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.SMELTING_SECOND_SMELT) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.SMELTING_SECOND_SMELT) < 1) {
|
|
- reason.add("Skills.Smelting.SecondSmelt.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SMELTING + ".SecondSmelt." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.SMELTING_SECOND_SMELT) < 1) {
|
|
if (getMaximumProbability(SubSkillType.SMELTING_SECOND_SMELT) < 1) {
|
|
- reason.add("Skills.Smelting.SecondSmelt.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SMELTING + ".SecondSmelt." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getFluxMiningChance() < 1) {
|
|
if (getFluxMiningChance() < 1) {
|
|
- reason.add("Skills.Smelting.FluxMining.Chance should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SMELTING + "." + FLUX + MINING + "." + CHANCE + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
/* SWORDS */
|
|
/* SWORDS */
|
|
if (getMaximumProbability(SubSkillType.SWORDS_RUPTURE) < 1) {
|
|
if (getMaximumProbability(SubSkillType.SWORDS_RUPTURE) < 1) {
|
|
- reason.add("Skills.Swords.Rupture.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + RUPTURE + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.SWORDS_RUPTURE) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.SWORDS_RUPTURE) < 1) {
|
|
- reason.add("Skills.Swords.Rupture.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + RUPTURE + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getRuptureMaxTicks() < 1) {
|
|
if (getRuptureMaxTicks() < 1) {
|
|
- reason.add("Skills.Swords.Rupture.MaxTicks should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + RUPTURE + "." + MAX_TICKS + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getRuptureMaxTicks() < getRuptureBaseTicks()) {
|
|
if (getRuptureMaxTicks() < getRuptureBaseTicks()) {
|
|
- reason.add("Skills.Swords.Rupture.MaxTicks should be at least Skills.Swords.Rupture.BaseTicks!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + RUPTURE + "." + MAX_TICKS + " should be at least Skills.Swords.Rupture." + BASE_TICKS + "!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getRuptureBaseTicks() < 1) {
|
|
if (getRuptureBaseTicks() < 1) {
|
|
- reason.add("Skills.Swords.Rupture.BaseTicks should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + RUPTURE + "." + BASE_TICKS + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.SWORDS_COUNTER_ATTACK) < 1) {
|
|
if (getMaximumProbability(SubSkillType.SWORDS_COUNTER_ATTACK) < 1) {
|
|
- reason.add("Skills.Swords.CounterAttack.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + COUNTER_ATTACK + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.SWORDS_COUNTER_ATTACK) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.SWORDS_COUNTER_ATTACK) < 1) {
|
|
- reason.add("Skills.Swords.CounterAttack.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + COUNTER_ATTACK + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getCounterModifier() < 1) {
|
|
if (getCounterModifier() < 1) {
|
|
- reason.add("Skills.Swords.CounterAttack.DamageModifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + COUNTER_ATTACK + "." + DAMAGE_MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getSerratedStrikesModifier() < 1) {
|
|
if (getSerratedStrikesModifier() < 1) {
|
|
- reason.add("Skills.Swords.SerratedStrikes.DamageModifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + SERRATED_STRIKES + "." + DAMAGE_MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getSerratedStrikesTicks() < 1) {
|
|
if (getSerratedStrikesTicks() < 1) {
|
|
- reason.add("Skills.Swords.SerratedStrikes.RuptureTicks should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + SWORDS + "." + SERRATED_STRIKES + "." + RUPTURE + "Ticks should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
/* TAMING */
|
|
/* TAMING */
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.TAMING_GORE) < 1) {
|
|
if (getMaximumProbability(SubSkillType.TAMING_GORE) < 1) {
|
|
- reason.add("Skills.Taming.Gore.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + TAMING + "." + GORE + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.TAMING_GORE) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.TAMING_GORE) < 1) {
|
|
- reason.add("Skills.Taming.Gore.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + TAMING + "." + GORE + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getGoreModifier() < 1) {
|
|
if (getGoreModifier() < 1) {
|
|
- reason.add("Skills.Taming.Gore.Modifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + TAMING + "." + GORE + "." + MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getFastFoodChance() < 1) {
|
|
if (getFastFoodChance() < 1) {
|
|
- reason.add("Skills.Taming.FastFood.Chance should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + TAMING + "." + FAST_FOOD + "." + CHANCE + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getThickFurModifier() < 1) {
|
|
if (getThickFurModifier() < 1) {
|
|
- reason.add("Skills.Taming.ThickFur.Modifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + TAMING + "." + THICK_FUR + "." + MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getShockProofModifier() < 1) {
|
|
if (getShockProofModifier() < 1) {
|
|
- reason.add("Skills.Taming.ShockProof.Modifier should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + TAMING + "." + SHOCK_PROOF + "." + MODIFIER + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getSharpenedClawsBonus() < 1) {
|
|
if (getSharpenedClawsBonus() < 1) {
|
|
- reason.add("Skills.Taming.SharpenedClaws.Bonus should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + TAMING + "." + SHARPENED_CLAWS + "." + BONUS + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxHorseJumpStrength() < 0 || getMaxHorseJumpStrength() > 2) {
|
|
if (getMaxHorseJumpStrength() < 0 || getMaxHorseJumpStrength() > 2) {
|
|
- reason.add("Skills.Taming.CallOfTheWild.MaxHorseJumpStrength should be between 0 and 2!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + TAMING + "." + CALL_OF_THE_WILD + "." + MAX_HORSE_JUMP_STRENGTH + " should be between 0 and 2!");
|
|
}
|
|
}
|
|
|
|
|
|
/* UNARMED */
|
|
/* UNARMED */
|
|
if (getMaximumProbability(SubSkillType.UNARMED_DISARM) < 1) {
|
|
if (getMaximumProbability(SubSkillType.UNARMED_DISARM) < 1) {
|
|
- reason.add("Skills.Unarmed.Disarm.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + UNARMED + "." + DISARM + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.UNARMED_DISARM) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.UNARMED_DISARM) < 1) {
|
|
- reason.add("Skills.Unarmed.Disarm.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + UNARMED + "." + DISARM + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.UNARMED_ARROW_DEFLECT) < 1) {
|
|
if (getMaximumProbability(SubSkillType.UNARMED_ARROW_DEFLECT) < 1) {
|
|
- reason.add("Skills.Unarmed.ArrowDeflect.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + UNARMED + "." + ARROW_DEFLECT + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.UNARMED_ARROW_DEFLECT) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.UNARMED_ARROW_DEFLECT) < 1) {
|
|
- reason.add("Skills.Unarmed.ArrowDeflect.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + UNARMED + "." + ARROW_DEFLECT + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.UNARMED_IRON_GRIP) < 1) {
|
|
if (getMaximumProbability(SubSkillType.UNARMED_IRON_GRIP) < 1) {
|
|
- reason.add("Skills.Unarmed.IronGrip.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + UNARMED + "." + IRON_GRIP + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.UNARMED_IRON_GRIP) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.UNARMED_IRON_GRIP) < 1) {
|
|
- reason.add("Skills.Unarmed.IronGrip.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + UNARMED + "." + IRON_GRIP + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
/* WOODCUTTING */
|
|
/* WOODCUTTING */
|
|
@@ -364,18 +481,18 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
}*/
|
|
}*/
|
|
|
|
|
|
if (getMaximumProbability(SubSkillType.WOODCUTTING_HARVEST_LUMBER) < 1) {
|
|
if (getMaximumProbability(SubSkillType.WOODCUTTING_HARVEST_LUMBER) < 1) {
|
|
- reason.add("Skills.Woodcutting.HarvestLumber.ChanceMax should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + WOODCUTTING + "." + HARVEST_LUMBER + "." + CHANCE_MAX + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
if (getMaxBonusLevel(SubSkillType.WOODCUTTING_HARVEST_LUMBER) < 1) {
|
|
if (getMaxBonusLevel(SubSkillType.WOODCUTTING_HARVEST_LUMBER) < 1) {
|
|
- reason.add("Skills.Woodcutting.HarvestLumber.MaxBonusLevel should be at least 1!");
|
|
|
|
|
|
+ reason.add(SKILLS + "." + WOODCUTTING + "." + HARVEST_LUMBER + "." + MAX_BONUS_LEVEL + " should be at least 1!");
|
|
}
|
|
}
|
|
|
|
|
|
return reason;
|
|
return reason;
|
|
}
|
|
}
|
|
|
|
|
|
/* GENERAL */
|
|
/* GENERAL */
|
|
- public int getStartingLevel() { return startingLevel; }
|
|
|
|
|
|
+ public int getStartingLevel() { return getIntValue(SKILLS, GENERAL, STARTING_LEVEL); }
|
|
|
|
|
|
/**
|
|
/**
|
|
* This returns the maximum level at which superabilities will stop lengthening from scaling alongside skill level.
|
|
* This returns the maximum level at which superabilities will stop lengthening from scaling alongside skill level.
|
|
@@ -383,10 +500,10 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
* @return the level at which abilities stop increasing in length
|
|
* @return the level at which abilities stop increasing in length
|
|
*/
|
|
*/
|
|
public int getAbilityLengthCap() {
|
|
public int getAbilityLengthCap() {
|
|
- if(!mcMMO.isRetroModeEnabled())
|
|
|
|
- return getIntValue("Skills.General.Ability.Length.Standard.CapLevel");
|
|
|
|
|
|
+ if(!McmmoCore.isRetroModeEnabled())
|
|
|
|
+ return getIntValue(SKILLS, GENERAL, ABILITY, LENGTH, STANDARD, CAP_LEVEL);
|
|
else
|
|
else
|
|
- return getIntValue("Skills.General.Ability.Length.RetroMode.CapLevel");
|
|
|
|
|
|
+ return getIntValue(SKILLS, GENERAL, ABILITY, LENGTH, RETRO_MODE, CAP_LEVEL);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -395,13 +512,13 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
* @return the number of levels required per ability length increase
|
|
* @return the number of levels required per ability length increase
|
|
*/
|
|
*/
|
|
public int getAbilityLength() {
|
|
public int getAbilityLength() {
|
|
- if(!mcMMO.isRetroModeEnabled())
|
|
|
|
- return getIntValue("Skills.General.Ability.Length.Standard.IncreaseLevel");
|
|
|
|
|
|
+ if(!McmmoCore.isRetroModeEnabled())
|
|
|
|
+ return getIntValue(SKILLS, GENERAL, ABILITY, LENGTH, STANDARD, INCREASE_LEVEL);
|
|
else
|
|
else
|
|
- return getIntValue("Skills.General.Ability.Length.RetroMode.IncreaseLevel");
|
|
|
|
|
|
+ return getIntValue(SKILLS, GENERAL, ABILITY, LENGTH, RETRO_MODE, INCREASE_LEVEL);
|
|
}
|
|
}
|
|
|
|
|
|
- public int getEnchantBuff() { return getIntValue("Skills.General.Ability.EnchantBuff"); }
|
|
|
|
|
|
+ public int getEnchantBuff() { return getIntValue(SKILLS, GENERAL, ABILITY, ENCHANT_BUFF); }
|
|
|
|
|
|
/**
|
|
/**
|
|
* Grabs the max bonus level for a skill used in RNG calculations
|
|
* Grabs the max bonus level for a skill used in RNG calculations
|
|
@@ -411,8 +528,12 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
* @return the level at which this skills max benefits will be reached on the curve
|
|
* @return the level at which this skills max benefits will be reached on the curve
|
|
*/
|
|
*/
|
|
public int getMaxBonusLevel(SubSkillType subSkillType) {
|
|
public int getMaxBonusLevel(SubSkillType subSkillType) {
|
|
- String keyPath = subSkillType.getAdvConfigAddress() + ".MaxBonusLevel.";
|
|
|
|
- return mcMMO.isRetroModeEnabled() ? getIntValue(keyPath+"RetroMode") : getIntValue(keyPath+"Standard");
|
|
|
|
|
|
+ String[] category = subSkillType.getAdvConfigAddress();
|
|
|
|
+
|
|
|
|
+ if(!McmmoCore.isRetroModeEnabled())
|
|
|
|
+ return getIntValue(category[0], category[1], category[2], MAX_BONUS_LEVEL, STANDARD);
|
|
|
|
+ else
|
|
|
|
+ return getIntValue(category[0], category[1], category[2], MAX_BONUS_LEVEL, RETRO_MODE);
|
|
}
|
|
}
|
|
|
|
|
|
public int getMaxBonusLevel(AbstractSubSkill abstractSubSkill) {
|
|
public int getMaxBonusLevel(AbstractSubSkill abstractSubSkill) {
|
|
@@ -420,7 +541,9 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
}
|
|
}
|
|
|
|
|
|
public double getMaximumProbability(SubSkillType subSkillType) {
|
|
public double getMaximumProbability(SubSkillType subSkillType) {
|
|
- double maximumProbability = getDoubleValue(subSkillType.getAdvConfigAddress() + ".ChanceMax");
|
|
|
|
|
|
+ String[] category = subSkillType.getAdvConfigAddress();
|
|
|
|
+
|
|
|
|
+ double maximumProbability = getDoubleValue(category[0], category[1], category[2], CHANCE_MAX);
|
|
|
|
|
|
return maximumProbability;
|
|
return maximumProbability;
|
|
}
|
|
}
|
|
@@ -434,22 +557,22 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
|
|
|
|
public boolean doesSkillCommandSendBlankLines()
|
|
public boolean doesSkillCommandSendBlankLines()
|
|
{
|
|
{
|
|
- return getBooleanValue("Feedback.SkillCommand.BlankLinesAboveHeader");
|
|
|
|
|
|
+ return getBooleanValue(FEEDBACK, SKILL_COMMAND, BLANK_LINES_ABOVE_HEADER);
|
|
}
|
|
}
|
|
|
|
|
|
public boolean doesNotificationUseActionBar(NotificationType notificationType)
|
|
public boolean doesNotificationUseActionBar(NotificationType notificationType)
|
|
{
|
|
{
|
|
- return getBooleanValue("Feedback.ActionBarNotifications."+notificationType.toString()+".Enabled");
|
|
|
|
|
|
+ return getBooleanValue(FEEDBACK, ACTION_BAR_NOTIFICATIONS, notificationType.toString(), ENABLED);
|
|
}
|
|
}
|
|
|
|
|
|
public boolean doesNotificationSendCopyToChat(NotificationType notificationType)
|
|
public boolean doesNotificationSendCopyToChat(NotificationType notificationType)
|
|
{
|
|
{
|
|
- return getBooleanValue("Feedback.ActionBarNotifications."+notificationType.toString()+".SendCopyOfMessageToChat");
|
|
|
|
|
|
+ return getBooleanValue(FEEDBACK, ACTION_BAR_NOTIFICATIONS, notificationType.toString(), SEND_COPY_OF_MESSAGE_TO_CHAT);
|
|
}
|
|
}
|
|
|
|
|
|
public boolean useTitlesForXPEvent()
|
|
public boolean useTitlesForXPEvent()
|
|
{
|
|
{
|
|
- return getBooleanValue("Feedback.Events.XP.SendTitles");
|
|
|
|
|
|
+ return getBooleanValue(FEEDBACK, EVENTS, XP, SEND_TITLES);
|
|
}
|
|
}
|
|
|
|
|
|
private ChatColor getChatColorFromKey(String keyLocation) {
|
|
private ChatColor getChatColorFromKey(String keyLocation) {
|
|
@@ -460,7 +583,7 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
|
|
|
|
private ChatColor getChatColor(String configColor) {
|
|
private ChatColor getChatColor(String configColor) {
|
|
for (ChatColor chatColor : ChatColor.values()) {
|
|
for (ChatColor chatColor : ChatColor.values()) {
|
|
- if (configColor.equalsIgnoreCase(chatColor.getName()))
|
|
|
|
|
|
+ if (configColor.equalsIgnoreCase(chatColor.toString()))
|
|
return chatColor;
|
|
return chatColor;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -469,140 +592,129 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
|
|
return ChatColor.WHITE;
|
|
return ChatColor.WHITE;
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * Some SubSkills have the ability to retain classic functionality
|
|
|
|
- * @param subSkillType SubSkillType with classic functionality
|
|
|
|
- * @return true if the subskill is in classic mode
|
|
|
|
- */
|
|
|
|
- public boolean isSubSkillClassic(SubSkillType subSkillType)
|
|
|
|
- {
|
|
|
|
- return getBooleanValue(subSkillType.getAdvConfigAddress()+".Classic");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/* ACROBATICS */
|
|
/* ACROBATICS */
|
|
- public double getDodgeDamageModifier() { return getDoubleValue("Skills.Acrobatics.Dodge.DamageModifier"); }
|
|
|
|
|
|
+ public double getDodgeDamageModifier() { return getDoubleValue(SKILLS, ACROBATICS, DODGE, DAMAGE_MODIFIER); }
|
|
|
|
|
|
- public double getRollDamageThreshold() { return getDoubleValue("Skills.Acrobatics.Roll.DamageThreshold"); }
|
|
|
|
|
|
+ public double getRollDamageThreshold() { return getDoubleValue(SKILLS, ACROBATICS, ROLL, DAMAGE_THRESHOLD); }
|
|
|
|
|
|
- public double getGracefulRollDamageThreshold() { return getDoubleValue("Skills.Acrobatics.GracefulRoll.DamageThreshold"); }
|
|
|
|
|
|
+ public double getGracefulRollDamageThreshold() { return getDoubleValue(SKILLS, ACROBATICS, GRACEFUL_ROLL, DAMAGE_THRESHOLD); }
|
|
|
|
|
|
/* ALCHEMY */
|
|
/* ALCHEMY */
|
|
- public int getCatalysisMaxBonusLevel() { return getIntValue("Skills.Alchemy.Catalysis.MaxBonusLevel"); }
|
|
|
|
|
|
+ public int getCatalysisMaxBonusLevel() { return getIntValue(SKILLS, ALCHEMY, CATALYSIS, MAX_BONUS_LEVEL); }
|
|
|
|
|
|
- public double getCatalysisMinSpeed() { return getDoubleValue("Skills.Alchemy.Catalysis.MinSpeed"); }
|
|
|
|
- public double getCatalysisMaxSpeed() { return getDoubleValue("Skills.Alchemy.Catalysis.MaxSpeed"); }
|
|
|
|
|
|
+ public double getCatalysisMinSpeed() { return getDoubleValue(SKILLS, ALCHEMY, CATALYSIS, MIN_SPEED); }
|
|
|
|
+ public double getCatalysisMaxSpeed() { return getDoubleValue(SKILLS, ALCHEMY, CATALYSIS, MAX_SPEED); }
|
|
|
|
|
|
/* ARCHERY */
|
|
/* ARCHERY */
|
|
- public double getSkillShotRankDamageMultiplier() { return getDoubleValue("Skills.Archery.SkillShot.RankDamageMultiplier"); }
|
|
|
|
- public double getSkillShotDamageMax() { return getDoubleValue("Skills.Archery.SkillShot.MaxDamage"); }
|
|
|
|
|
|
+ public double getSkillShotRankDamageMultiplier() { return getDoubleValue(SKILLS, ARCHERY, SKILL_SHOT, RANK_DAMAGE_MULTIPLIER); }
|
|
|
|
+ public double getSkillShotDamageMax() { return getDoubleValue(SKILLS, ARCHERY, SKILL_SHOT, MAX_DAMAGE); }
|
|
|
|
|
|
- public double getDazeBonusDamage() { return getDoubleValue("Skills.Archery.Daze.BonusDamage"); }
|
|
|
|
|
|
+ public double getDazeBonusDamage() { return getDoubleValue(SKILLS, ARCHERY, DAZE, BONUS_DAMAGE); }
|
|
|
|
|
|
- public double getForceMultiplier() { return getDoubleValue("Skills.Archery.ForceMultiplier"); }
|
|
|
|
|
|
+ public double getForceMultiplier() { return getDoubleValue(SKILLS, ARCHERY, FORCE_MULTIPLIER); }
|
|
|
|
|
|
/* AXES */
|
|
/* AXES */
|
|
- public double getAxeMasteryRankDamageMultiplier() { return getDoubleValue("Skills.Axes.AxeMastery.RankDamageMultiplier"); }
|
|
|
|
|
|
+ public double getAxeMasteryRankDamageMultiplier() { return getDoubleValue(SKILLS, AXES, AXE_MASTERY, RANK_DAMAGE_MULTIPLIER); }
|
|
|
|
|
|
- public double getCriticalStrikesPVPModifier() { return getDoubleValue("Skills.Axes.CriticalStrikes.PVP_Modifier"); }
|
|
|
|
- public double getCriticalStrikesPVEModifier() { return getDoubleValue("Skills.Axes.CriticalStrikes.PVE_Modifier"); }
|
|
|
|
|
|
+ public double getCriticalStrikesPVPModifier() { return getDoubleValue(SKILLS, AXES, CRITICAL_STRIKES, PVP_MODIFIER); }
|
|
|
|
+ public double getCriticalStrikesPVEModifier() { return getDoubleValue(SKILLS, AXES, CRITICAL_STRIKES, PVE_MODIFIER); }
|
|
|
|
|
|
- public double getGreaterImpactChance() { return getDoubleValue("Skills.Axes.GreaterImpact.Chance"); }
|
|
|
|
- public double getGreaterImpactModifier() { return getDoubleValue("Skills.Axes.GreaterImpact.KnockbackModifier"); }
|
|
|
|
- public double getGreaterImpactBonusDamage() { return getDoubleValue("Skills.Axes.GreaterImpact.BonusDamage"); }
|
|
|
|
|
|
+ public double getGreaterImpactChance() { return getDoubleValue(SKILLS, AXES, GREATER_IMPACT, CHANCE); }
|
|
|
|
+ public double getGreaterImpactModifier() { return getDoubleValue(SKILLS, AXES, GREATER_IMPACT, KNOCKBACK_MODIFIER); }
|
|
|
|
+ public double getGreaterImpactBonusDamage() { return getDoubleValue(SKILLS, AXES, GREATER_IMPACT, BONUS_DAMAGE); }
|
|
|
|
|
|
public int getArmorImpactIncreaseLevel() {
|
|
public int getArmorImpactIncreaseLevel() {
|
|
- int increaseLevel = getIntValue("Skills.Axes.ArmorImpact.IncreaseLevel");
|
|
|
|
|
|
+ int increaseLevel = getIntValue(SKILLS, AXES, ARMOR_IMPACT, INCREASE_LEVEL);
|
|
|
|
|
|
- if(mcMMO.isRetroModeEnabled())
|
|
|
|
|
|
+ if(McmmoCore.isRetroModeEnabled())
|
|
return increaseLevel * 10;
|
|
return increaseLevel * 10;
|
|
|
|
|
|
return increaseLevel;
|
|
return increaseLevel;
|
|
}
|
|
}
|
|
|
|
|
|
- public double getImpactChance() { return getDoubleValue("Skills.Axes.ArmorImpact.Chance"); }
|
|
|
|
- public double getArmorImpactMaxDurabilityDamage() { return getDoubleValue("Skills.Axes.ArmorImpact.MaxPercentageDurabilityDamage"); }
|
|
|
|
|
|
+ public double getImpactChance() { return getDoubleValue(SKILLS, AXES, ARMOR_IMPACT, CHANCE); }
|
|
|
|
+ public double getArmorImpactMaxDurabilityDamage() { return getDoubleValue(SKILLS, AXES, ARMOR_IMPACT, MAX_PERCENTAGE_DURABILITY_DAMAGE); }
|
|
|
|
|
|
- public double getSkullSplitterModifier() { return getDoubleValue("Skills.Axes.SkullSplitter.DamageModifier"); }
|
|
|
|
|
|
+ public double getSkullSplitterModifier() { return getDoubleValue(SKILLS, AXES, SKULL_SPLITTER, DAMAGE_MODIFIER); }
|
|
|
|
|
|
/* EXCAVATION */
|
|
/* EXCAVATION */
|
|
//Nothing to configure, everything is already configurable in config.yml
|
|
//Nothing to configure, everything is already configurable in config.yml
|
|
|
|
|
|
/* FISHING */
|
|
/* FISHING */
|
|
- public double getShakeChance(int rank) { return getDoubleValue("Skills.Fishing.ShakeChance.Rank_" + rank); }
|
|
|
|
- public int getFishingVanillaXPModifier(int rank) { return getIntValue("Skills.Fishing.VanillaXPMultiplier.Rank_" + rank); }
|
|
|
|
- public int getFishermanDietRankChange() { return getIntValue("Skills.Fishing.FishermansDiet.RankChange"); }
|
|
|
|
- public double getMasterAnglerBoatModifier() {return getDoubleValue("Skills.Fishing.MasterAngler.BoatModifier"); }
|
|
|
|
- public double getMasterAnglerBiomeModifier() {return getDoubleValue("Skills.Fishing.MasterAngler.BiomeModifier"); }
|
|
|
|
|
|
+ public double getShakeChance(int rank) { return getDoubleValue(SKILLS, FISHING, SHAKE, CHANCE, RANK, String.valueOf(rank)); }
|
|
|
|
+ public int getFishingVanillaXPModifier(int rank) { return getIntValue(SKILLS, FISHING, VANILLA_XPMULTIPLIER, RANK, String.valueOf(rank)); }
|
|
|
|
+ public double getMasterAnglerBoatModifier() {return getDoubleValue(SKILLS, FISHING, MASTER_ANGLER, BOAT_MODIFIER); }
|
|
|
|
+ public double getMasterAnglerBiomeModifier() {return getDoubleValue(SKILLS, FISHING, MASTER_ANGLER, BIOME_MODIFIER); }
|
|
|
|
|
|
/* HERBALISM */
|
|
/* HERBALISM */
|
|
- public int getFarmerDietRankChange() { return getIntValue("Skills.Herbalism.FarmersDiet.RankChange"); }
|
|
|
|
|
|
+ //public int getFarmerDietRankChange() { return getIntValue(SKILLS, ".Herbalism.FarmersDiet.RankChange"); }
|
|
|
|
|
|
- public int getGreenThumbStageChange() { return getIntValue("Skills.Herbalism.GreenThumb.StageChange"); }
|
|
|
|
|
|
+ //public int getGreenThumbStageChange() { return getIntValue(SKILLS, ".Herbalism.GreenThumb.StageChange"); }
|
|
|
|
|
|
/* MINING */
|
|
/* MINING */
|
|
- public boolean getDoubleDropSilkTouchEnabled() { return config.getBoolean("Skills.Mining.DoubleDrops.SilkTouch", true); }
|
|
|
|
- public int getBlastMiningRankLevel(int rank) { return config.getInt("Skills.Mining.BlastMining.Rank_Levels.Rank_" + rank); }
|
|
|
|
- public double getBlastDamageDecrease(int rank) { return config.getDouble("Skills.Mining.BlastMining.BlastDamageDecrease.Rank_" + rank); }
|
|
|
|
- public double getOreBonus(int rank) { return config.getDouble("Skills.Mining.BlastMining.OreBonus.Rank_" + rank); }
|
|
|
|
- public double getDebrisReduction(int rank) { return config.getDouble("Skills.Mining.BlastMining.DebrisReduction.Rank_" + rank); }
|
|
|
|
- public int getDropMultiplier(int rank) { return config.getInt("Skills.Mining.BlastMining.DropMultiplier.Rank_" + rank); }
|
|
|
|
- public double getBlastRadiusModifier(int rank) { return config.getDouble("Skills.Mining.BlastMining.BlastRadiusModifier.Rank_" + rank); }
|
|
|
|
|
|
+ public boolean getDoubleDropSilkTouchEnabled() { return getBooleanValue(SKILLS, MINING, "DoubleDrops", "SilkTouch"); }
|
|
|
|
+ public int getBlastMiningRankLevel(int rank) { return getIntValue(SKILLS, MINING, BLAST_MINING, RANK, LEVELS, RANK, String.valueOf(rank)); }
|
|
|
|
+ public double getBlastDamageDecrease(int rank) { return getDoubleValue(SKILLS, MINING, BLAST_MINING, BLAST_DAMAGE_DECREASE, RANK, String.valueOf(rank)); }
|
|
|
|
+ public double getOreBonus(int rank) { return getDoubleValue(SKILLS, MINING, BLAST_MINING, ORE_BONUS, RANK, String.valueOf(rank)); }
|
|
|
|
+ public double getDebrisReduction(int rank) { return getDoubleValue(SKILLS, MINING, BLAST_MINING, DEBRIS_REDUCTION, RANK, String.valueOf(rank)); }
|
|
|
|
+ public int getDropMultiplier(int rank) { return getIntValue(SKILLS, MINING, BLAST_MINING, DROP_MULTIPLIER, RANK, String.valueOf(rank)); }
|
|
|
|
+ public double getBlastRadiusModifier(int rank) { return getDoubleValue(SKILLS, MINING, BLAST_MINING, BLAST_RADIUS, MODIFIER, RANK, String.valueOf(rank)); }
|
|
|
|
|
|
/* REPAIR */
|
|
/* REPAIR */
|
|
- public double getRepairMasteryMaxBonus() { return getDoubleValue("Skills.Repair.RepairMastery.MaxBonusPercentage"); }
|
|
|
|
- public int getRepairMasteryMaxLevel() { return getIntValue("Skills.Repair.RepairMastery.MaxBonusLevel"); }
|
|
|
|
|
|
+ public double getRepairMasteryMaxBonus() { return getDoubleValue(SKILLS, REPAIR, REPAIR_MASTERY, MAX_BONUS_PERCENTAGE); }
|
|
|
|
+ public int getRepairMasteryMaxLevel() { return getIntValue(SKILLS, REPAIR, REPAIR_MASTERY, MAX_BONUS_LEVEL); }
|
|
|
|
|
|
/* Arcane Forging */
|
|
/* Arcane Forging */
|
|
- public boolean getArcaneForgingEnchantLossEnabled() { return getBooleanValue("Skills.Repair.ArcaneForging.May_Lose_Enchants"); }
|
|
|
|
- public double getArcaneForgingKeepEnchantsChance(int rank) { return getDoubleValue("Skills.Repair.ArcaneForging.Keep_Enchants_Chance.Rank_" + rank); }
|
|
|
|
|
|
+ public boolean getArcaneForgingEnchantLossEnabled() { return getBooleanValue(SKILLS, REPAIR, ARCANE_FORGING, MAY_LOSE_ENCHANTS); }
|
|
|
|
+ public double getArcaneForgingKeepEnchantsChance(int rank) { return getDoubleValue(SKILLS, REPAIR, ARCANE_FORGING, KEEP_ENCHANTS, CHANCE, RANK, String.valueOf(rank)); }
|
|
|
|
|
|
- public boolean getArcaneForgingDowngradeEnabled() { return getBooleanValue("Skills.Repair.ArcaneForging.Downgrades_Enabled"); }
|
|
|
|
- public double getArcaneForgingDowngradeChance(int rank) { return getDoubleValue("Skills.Repair.ArcaneForging.Downgrades_Chance.Rank_" + rank); }
|
|
|
|
|
|
+ public boolean getArcaneForgingDowngradeEnabled() { return getBooleanValue(SKILLS, REPAIR, ARCANE_FORGING, DOWNGRADES_ENABLED); }
|
|
|
|
+ public double getArcaneForgingDowngradeChance(int rank) { return getDoubleValue(SKILLS, REPAIR, ARCANE_FORGING, DOWNGRADES, CHANCE, RANK, String.valueOf(rank)); }
|
|
|
|
|
|
/* SALVAGE */
|
|
/* SALVAGE */
|
|
|
|
|
|
- public boolean getArcaneSalvageEnchantDowngradeEnabled() { return getBooleanValue("Skills.Salvage.ArcaneSalvage.EnchantDowngradeEnabled"); }
|
|
|
|
- public boolean getArcaneSalvageEnchantLossEnabled() { return getBooleanValue("Skills.Salvage.ArcaneSalvage.EnchantLossEnabled"); }
|
|
|
|
|
|
+ public boolean getArcaneSalvageEnchantDowngradeEnabled() { return getBooleanValue(SKILLS, SALVAGE, ARCANE_SALVAGE, ENCHANT_DOWNGRADE_ENABLED); }
|
|
|
|
+ public boolean getArcaneSalvageEnchantLossEnabled() { return getBooleanValue(SKILLS, SALVAGE, ARCANE_SALVAGE, ENCHANT_LOSS_ENABLED); }
|
|
|
|
|
|
- public double getArcaneSalvageExtractFullEnchantsChance(int rank) { return getDoubleValue("Skills.Salvage.ArcaneSalvage.ExtractFullEnchant.Rank_" + rank); }
|
|
|
|
- public double getArcaneSalvageExtractPartialEnchantsChance(int rank) { return getDoubleValue("Skills.Salvage.ArcaneSalvage.ExtractPartialEnchant.Rank_" + rank); }
|
|
|
|
|
|
+ public double getArcaneSalvageExtractFullEnchantsChance(int rank) { return getDoubleValue(SKILLS, SALVAGE, ARCANE_SALVAGE, EXTRACT_FULL_ENCHANT, RANK, String.valueOf(rank)); }
|
|
|
|
+ public double getArcaneSalvageExtractPartialEnchantsChance(int rank) { return getDoubleValue(SKILLS, SALVAGE, ARCANE_SALVAGE, EXTRACT_PARTIAL_ENCHANT, RANK, String.valueOf(rank)); }
|
|
|
|
|
|
/* SMELTING */
|
|
/* SMELTING */
|
|
- public int getBurnModifierMaxLevel() { return getIntValue("Skills.Smelting.FuelEfficiency.MaxBonusLevel"); }
|
|
|
|
- public double getBurnTimeMultiplier() { return getDoubleValue("Skills.Smelting.FuelEfficiency.Multiplier"); }
|
|
|
|
|
|
+ public int getBurnModifierMaxLevel() { return getIntValue(SKILLS, SMELTING, FUEL_EFFICIENCY, MAX_BONUS_LEVEL); }
|
|
|
|
+ public double getBurnTimeMultiplier() { return getDoubleValue(SKILLS, SMELTING, FUEL_EFFICIENCY, MULTIPLIER); }
|
|
|
|
|
|
- public double getFluxMiningChance() { return getDoubleValue("Skills.Smelting.FluxMining.Chance"); }
|
|
|
|
|
|
+ public double getFluxMiningChance() { return getDoubleValue(SKILLS, SMELTING, FLUX, MINING, CHANCE); }
|
|
|
|
|
|
- public int getSmeltingRankLevel(int rank) { return getIntValue("Skills.Smelting.Rank_Levels.Rank_" + rank); }
|
|
|
|
|
|
+ public int getSmeltingRankLevel(int rank) { return getIntValue(SKILLS, SMELTING, RANK, LEVELS, RANK, String.valueOf(rank)); }
|
|
|
|
|
|
- public int getSmeltingVanillaXPBoostMultiplier(int rank) { return getIntValue("Skills.Smelting.VanillaXPMultiplier.Rank_" + rank); }
|
|
|
|
|
|
+ public int getSmeltingVanillaXPBoostMultiplier(int rank) { return getIntValue(SKILLS, SMELTING, VANILLA_XPMULTIPLIER, RANK, String.valueOf(rank)); }
|
|
|
|
|
|
/* SWORDS */
|
|
/* SWORDS */
|
|
- public double getRuptureDamagePlayer() { return getDoubleValue("Skills.Swords.Rupture.DamagePlayer"); }
|
|
|
|
- public double getRuptureDamageMobs() { return getDoubleValue("Skills.Swords.Rupture.DamageMobs"); }
|
|
|
|
|
|
+ public double getRuptureDamagePlayer() { return getDoubleValue(SKILLS, SWORDS, RUPTURE, DAMAGE_PLAYER); }
|
|
|
|
+ public double getRuptureDamageMobs() { return getDoubleValue(SKILLS, SWORDS, RUPTURE, DAMAGE_MOBS); }
|
|
|
|
|
|
- public int getRuptureMaxTicks() { return getIntValue("Skills.Swords.Rupture.MaxTicks"); }
|
|
|
|
- public int getRuptureBaseTicks() { return getIntValue("Skills.Swords.Rupture.BaseTicks"); }
|
|
|
|
|
|
+ public int getRuptureMaxTicks() { return getIntValue(SKILLS, SWORDS, RUPTURE, MAX_TICKS); }
|
|
|
|
+ public int getRuptureBaseTicks() { return getIntValue(SKILLS, SWORDS, RUPTURE, BASE_TICKS); }
|
|
|
|
|
|
- public double getCounterModifier() { return getDoubleValue("Skills.Swords.CounterAttack.DamageModifier"); }
|
|
|
|
|
|
+ public double getCounterModifier() { return getDoubleValue(SKILLS, SWORDS, COUNTER_ATTACK, DAMAGE_MODIFIER); }
|
|
|
|
|
|
- public double getSerratedStrikesModifier() { return getDoubleValue("Skills.Swords.SerratedStrikes.DamageModifier"); }
|
|
|
|
- public int getSerratedStrikesTicks() { return getIntValue("Skills.Swords.SerratedStrikes.RuptureTicks"); }
|
|
|
|
|
|
+ public double getSerratedStrikesModifier() { return getDoubleValue(SKILLS, SWORDS, SERRATED_STRIKES, DAMAGE_MODIFIER); }
|
|
|
|
+ public int getSerratedStrikesTicks() { return getIntValue(SKILLS, SWORDS, SERRATED_STRIKES, RUPTURE, TICKS); }
|
|
|
|
|
|
/* TAMING */
|
|
/* TAMING */
|
|
- public double getGoreModifier() { return getDoubleValue("Skills.Taming.Gore.Modifier"); }
|
|
|
|
- public double getFastFoodChance() { return getDoubleValue("Skills.Taming.FastFoodService.Chance"); }
|
|
|
|
- public double getPummelChance() { return getDoubleValue("Skills.Taming.Pummel.Chance"); }
|
|
|
|
- public double getThickFurModifier() { return getDoubleValue("Skills.Taming.ThickFur.Modifier"); }
|
|
|
|
- public double getShockProofModifier() { return getDoubleValue("Skills.Taming.ShockProof.Modifier"); }
|
|
|
|
|
|
+ public double getGoreModifier() { return getDoubleValue(SKILLS, TAMING, GORE, MODIFIER); }
|
|
|
|
+ public double getFastFoodChance() { return getDoubleValue(SKILLS, TAMING, FAST_FOOD_SERVICE, CHANCE); }
|
|
|
|
+ public double getPummelChance() { return getDoubleValue(SKILLS, TAMING, PUMMEL, CHANCE); }
|
|
|
|
+ public double getThickFurModifier() { return getDoubleValue(SKILLS, TAMING, THICK_FUR, MODIFIER); }
|
|
|
|
+ public double getShockProofModifier() { return getDoubleValue(SKILLS, TAMING, SHOCK_PROOF, MODIFIER); }
|
|
|
|
|
|
- public double getSharpenedClawsBonus() { return getDoubleValue("Skills.Taming.SharpenedClaws.Bonus"); }
|
|
|
|
|
|
+ public double getSharpenedClawsBonus() { return getDoubleValue(SKILLS, TAMING, SHARPENED_CLAWS, BONUS); }
|
|
|
|
|
|
- public double getMinHorseJumpStrength() { return getDoubleValue("Skills.Taming.CallOfTheWild.MinHorseJumpStrength"); }
|
|
|
|
- public double getMaxHorseJumpStrength() { return getDoubleValue("Skills.Taming.CallOfTheWild.MaxHorseJumpStrength"); }
|
|
|
|
|
|
+ public double getMinHorseJumpStrength() { return getDoubleValue(SKILLS, TAMING, CALL_OF_THE_WILD, MIN_HORSE_JUMP_STRENGTH); }
|
|
|
|
+ public double getMaxHorseJumpStrength() { return getDoubleValue(SKILLS, TAMING, CALL_OF_THE_WILD, MAX_HORSE_JUMP_STRENGTH); }
|
|
|
|
|
|
/* UNARMED */
|
|
/* UNARMED */
|
|
- public boolean getDisarmProtected() { return getBooleanValue("Skills.Unarmed.Disarm.AntiTheft"); }
|
|
|
|
|
|
+ public boolean getDisarmProtected() { return getBooleanValue(SKILLS, UNARMED, DISARM, ANTI_THEFT); }
|
|
|
|
|
|
/* WOODCUTTING */
|
|
/* WOODCUTTING */
|
|
}
|
|
}
|