12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028 |
- package com.gmail.nossr50.config;
- import com.gmail.nossr50.datatypes.interactions.NotificationType;
- import com.gmail.nossr50.datatypes.skills.SubSkillType;
- import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
- import com.gmail.nossr50.mcMMO;
- import net.md_5.bungee.api.ChatColor;
- import java.util.ArrayList;
- import java.util.List;
- public class AdvancedConfig extends AutoUpdateConfigLoader {
- private static AdvancedConfig instance;
- private AdvancedConfig() {
- super("advanced.yml");
- validate();
- }
- public static AdvancedConfig getInstance() {
- if (instance == null) {
- instance = new AdvancedConfig();
- }
- return instance;
- }
- @Override
- protected boolean validateKeys() {
- // Validate all the settings!
- List<String> reason = new ArrayList<String>();
- /* GENERAL */
- if (getAbilityLength() < 1) {
- reason.add("Skills.General.Ability.Length.<mode>.IncreaseLevel should be at least 1!");
- }
- if (getEnchantBuff() < 1) {
- reason.add("Skills.General.Ability.EnchantBuff should be at least 1!");
- }
- /* ACROBATICS */
- if (getMaximumProbability(SubSkillType.ACROBATICS_DODGE) < 1) {
- reason.add("Skills.Acrobatics.Dodge.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.ACROBATICS_DODGE) < 1) {
- reason.add("Skills.Acrobatics.Dodge.MaxBonusLevel should be at least 1!");
- }
- if (getDodgeDamageModifier() <= 1) {
- reason.add("Skills.Acrobatics.Dodge.DamageModifier should be greater than 1!");
- }
- if (getMaximumProbability(SubSkillType.ACROBATICS_ROLL) < 1) {
- reason.add("Skills.Acrobatics.Roll.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.ACROBATICS_ROLL) < 1) {
- reason.add("Skills.Acrobatics.Roll.MaxBonusLevel should be at least 1!");
- }
- if (getRollDamageThreshold() < 0) {
- reason.add("Skills.Acrobatics.Roll.DamageThreshold should be at least 0!");
- }
- if (getGracefulRollDamageThreshold() < 0) {
- reason.add("Skills.Acrobatics.GracefulRoll.DamageThreshold should be at least 0!");
- }
- /* ALCHEMY */
- /*if (getCatalysisUnlockLevel() < 0) {
- reason.add("Skills.Alchemy.Catalysis.UnlockLevel should be at least 0!");
- }
- if (getCatalysisMaxBonusLevel() <= getCatalysisUnlockLevel()) {
- reason.add("Skills.Alchemy.Catalysis.MaxBonusLevel should be greater than Skills.Alchemy.Catalysis.UnlockLevel!");
- }*/
- if (getCatalysisMinSpeed() <= 0) {
- reason.add("Skills.Alchemy.Catalysis.MinSpeed must be greater than 0!");
- }
- if (getCatalysisMaxSpeed() < getCatalysisMinSpeed()) {
- reason.add("Skills.Alchemy.Catalysis.MaxSpeed should be at least Skills.Alchemy.Catalysis.MinSpeed!");
- }
- /*List<Alchemy.Tier> alchemyTierList = Arrays.asList(Alchemy.Tier.values());
- for (Alchemy.Tier tier : alchemyTierList) {
- if (getConcoctionsTierLevel(tier) < 0) {
- reason.add("Skills.Alchemy.Rank_Levels.Rank_" + rank + " should be at least 0!");
- }
- if (tier != Alchemy.Tier.fromNumerical(Alchemy.Tier.values().length)) {
- Alchemy.Tier nextTier = alchemyTierList.get(alchemyTierList.indexOf(tier) - 1);
- if (getConcoctionsTierLevel(tier) > getConcoctionsTierLevel(nextTier)) {
- reason.add("Skills.Alchemy.Rank_Levels.Rank_" + rank + " should be less than or equal to Skills.Alchemy.Rank_Levels.Rank_" + nextrank + "!");
- }
- }
- }*/
- /* ARCHERY */
- if (getSkillShotRankDamageMultiplier() <= 0) {
- reason.add("Skills.Archery.SkillShot.RankDamageMultiplier should be greater than 0!");
- }
- if (getMaximumProbability(SubSkillType.ARCHERY_DAZE) < 1) {
- reason.add("Skills.Archery.Daze.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.ARCHERY_DAZE) < 1) {
- reason.add("Skills.Archery.Daze.MaxBonusLevel should be at least 1!");
- }
- if (getDazeBonusDamage() < 0) {
- reason.add("Skills.Archery.Daze.BonusDamage should be at least 0!");
- }
- if (getMaximumProbability(SubSkillType.ARCHERY_ARROW_RETRIEVAL) < 1) {
- reason.add("Skills.Archery.Retrieve.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.ARCHERY_ARROW_RETRIEVAL) < 1) {
- reason.add("Skills.Archery.Retrieve.MaxBonusLevel should be at least 1!");
- }
- if (getForceMultiplier() < 0) {
- reason.add("Skills.Archery.ForceMultiplier should be at least 0!");
- }
- /* AXES */
- if(getAxeMasteryRankDamageMultiplier() < 0)
- {
- reason.add("Skills.Axes.AxeMastery.RankDamageMultiplier should be at least 0!");
- }
- if (getMaximumProbability(SubSkillType.AXES_CRITICAL_STRIKES) < 1) {
- reason.add("Skills.Axes.CriticalHit.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.AXES_CRITICAL_STRIKES) < 1) {
- reason.add("Skills.Axes.CriticalHit.MaxBonusLevel should be at least 1!");
- }
- if (getCriticalStrikesPVPModifier() < 1) {
- reason.add("Skills.Axes.CriticalStrikes.PVP_Modifier should be at least 1!");
- }
- if (getCriticalStrikesPVPModifier() < 1) {
- reason.add("Skills.Axes.CriticalStrikes.PVE_Modifier should be at least 1!");
- }
- if (getGreaterImpactChance() < 1) {
- reason.add("Skills.Axes.GreaterImpact.Chance should be at least 1!");
- }
- if (getGreaterImpactModifier() < 1) {
- reason.add("Skills.Axes.GreaterImpact.KnockbackModifier should be at least 1!");
- }
- if (getGreaterImpactBonusDamage() < 1) {
- reason.add("Skills.Axes.GreaterImpact.BonusDamage should be at least 1!");
- }
- if (getArmorImpactIncreaseLevel() < 1) {
- reason.add("Skills.Axes.ArmorImpact.IncreaseLevel should be at least 1!");
- }
- if (getImpactChance() < 1) {
- reason.add("Skills.Axes.ArmorImpact.Chance should be at least 1!");
- }
- if (getArmorImpactMaxDurabilityDamage() < 1) {
- reason.add("Skills.Axes.ArmorImpact.MaxPercentageDurabilityDamage should be at least 1!");
- }
- if (getSkullSplitterModifier() < 1) {
- reason.add("Skills.Axes.SkullSplitter.DamageModifier should be at least 1!");
- }
- /* FISHING */
- /*List<Fishing.Tier> fishingTierList = Arrays.asList(Fishing.Tier.values());
- for (int rank : fishingTierList) {
- if (getFishingTierLevel(tier) < 0) {
- reason.add("Skills.Fishing.Rank_Levels.Rank_" + rank + " should be at least 0!");
- }
- if (getShakeChance(tier) < 0) {
- reason.add("Skills.Fishing.Shake_Chance.Rank_" + rank + " should be at least 0!");
- }
- if (getFishingVanillaXPModifier(tier) < 0) {
- reason.add("Skills.Fishing.VanillaXPMultiplier.Rank_" + rank + " should be at least 0!");
- }
- if (tier != Fishing.Tier.EIGHT) {
- Fishing.Tier nextTier = fishingTierList.get(fishingTierList.indexOf(tier) - 1);
- if (getFishingTierLevel(tier) > getFishingTierLevel(nextTier)) {
- reason.add("Skills.Fishing.Rank_Levels.Rank_" + rank + " should be less than or equal to Skills.Fishing.Rank_Levels.Rank_" + nextrank + "!");
- }
- if (getShakeChance(tier) > getShakeChance(nextTier)) {
- reason.add("Skills.Fishing.Shake_Chance.Rank_" + rank + " should be less than or equal to Skills.Fishing.Shake_Chance.Rank_" + nextrank + "!");
- }
- if (getFishingVanillaXPModifier(tier) > getFishingVanillaXPModifier(nextTier)) {
- reason.add("Skills.Fishing.VanillaXPMultiplier.Rank_" + rank + " should be less than or equal to Skills.Fishing.VanillaXPMultiplier.Rank_" + nextrank + "!");
- }
- }
- }*/
- if (getFishermanDietRankChange() < 1) {
- reason.add("Skills.Fishing.FishermansDiet.RankChange should be at least 1!");
- }
- /*if (getIceFishingUnlockLevel() < 0) {
- reason.add("Skills.Fishing.IceFishing.UnlockLevel should be at least 0!");
- }
- if (getMasterAnglerUnlockLevel() < 0) {
- reason.add("Skills.Fishing.MasterAngler.UnlockLevel should be at least 0!");
- }*/
- if (getMasterAnglerBoatModifier() < 1) {
- reason.add("Skills.Fishing.MasterAngler.BoatModifier should be at least 1!");
- }
- if (getMasterAnglerBiomeModifier() < 1) {
- reason.add("Skills.Fishing.MasterAngler.BiomeModifier should be at least 1!");
- }
- /* HERBALISM */
- if (getFarmerDietRankChange() < 1) {
- reason.add("Skills.Herbalism.FarmersDiet.RankChange should be at least 1!");
- }
- if (getGreenThumbStageChange() < 1) {
- reason.add("Skills.Herbalism.GreenThumb.StageChange should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.HERBALISM_GREEN_THUMB) < 1) {
- reason.add("Skills.Herbalism.GreenThumb.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.HERBALISM_GREEN_THUMB) < 1) {
- reason.add("Skills.Herbalism.GreenThumb.MaxBonusLevel should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.HERBALISM_DOUBLE_DROPS) < 1) {
- reason.add("Skills.Herbalism.DoubleDrops.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.HERBALISM_DOUBLE_DROPS) < 1) {
- reason.add("Skills.Herbalism.DoubleDrops.MaxBonusLevel should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.HERBALISM_HYLIAN_LUCK) < 1) {
- reason.add("Skills.Herbalism.HylianLuck.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.HERBALISM_HYLIAN_LUCK) < 1) {
- reason.add("Skills.Herbalism.HylianLuck.MaxBonusLevel should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.HERBALISM_SHROOM_THUMB) < 1) {
- reason.add("Skills.Herbalism.ShroomThumb.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.HERBALISM_SHROOM_THUMB) < 1) {
- reason.add("Skills.Herbalism.ShroomThumb.MaxBonusLevel should be at least 1!");
- }
- /* MINING */
- if (getMaximumProbability(SubSkillType.MINING_DOUBLE_DROPS) < 1) {
- reason.add("Skills.Mining.DoubleDrops.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.MINING_DOUBLE_DROPS) < 1) {
- reason.add("Skills.Mining.DoubleDrops.MaxBonusLevel should be at least 1!");
- }
- /*List<BlastMining.Tier> blastMiningTierList = Arrays.asList(BlastMining.Tier.values());
- for (int rank : blastMiningTierList) {
- if (getBlastMiningRankLevel(tier) < 0) {
- reason.add("Skills.Mining.BlastMining.Rank_Levels.Rank_" + rank + " should be at least 0!");
- }
- if (getBlastDamageDecrease(tier) < 0) {
- reason.add("Skills.Mining.BlastMining.BlastDamageDecrease.Rank_" + rank + " should be at least 0!");
- }
- if (getOreBonus(tier) < 0) {
- reason.add("Skills.Mining.BlastMining.OreBonus.Rank_" + rank + " should be at least 0!");
- }
- if (getDebrisReduction(tier) < 0) {
- reason.add("Skills.Mining.BlastMining.DebrisReduction.Rank_" + rank + " should be at least 0!");
- }
- if (getDropMultiplier(tier) < 0) {
- reason.add("Skills.Mining.BlastMining.DropMultiplier.Rank_" + rank + " should be at least 0!");
- }
- if (getBlastRadiusModifier(tier) < 0) {
- reason.add("Skills.Mining.BlastMining.BlastRadiusModifier.Rank_" + rank + " should be at least 0!");
- }
- if (tier != BlastMining.Tier.EIGHT) {
- BlastMining.Tier nextTier = blastMiningTierList.get(blastMiningTierList.indexOf(tier) - 1);
- if (getBlastMiningRankLevel(tier) > getBlastMiningRankLevel(nextTier)) {
- reason.add("Skills.Mining.BlastMining.Rank_Levels.Rank_" + rank + " should be less than or equal to Skills.Mining.BlastMining.Rank_Levels.Rank_" + nextrank + "!");
- }
- if (getBlastDamageDecrease(tier) > getBlastDamageDecrease(nextTier)) {
- reason.add("Skills.Mining.BlastMining.BlastDamageDecrease.Rank_" + rank + " should be less than or equal to Skills.Mining.BlastMining.BlastDamageDecrease.Rank_" + nextrank + "!");
- }
- if (getOreBonus(tier) > getOreBonus(nextTier)) {
- reason.add("Skills.Mining.BlastMining.OreBonus.Rank_" + rank + " should be less than or equal to Skills.Mining.BlastMining.OreBonus.Rank_" + nextrank + "!");
- }
- if (getDebrisReduction(tier) > getDebrisReduction(nextTier)) {
- reason.add("Skills.Mining.BlastMining.DebrisReduction.Rank_" + rank + " should be less than or equal to Skills.Mining.BlastMining.DebrisReduction.Rank_" + nextrank + "!");
- }
- if (getDropMultiplier(tier) > getDropMultiplier(nextTier)) {
- reason.add("Skills.Mining.BlastMining.DropMultiplier.Rank_" + rank + " should be less than or equal to Skills.Mining.BlastMining.DropMultiplier.Rank_" + nextrank + "!");
- }
- if (getBlastRadiusModifier(tier) > getBlastRadiusModifier(nextTier)) {
- reason.add("Skills.Mining.BlastMining.BlastRadiusModifier.Rank_" + rank + " should be less than or equal to Skills.Mining.BlastMining.BlastRadiusModifier.Rank_" + nextrank + "!");
- }
- }
- }*/
- /* REPAIR */
- if (getRepairMasteryMaxBonus() < 1) {
- reason.add("Skills.Repair.RepairMastery.MaxBonusPercentage should be at least 1!");
- }
- if (getRepairMasteryMaxLevel() < 1) {
- reason.add("Skills.Repair.RepairMastery.MaxBonusLevel should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.REPAIR_SUPER_REPAIR) < 1) {
- reason.add("Skills.Repair.SuperRepair.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.REPAIR_SUPER_REPAIR) < 1) {
- reason.add("Skills.Repair.SuperRepair.MaxBonusLevel should be at least 1!");
- }
- /*List<ArcaneForging.Tier> arcaneForgingTierList = Arrays.asList(ArcaneForging.Tier.values());
- for (ArcaneForging.Tier tier : arcaneForgingTierList) {
- if (getArcaneForgingRankLevel(tier) < 0) {
- reason.add("Skills.Repair.ArcaneForging.Rank_Levels.Rank_" + rank + " should be at least 0!");
- }
- if (getArcaneForgingDowngradeChance(tier) < 0 || getArcaneForgingDowngradeChance(tier) > 100) {
- reason.add("Skills.Repair.ArcaneForging.Downgrades.Chance.Rank_" + rank + " only accepts values from 0 to 100!");
- }
- if (getArcaneForgingKeepEnchantsChance(tier) < 0 || getArcaneForgingKeepEnchantsChance(tier) > 100) {
- reason.add("Skills.Repair.ArcaneForging.Keep_Enchants.Chance.Rank_" + rank + " only accepts values from 0 to 100!");
- }
- if (tier != ArcaneForging.Tier.EIGHT) {
- ArcaneForging.Tier nextTier = arcaneForgingTierList.get(arcaneForgingTierList.indexOf(tier) - 1);
- if (getArcaneForgingRankLevel(tier) > getArcaneForgingRankLevel(nextTier)) {
- reason.add("Skills.Repair.ArcaneForging.Rank_Levels.Rank_" + rank + " should be less than or equal to Skills.Repair.ArcaneForging.Rank_Levels.Rank_" + nextrank + "!");
- }
- if (getArcaneForgingDowngradeChance(nextTier) > getArcaneForgingDowngradeChance(tier)) {
- reason.add("Skills.Repair.ArcaneForging.Downgrades.Chance.Rank_" + nextrank + " should be less than or equal to Skills.Repair.ArcaneForging.Downgrades.Chance.Rank_" + rank + "!");
- }
- if (getArcaneForgingKeepEnchantsChance(tier) > getArcaneForgingKeepEnchantsChance(nextTier)) {
- reason.add("Skills.Repair.ArcaneForging.Keep_Enchants.Chance.Rank_" + rank + " should be less than or equal to Skills.Repair.ArcaneForging.Keep_Enchants.Chance.Rank_" + nextrank + "!");
- }
- }
- }*/
- /* SALVAGE */
- /*if (getSalvageMaxPercentage() < 1) {
- reason.add("Skills.Salvage.MaxPercentage should be at least 1!");
- }
- if (getSalvageMaxPercentageLevel() < 1) {
- reason.add("Skills.Salvage.MaxPercentageLevel should be at least 1!");
- }*/
- /*if (getAdvancedSalvageUnlockLevel() < 0) {
- reason.add("Skills.Salvage.AdvancedSalvage.UnlockLevel should be at least 0!");
- }*/
- /*List<Salvage.Tier> salvageTierList = Arrays.asList(Salvage.Tier.values());
- for (Salvage.Tier tier : salvageTierList) {
- if (getArcaneSalvageRankLevel(tier) < 0) {
- reason.add("Skills.Salvage.ArcaneSalvage.Rank_Levels.Rank_" + rank + " should be at least 0!");
- }
- if (getArcaneSalvageExtractFullEnchantsChance(tier) < 0 || getArcaneSalvageExtractFullEnchantsChance(tier) > 100) {
- reason.add("Skills.Salvage.ArcaneSalvage.ExtractFullEnchant.Rank_" + rank + " only accepts values from 0 to 100!");
- }
- if (getArcaneSalvageExtractPartialEnchantsChance(tier) < 0 || getArcaneSalvageExtractPartialEnchantsChance(tier) > 100) {
- reason.add("Skills.Salvage.ArcaneSalvage.ExtractPartialEnchant.Rank_" + rank + " only accepts values from 0 to 100!");
- }
- if (tier != Salvage.Tier.EIGHT) {
- Salvage.Tier nextTier = salvageTierList.get(salvageTierList.indexOf(tier) - 1);
- if (getArcaneSalvageRankLevel(tier) > getArcaneSalvageRankLevel(nextTier)) {
- reason.add("Skills.Salvage.ArcaneSalvage.Rank_Levels.Rank_" + rank + " should be less than or equal to Skills.Salvage.ArcaneSalvage.Rank_Levels.Rank_" + nextrank + "!");
- }
- if (getArcaneSalvageExtractFullEnchantsChance(tier) > getArcaneSalvageExtractFullEnchantsChance(nextTier)) {
- reason.add("Skills.Salvage.ArcaneSalvage.ExtractFullEnchant.Rank_" + rank + " should be less than or equal to Skills.Salvage.ArcaneSalvage.ExtractFullEnchant.Rank_" + nextrank + "!");
- }
- if (getArcaneSalvageExtractPartialEnchantsChance(tier) > getArcaneSalvageExtractPartialEnchantsChance(nextTier)) {
- reason.add("Skills.Salvage.ArcaneSalvage.ExtractPartialEnchant.Rank_" + rank + " should be less than or equal to Skills.Salvage.ArcaneSalvage.ExtractPartialEnchant.Rank_" + nextrank + "!");
- }
- }
- }*/
- /* SMELTING */
- if (getBurnModifierMaxLevel() < 1) {
- reason.add("Skills.Smelting.FuelEfficiency.MaxBonusLevel should be at least 1!");
- }
- if (getBurnTimeMultiplier() < 1) {
- reason.add("Skills.Smelting.FuelEfficiency.Multiplier should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.SMELTING_SECOND_SMELT) < 1) {
- reason.add("Skills.Smelting.SecondSmelt.MaxBonusLevel should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.SMELTING_SECOND_SMELT) < 1) {
- reason.add("Skills.Smelting.SecondSmelt.ChanceMax should be at least 1!");
- }
- /*if (getFluxMiningUnlockLevel() < 0) {
- reason.add("Skills.Smelting.FluxMining.UnlockLevel should be at least 0!");
- }*/
- if (getFluxMiningChance() < 1) {
- reason.add("Skills.Smelting.FluxMining.Chance should be at least 1!");
- }
- /*List<Smelting.Tier> smeltingTierList = Arrays.asList(Smelting.Tier.values());
- for (int rank : smeltingTierList) {
- if (getSmeltingRankLevel(tier) < 0) {
- reason.add("Skills.Smelting.Rank_Levels.Rank_" + rank + " should be at least 0!");
- }
- if (getSmeltingVanillaXPBoostMultiplier(tier) < 1) {
- reason.add("Skills.Smelting.VanillaXPMultiplier.Rank_" + rank + " should be at least 1!");
- }
- if (tier != Smelting.Tier.EIGHT) {
- Smelting.Tier nextTier = smeltingTierList.get(smeltingTierList.indexOf(tier) - 1);
- if (getSmeltingRankLevel(tier) > getSmeltingRankLevel(nextTier)) {
- reason.add("Skills.Smelting.Rank_Levels.Rank_" + rank + " should be less than or equal to Skills.Smelting.Rank_Levels.Rank_" + nextrank + "!");
- }
- if (getSmeltingVanillaXPBoostMultiplier(tier) > getSmeltingVanillaXPBoostMultiplier(nextTier)) {
- reason.add("Skills.Smelting.VanillaXPMultiplier.Rank_" + rank + " should be less than or equal to Skills.Smelting.VanillaXPMultiplier.Rank_" + nextrank + "!");
- }
- }
- }*/
- /* SWORDS */
- if (getMaximumProbability(SubSkillType.SWORDS_RUPTURE) < 1) {
- reason.add("Skills.Swords.Rupture.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.SWORDS_RUPTURE) < 1) {
- reason.add("Skills.Swords.Rupture.MaxBonusLevel should be at least 1!");
- }
- if (getRuptureMaxTicks() < 1) {
- reason.add("Skills.Swords.Rupture.MaxTicks should be at least 1!");
- }
- if (getRuptureMaxTicks() < getRuptureBaseTicks()) {
- reason.add("Skills.Swords.Rupture.MaxTicks should be at least Skills.Swords.Rupture.BaseTicks!");
- }
- if (getRuptureBaseTicks() < 1) {
- reason.add("Skills.Swords.Rupture.BaseTicks should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.SWORDS_COUNTER_ATTACK) < 1) {
- reason.add("Skills.Swords.CounterAttack.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.SWORDS_COUNTER_ATTACK) < 1) {
- reason.add("Skills.Swords.CounterAttack.MaxBonusLevel should be at least 1!");
- }
- if (getCounterModifier() < 1) {
- reason.add("Skills.Swords.CounterAttack.DamageModifier should be at least 1!");
- }
- if (getSerratedStrikesModifier() < 1) {
- reason.add("Skills.Swords.SerratedStrikes.DamageModifier should be at least 1!");
- }
- if (getSerratedStrikesTicks() < 1) {
- reason.add("Skills.Swords.SerratedStrikes.RuptureTicks should be at least 1!");
- }
- /* TAMING */
- if (getMaximumProbability(SubSkillType.TAMING_GORE) < 1) {
- reason.add("Skills.Taming.Gore.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.TAMING_GORE) < 1) {
- reason.add("Skills.Taming.Gore.MaxBonusLevel should be at least 1!");
- }
- /*if (getGoreRuptureTicks() < 1) {
- reason.add("Skills.Taming.Gore.RuptureTicks should be at least 1!");
- }*/
- if (getGoreModifier() < 1) {
- reason.add("Skills.Taming.Gore.Modifier should be at least 1!");
- }
- /*if (getFastFoodUnlock() < 0) {
- reason.add("Skills.Taming.FastFood.UnlockLevel should be at least 0!");
- }*/
- if (getFastFoodChance() < 1) {
- reason.add("Skills.Taming.FastFood.Chance should be at least 1!");
- }
- /*if (getEnviromentallyAwareUnlock() < 0) {
- reason.add("Skills.Taming.EnvironmentallyAware.UnlockLevel should be at least 0!");
- }*/
- /*if (getThickFurUnlock() < 0) {
- reason.add("Skills.Taming.ThickFur.UnlockLevel should be at least 0!");
- }*/
- if (getThickFurModifier() < 1) {
- reason.add("Skills.Taming.ThickFur.Modifier should be at least 1!");
- }
- /*if (getHolyHoundUnlock() < 0) {
- reason.add("Skills.Taming.HolyHound.UnlockLevel should be at least 0!");
- }
- if (getShockProofUnlock() < 0) {
- reason.add("Skills.Taming.ShockProof.UnlockLevel should be at least 0!");
- }*/
- if (getShockProofModifier() < 1) {
- reason.add("Skills.Taming.ShockProof.Modifier should be at least 1!");
- }
- /*if (getSharpenedClawsUnlock() < 0) {
- reason.add("Skills.Taming.SharpenedClaws.UnlockLevel should be at least 0!");
- }*/
- if (getSharpenedClawsBonus() < 1) {
- reason.add("Skills.Taming.SharpenedClaws.Bonus should be at least 1!");
- }
- if (getMaxHorseJumpStrength() < 0 || getMaxHorseJumpStrength() > 2) {
- reason.add("Skills.Taming.CallOfTheWild.MaxHorseJumpStrength should be between 0 and 2!");
- }
- /* UNARMED */
- if (getMaximumProbability(SubSkillType.UNARMED_DISARM) < 1) {
- reason.add("Skills.Unarmed.Disarm.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.UNARMED_DISARM) < 1) {
- reason.add("Skills.Unarmed.Disarm.MaxBonusLevel should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.UNARMED_ARROW_DEFLECT) < 1) {
- reason.add("Skills.Unarmed.ArrowDeflect.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.UNARMED_ARROW_DEFLECT) < 1) {
- reason.add("Skills.Unarmed.ArrowDeflect.MaxBonusLevel should be at least 1!");
- }
- if (getMaximumProbability(SubSkillType.UNARMED_IRON_GRIP) < 1) {
- reason.add("Skills.Unarmed.IronGrip.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.UNARMED_IRON_GRIP) < 1) {
- reason.add("Skills.Unarmed.IronGrip.MaxBonusLevel should be at least 1!");
- }
- /* WOODCUTTING */
- /*if (getLeafBlowUnlockLevel() < 0) {
- reason.add("Skills.Woodcutting.LeafBlower.UnlockLevel should be at least 0!");
- }*/
- if (getMaximumProbability(SubSkillType.WOODCUTTING_HARVEST_LUMBER) < 1) {
- reason.add("Skills.Woodcutting.HarvestLumber.ChanceMax should be at least 1!");
- }
- if (getMaxBonusLevel(SubSkillType.WOODCUTTING_HARVEST_LUMBER) < 1) {
- reason.add("Skills.Woodcutting.HarvestLumber.MaxBonusLevel should be at least 1!");
- }
- /* KRAKEN */
- if (getKrakenTriesBeforeRelease() < 1) {
- reason.add("Kraken.Tries_Before_Release should be at least 1!");
- }
- if (getKrakenHealth() < 1) {
- reason.add("Kraken.Health should be at least 1!");
- }
- if (getKrakenAttackInterval() < 1) {
- reason.add("Kraken.Attack_Interval_Seconds should be at least 1!");
- }
- if (getKrakenAttackDamage() < 1) {
- reason.add("Kraken.Attack_Damage should be at least 1!");
- }
- return noErrorsInConfig(reason);
- }
- @Override
- protected void loadKeys() {}
- /* GENERAL */
- public int getStartingLevel() { return config.getInt("Skills.General.StartingLevel", 1); }
- /**
- * This returns the maximum level at which superabilities will stop lengthening from scaling alongside skill level.
- * It returns a different value depending on whether or not the server is in retro mode
- * @return the level at which abilities stop increasing in length
- */
- public int getAbilityLengthCap() {
- if(!mcMMO.isRetroModeEnabled())
- return config.getInt("Skills.General.Ability.Length.Standard.CapLevel", 50);
- else
- return config.getInt("Skills.General.Ability.Length.RetroMode.CapLevel", 500);
- }
- /**
- * This returns the frequency at which abilities will increase in length
- * It returns a different value depending on whether or not the server is in retro mode
- * @return the number of levels required per ability length increase
- */
- public int getAbilityLength() {
- if(!mcMMO.isRetroModeEnabled())
- return config.getInt("Skills.General.Ability.Length.Standard.IncreaseLevel", 5);
- else
- return config.getInt("Skills.General.Ability.Length.RetroMode.IncreaseLevel", 50);
- }
- public int getEnchantBuff() { return config.getInt("Skills.General.Ability.EnchantBuff", 5); }
- /**
- * Grabs the max bonus level for a skill used in RNG calculations
- * All max level values in the config are multiplied by 10 if the server is in retro mode as the values in the config are based around the new 1-100 skill system scaling
- * A value of 10 in the file will be returned as 100 for retro mode servers to accommodate the change in scaling
- * @param subSkillType target subskill
- * @return the level at which this skills max benefits will be reached on the curve
- */
- public int getMaxBonusLevel(SubSkillType subSkillType) {
- int maxBonusLevel = config.getInt(subSkillType.getAdvConfigAddress() + ".MaxBonusLevel", 100);
- if(mcMMO.isRetroModeEnabled())
- maxBonusLevel *= 10;
- if(maxBonusLevel == 0)
- mcMMO.p.getLogger().severe("Warning Max Bonus Level for "+subSkillType.getAdvConfigAddress() + ".MaxBonusLevel"+" is set to 0! Typically this value should be 100.");
- return maxBonusLevel;
- }
- public int getMaxBonusLevel(AbstractSubSkill abstractSubSkill) {
- int maxBonusLevel = config.getInt("Skills."+abstractSubSkill.getPrimaryKeyName()+"."+abstractSubSkill.getConfigKeyName()+".MaxBonusLevel", 100);
- if(mcMMO.isRetroModeEnabled())
- maxBonusLevel *= 10;
- return maxBonusLevel;
- }
- public double getMaximumProbability(SubSkillType subSkillType) {
- double maximumProbability = config.getDouble(subSkillType.getAdvConfigAddress() + ".ChanceMax", 100.0D);
- /*if(mcMMO.isRetroModeEnabled())
- maximumProbability *= 10; // It seems weird but our formulas need this*/
- return maximumProbability;
- }
- public double getMaximumProbability(AbstractSubSkill abstractSubSkill)
- {
- double maximumProbability = config.getDouble("Skills."+abstractSubSkill.getPrimaryKeyName()+"."+abstractSubSkill.getConfigKeyName()+".ChanceMax", 100.0D);
- if(mcMMO.isRetroModeEnabled())
- maximumProbability *= 10; // It seems weird but our formulas need this
- return maximumProbability;
- }
- /* Notification Settings */
- public boolean doesSkillCommandSendBlankLines()
- {
- return config.getBoolean("Feedback.SkillCommand.BlankLinesAboveHeader", true);
- }
- public boolean doesNotificationUseActionBar(NotificationType notificationType)
- {
- return config.getBoolean("Feedback.ActionBarNotifications."+notificationType.toString()+".Enabled", true);
- }
- public boolean doesNotificationSendCopyToChat(NotificationType notificationType)
- {
- return config.getBoolean("Feedback.ActionBarNotifications."+notificationType.toString()+".SendCopyOfMessageToChat", false);
- }
- public boolean useTitlesForXPEvent()
- {
- return config.getBoolean("Feedback.Events.XP.SendTitles", true);
- }
- /*
- * JSON Style Settings
- */
- /*public ChatColor getJSONStatHoverElementColor(StatType statType, boolean isPrefix)
- {
- String keyAddress = isPrefix ? "Prefix" : "Value";
- String keyLocation = "Style.JSON.Hover.Details." + StringUtils.getCapitalized(statType.toString()) +"."+keyAddress+".Color";
- return getChatColorFromKey(keyLocation);
- }*/
- /**
- * Used to color our details header in our JSON Hover Object tooltips
- * @return the ChatColor for this element
- */
- /*public ChatColor getJSONStatHoverDetailsColor()
- {
- String keyLocation = "Style.JSON.Hover.Details.Header.Color";
- return getChatColorFromKey(keyLocation);
- }
- public boolean isJSONDetailsHeaderBold()
- {
- return config.getBoolean("Style.JSON.Hover.Details.Header.Bold");
- }
- public boolean isJSONDetailsHeaderItalic()
- {
- return config.getBoolean("Style.JSON.Hover.Details.Header.Italics");
- }
- public boolean isJSONDetailsHeaderUnderlined()
- {
- return config.getBoolean("Style.JSON.Hover.Details.Header.Underlined");
- }
- public ChatColor getJSONStatHoverDescriptionColor()
- {
- String keyLocation = "Style.JSON.Hover.Details.Description.Color";
- return getChatColorFromKey(keyLocation);
- }
- public boolean isJSONDetailsDescriptionBold()
- {
- return config.getBoolean("Style.JSON.Hover.Details.Description.Bold");
- }
- public boolean isJSONDetailsDescriptionItalic()
- {
- return config.getBoolean("Style.JSON.Hover.Details.Description.Italics");
- }
- public boolean isJSONDetailsDescriptionUnderlined()
- {
- return config.getBoolean("Style.JSON.Hover.Details.Description.Underlined");
- }
- public ChatColor getJSONActionBarColor(NotificationType notificationType)
- {
- return getChatColor(config.getString("Style.JSON.Notification."+notificationType.toString()+".Color"));
- }*/
- private ChatColor getChatColorFromKey(String keyLocation) {
- String colorName = config.getString(keyLocation);
- return getChatColor(colorName);
- }
- private ChatColor getChatColor(String configColor) {
- for (ChatColor chatColor : ChatColor.values()) {
- if (configColor.equalsIgnoreCase(chatColor.getName()))
- return chatColor;
- }
- //Invalid Color
- System.out.println("[mcMMO] " + configColor + " is an invalid color value");
- return ChatColor.WHITE;
- }
- /*public boolean isJSONStatHoverElementBold(StatType statType, boolean isPrefix)
- {
- String keyAddress = isPrefix ? "Prefix" : "Value";
- String keyLocation = "Style.JSON.Hover.Details." + StringUtils.getCapitalized(statType.toString()) +"."+keyAddress+".Bold";
- return config.getBoolean(keyLocation);
- }
- public boolean isJSONStatHoverElementItalic(StatType statType, boolean isPrefix)
- {
- String keyAddress = isPrefix ? "Prefix" : "Value";
- String keyLocation = "Style.JSON.Hover.Details." + StringUtils.getCapitalized(statType.toString()) +"."+keyAddress+".Italics";
- return config.getBoolean(keyLocation);
- }
- public boolean isJSONStatHoverElementUnderlined(StatType statType, boolean isPrefix)
- {
- String keyAddress = isPrefix ? "Prefix" : "Value";
- String keyLocation = "Style.JSON.Hover.Details." + StringUtils.getCapitalized(statType.toString()) +"."+keyAddress+".Underline";
- return config.getBoolean(keyLocation);
- }*/
- /**
- * 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 config.getBoolean(subSkillType.getAdvConfigAddress()+".Classic");
- }
- /* ACROBATICS */
- public double getDodgeDamageModifier() { return config.getDouble("Skills.Acrobatics.Dodge.DamageModifier", 2.0D); }
- public double getRollDamageThreshold() { return config.getDouble("Skills.Acrobatics.Roll.DamageThreshold", 7.0D); }
- public double getGracefulRollDamageThreshold() { return config.getDouble("Skills.Acrobatics.GracefulRoll.DamageThreshold", 14.0D); }
- /* ALCHEMY */
- /*public int getCatalysisUnlockLevel() { return config.getInt("Skills.Alchemy.Catalysis.UnlockLevel", 100); }*/
- public int getCatalysisMaxBonusLevel() { return config.getInt("Skills.Alchemy.Catalysis.MaxBonusLevel", 1000); }
- public double getCatalysisMinSpeed() { return config.getDouble("Skills.Alchemy.Catalysis.MinSpeed", 1.0D); }
- public double getCatalysisMaxSpeed() { return config.getDouble("Skills.Alchemy.Catalysis.MaxSpeed", 4.0D); }
- //public int getConcoctionsTierLevel(Alchemy.Tier tier) { return config.getInt("Skills.Alchemy.Rank_Levels.Rank_" + rank); }
- /* ARCHERY */
- public double getSkillShotRankDamageMultiplier() { return config.getDouble("Skills.Archery.SkillShot.RankDamageMultiplier", 10.0D); }
- public double getSkillShotDamageMax() { return config.getDouble("Skills.Archery.SkillShot.MaxDamage", 9.0D); }
- public double getDazeBonusDamage() { return config.getDouble("Skills.Archery.Daze.BonusDamage", 4.0D); }
- public double getForceMultiplier() { return config.getDouble("Skills.Archery.ForceMultiplier", 2.0D); }
- /* AXES */
- public double getAxeMasteryRankDamageMultiplier() { return config.getDouble("Skills.Axes.AxeMastery.RankDamageMultiplier", 1.0D); }
- public double getCriticalStrikesPVPModifier() { return config.getDouble("Skills.Axes.CriticalStrikes.PVP_Modifier", 1.5D); }
- public double getCriticalStrikesPVEModifier() { return config.getDouble("Skills.Axes.CriticalStrikes.PVE_Modifier", 2.0D); }
- public double getGreaterImpactChance() { return config.getDouble("Skills.Axes.GreaterImpact.Chance", 25.0D); }
- public double getGreaterImpactModifier() { return config.getDouble("Skills.Axes.GreaterImpact.KnockbackModifier", 1.5D); }
- public double getGreaterImpactBonusDamage() { return config.getDouble("Skills.Axes.GreaterImpact.BonusDamage", 2.0D); }
- public int getArmorImpactIncreaseLevel() {
- int increaseLevel = config.getInt("Skills.Axes.ArmorImpact.IncreaseLevel", 5);
- if(mcMMO.isRetroModeEnabled())
- return increaseLevel * 10;
- return increaseLevel;
- }
- public double getImpactChance() { return config.getDouble("Skills.Axes.ArmorImpact.Chance", 25.0D); }
- public double getArmorImpactMaxDurabilityDamage() { return config.getDouble("Skills.Axes.ArmorImpact.MaxPercentageDurabilityDamage", 20.0D); }
- public double getSkullSplitterModifier() { return config.getDouble("Skills.Axes.SkullSplitter.DamageModifier", 2.0D); }
- /* EXCAVATION */
- //Nothing to configure, everything is already configurable in config.yml
- /* FISHING */
- //public int getFishingTierLevel(int rank) { return config.getInt("Skills.Fishing.Rank_Levels.Rank_" + rank); }
- public double getShakeChance(int rank) { return config.getDouble("Skills.Fishing.ShakeChance.Rank_" + rank); }
- public int getFishingVanillaXPModifier(int rank) { return config.getInt("Skills.Fishing.VanillaXPMultiplier.Rank_" + rank); }
- public int getFishermanDietRankChange() { return config.getInt("Skills.Fishing.FishermansDiet.RankChange", 200); }
- /*public int getIceFishingUnlockLevel() { return config.getInt("Skills.Fishing.IceFishing.UnlockLevel", 50); }
- public int getMasterAnglerUnlockLevel() {return config.getInt("Skills.Fishing.MasterAngler.UnlockLevel", 125); }*/
- public double getMasterAnglerBoatModifier() {return config.getDouble("Skills.Fishing.MasterAngler.BoatModifier", 2.0); }
- public double getMasterAnglerBiomeModifier() {return config.getDouble("Skills.Fishing.MasterAngler.BiomeModifier", 2.0); }
- /* HERBALISM */
- public int getFarmerDietRankChange() { return config.getInt("Skills.Herbalism.FarmersDiet.RankChange", 200); }
- public int getGreenThumbStageChange() { return config.getInt("Skills.Herbalism.GreenThumb.StageChange", 200); }
- /* MINING */
- 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); }
- /* REPAIR */
- public double getRepairMasteryMaxBonus() { return config.getDouble("Skills.Repair.RepairMastery.MaxBonusPercentage", 200.0D); }
- public int getRepairMasteryMaxLevel() { return config.getInt("Skills.Repair.RepairMastery.MaxBonusLevel", 100); }
- /* Arcane Forging */
- //public int getArcaneForgingRankLevel(int rank) { return config.getInt("Skills.Repair.ArcaneForging.Rank_Levels.Rank_" + rank); }
- public boolean getArcaneForgingEnchantLossEnabled() { return config.getBoolean("Skills.Repair.ArcaneForging.May_Lose_Enchants", true); }
- public double getArcaneForgingKeepEnchantsChance(int rank) { return config.getDouble("Skills.Repair.ArcaneForging.Keep_Enchants_Chance.Rank_" + rank); }
- public boolean getArcaneForgingDowngradeEnabled() { return config.getBoolean("Skills.Repair.ArcaneForging.Downgrades_Enabled", true); }
- public double getArcaneForgingDowngradeChance(int rank) { return config.getDouble("Skills.Repair.ArcaneForging.Downgrades_Chance.Rank_" + rank); }
- /* SALVAGE */
- //public double getSalvageMaxPercentage() { return config.getDouble("Skills.Salvage.MaxPercentage", 100.0D); }
- //public int getSalvageMaxPercentageLevel() { return config.getInt("Skills.Salvage.MaxPercentageLevel", 1000); }
- public boolean getArcaneSalvageEnchantDowngradeEnabled() { return config.getBoolean("Skills.Salvage.ArcaneSalvage.EnchantDowngradeEnabled", true); }
- public boolean getArcaneSalvageEnchantLossEnabled() { return config.getBoolean("Skills.Salvage.ArcaneSalvage.EnchantLossEnabled", true); }
- //public int getArcaneSalvageRankLevel(int rank) { return config.getInt("Skills.Salvage.ArcaneSalvage.Rank_Levels.Rank_" + rank); }
- public double getArcaneSalvageExtractFullEnchantsChance(int rank) { return config.getDouble("Skills.Salvage.ArcaneSalvage.ExtractFullEnchant.Rank_" + rank); }
- public double getArcaneSalvageExtractPartialEnchantsChance(int rank) { return config.getDouble("Skills.Salvage.ArcaneSalvage.ExtractPartialEnchant.Rank_" + rank); }
- /* SMELTING */
- public int getBurnModifierMaxLevel() { return config.getInt("Skills.Smelting.FuelEfficiency.MaxBonusLevel", 100); }
- public double getBurnTimeMultiplier() { return config.getDouble("Skills.Smelting.FuelEfficiency.Multiplier", 3.0D); }
- /*public int getFluxMiningUnlockLevel() { return config.getInt("Skills.Smelting.FluxMining.UnlockLevel", 250); }*/
- public double getFluxMiningChance() { return config.getDouble("Skills.Smelting.FluxMining.Chance", 33.0D); }
- public int getSmeltingRankLevel(int rank) { return config.getInt("Skills.Smelting.Rank_Levels.Rank_" + rank); }
- public int getSmeltingVanillaXPBoostMultiplier(int rank) { return config.getInt("Skills.Smelting.VanillaXPMultiplier.Rank_" + rank); }
- /* SWORDS */
- public double getRuptureDamagePlayer() { return config.getDouble("Skills.Swords.Rupture.DamagePlayer", 1.0); }
- public double getRuptureDamageMobs() { return config.getDouble("Skills.Swords.Rupture.DamageMobs", 2.0); }
- public int getRuptureMaxTicks() { return config.getInt("Skills.Swords.Rupture.MaxTicks", 8); }
- public int getRuptureBaseTicks() { return config.getInt("Skills.Swords.Rupture.BaseTicks", 2); }
- public double getCounterModifier() { return config.getDouble("Skills.Swords.CounterAttack.DamageModifier", 2.0D); }
- public double getSerratedStrikesModifier() { return config.getDouble("Skills.Swords.SerratedStrikes.DamageModifier", 4.0D); }
- public int getSerratedStrikesTicks() { return config.getInt("Skills.Swords.SerratedStrikes.RuptureTicks", 5); }
- /* TAMING */
- //public int getGoreRuptureTicks() { return config.getInt("Skills.Taming.Gore.RuptureTicks", 2); }
- public double getGoreModifier() { return config.getDouble("Skills.Taming.Gore.Modifier", 2.0D); }
- /*public int getFastFoodUnlock() { return config.getInt("Skills.Taming.FastFood.UnlockLevel", 50); }*/
- public double getFastFoodChance() { return config.getDouble("Skills.Taming.FastFoodService.Chance", 50.0D); }
- public double getPummelChance() { return config.getDouble("Skills.Taming.Pummel.Chance", 10.0D); }
- //public int getEnviromentallyAwareUnlock() { return config.getInt("Skills.Taming.EnvironmentallyAware.UnlockLevel", 100); }
- /*public int getThickFurUnlock() { return config.getInt("Skills.Taming.ThickFur.UnlockLevel", 250); }*/
- public double getThickFurModifier() { return config.getDouble("Skills.Taming.ThickFur.Modifier", 2.0D); }
- /*public int getHolyHoundUnlock() {return config.getInt("Skills.Taming.HolyHound.UnlockLevel", 375); }*/
- /*public int getShockProofUnlock() { return config.getInt("Skills.Taming.ShockProof.UnlockLevel", 500); }*/
- public double getShockProofModifier() { return config.getDouble("Skills.Taming.ShockProof.Modifier", 6.0D); }
- /*public int getSharpenedClawsUnlock() { return config.getInt("Skills.Taming.SharpenedClaws.UnlockLevel", 750); }*/
- public double getSharpenedClawsBonus() { return config.getDouble("Skills.Taming.SharpenedClaws.Bonus", 2.0D); }
- public double getMinHorseJumpStrength() { return config.getDouble("Skills.Taming.CallOfTheWild.MinHorseJumpStrength", 0.7D); }
- public double getMaxHorseJumpStrength() { return config.getDouble("Skills.Taming.CallOfTheWild.MaxHorseJumpStrength", 2.0D); }
- /* UNARMED */
- public boolean getDisarmProtected() { return config.getBoolean("Skills.Unarmed.Disarm.AntiTheft", false); }
- /* WOODCUTTING */
- /*public int getLeafBlowUnlockLevel() { return config.getInt("Skills.Woodcutting.LeafBlower.UnlockLevel", 100); }*/
- /* KRAKEN STUFF */
- public boolean getKrakenEnabled() { return config.getBoolean("Kraken.Enabled", true); }
- public int getKrakenTriesBeforeRelease() { return config.getInt("Kraken.Tries_Before_Release", 50); }
- public double getKrakenHealth() { return config.getDouble("Kraken.Health", 50.0D); }
- public String getKrakenName() { return config.getString("Kraken.Name", "The Kraken"); }
- public int getKrakenAttackInterval() { return config.getInt("Kraken.Attack_Interval_Seconds", 1); }
- public double getKrakenAttackDamage() { return config.getDouble("Kraken.Attack_Damage", 1.0D); }
- public boolean getKrakenGlobalEffectsEnabled() { return config.getBoolean("Kraken.Global_Effects", false); }
- public boolean getKrakenEscapeAllowed() { return config.getBoolean("Kraken.Allow_Escaping", false); }
- public String getServerUnleashMessage() { return config.getString("Kraken.Unleashed_Message.Server", ""); }
- public String getPlayerUnleashMessage() { return config.getString("Kraken.Unleashed_Message.Player", ""); }
- public String getPlayerDefeatMessage() { return config.getString("Kraken.Defeated_Message.Killed", ""); }
- public String getPlayerEscapeMessage() { return config.getString("Kraken.Defeated_Message.Escape", ""); }
- }
|