From 082fa2ca0d24c4fbad18989af799be99bf9a1676 Mon Sep 17 00:00:00 2001 From: Glitchfinder Date: Sun, 25 Nov 2012 16:18:30 -0800 Subject: [PATCH] Dealing with type conversion issues in the skill commands. --- .../commands/skills/AcrobaticsCommand.java | 134 +++++++++--------- .../commands/skills/ArcheryCommand.java | 134 +++++++++--------- .../nossr50/commands/skills/AxesCommand.java | 36 ++--- .../commands/skills/ExcavationCommand.java | 4 +- .../commands/skills/FishingCommand.java | 4 +- .../commands/skills/HerbalismCommand.java | 36 ++--- .../commands/skills/MiningCommand.java | 32 ++--- .../commands/skills/RepairCommand.java | 4 +- .../commands/skills/SwordsCommand.java | 20 +-- .../commands/skills/TamingCommand.java | 24 ++-- .../commands/skills/UnarmedCommand.java | 14 +- .../commands/skills/WoodcuttingCommand.java | 20 +-- .../nossr50/skills/gathering/Mining.java | 2 +- 13 files changed, 232 insertions(+), 232 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java index 81da62cab..9ab35481f 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java @@ -10,90 +10,90 @@ import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.locale.LocaleLoader; public class AcrobaticsCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); - private String dodgeChance; - private String rollChance; - private String gracefulRollChance; + private String dodgeChance; + private String rollChance; + private String gracefulRollChance; - private float dodgeChanceMax = advancedConfig.getDodgeChanceMax(); - private float dodgeMaxBonusLevel = advancedConfig.getDodgeMaxBonusLevel(); - private float rollChanceMax = advancedConfig.getRollChanceMax(); - private float rollMaxBonusLevel = advancedConfig.getRollMaxBonusLevel(); - private float gracefulRollChanceMax = advancedConfig.getGracefulRollChanceMax(); - private float gracefulRollMaxBonusLevel = advancedConfig.getGracefulRollMaxBonusLevel(); + private float dodgeChanceMax = advancedConfig.getDodgeChanceMax(); + private float dodgeMaxBonusLevel = advancedConfig.getDodgeMaxBonusLevel(); + private float rollChanceMax = advancedConfig.getRollChanceMax(); + private float rollMaxBonusLevel = advancedConfig.getRollMaxBonusLevel(); + private float gracefulRollChanceMax = advancedConfig.getGracefulRollChanceMax(); + private float gracefulRollMaxBonusLevel = advancedConfig.getGracefulRollMaxBonusLevel(); - private boolean canDodge; - private boolean canRoll; - private boolean canGracefulRoll; + private boolean canDodge; + private boolean canRoll; + private boolean canGracefulRoll; - public AcrobaticsCommand() { - super(SkillType.ACROBATICS); - } + public AcrobaticsCommand() { + super(SkillType.ACROBATICS); + } - @Override - protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("#.0"); - // DODGE - if(skillValue >= dodgeMaxBonusLevel) dodgeChance = df.format(dodgeChanceMax); - else dodgeChance = df.format((dodgeChanceMax / dodgeMaxBonusLevel) * skillValue); - // ROLL - if(skillValue >= rollMaxBonusLevel) rollChance = df.format(rollChanceMax); - else rollChance = df.format((rollChanceMax / rollMaxBonusLevel) * skillValue); - // GRACEFULROLL - if(skillValue >= gracefulRollMaxBonusLevel) gracefulRollChance = df.format(gracefulRollChanceMax); - else gracefulRollChance = df.format((gracefulRollChanceMax / gracefulRollMaxBonusLevel) * skillValue); - } + @Override + protected void dataCalculations() { + DecimalFormat df = new DecimalFormat("#.0"); + // DODGE + if(skillValue >= dodgeMaxBonusLevel) dodgeChance = df.format(dodgeChanceMax); + else dodgeChance = df.format(((double) dodgeChanceMax / (double) dodgeMaxBonusLevel) * (double) skillValue); + // ROLL + if(skillValue >= rollMaxBonusLevel) rollChance = df.format(rollChanceMax); + else rollChance = df.format(((double) rollChanceMax / (double) rollMaxBonusLevel) * (double) skillValue); + // GRACEFULROLL + if(skillValue >= gracefulRollMaxBonusLevel) gracefulRollChance = df.format(gracefulRollChanceMax); + else gracefulRollChance = df.format(((double) gracefulRollChanceMax / (double) gracefulRollMaxBonusLevel) * (double) skillValue); + } - @Override - protected void permissionsCheck() { - canDodge = permInstance.dodge(player); - canRoll = permInstance.roll(player); - canGracefulRoll = permInstance.gracefulRoll(player); - } + @Override + protected void permissionsCheck() { + canDodge = permInstance.dodge(player); + canRoll = permInstance.roll(player); + canGracefulRoll = permInstance.gracefulRoll(player); + } - @Override - protected boolean effectsHeaderPermissions() { - return canDodge || canGracefulRoll || canRoll; - } + @Override + protected boolean effectsHeaderPermissions() { + return canDodge || canGracefulRoll || canRoll; + } - @Override - protected void effectsDisplay() { + @Override + protected void effectsDisplay() { if (player.hasPermission("mcmmo.perks.lucky.acrobatics")) { String perkPrefix = ChatColor.RED + "[mcMMO Perks] "; player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Acrobatics" }) })); } - if (canRoll) { - player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.0"), LocaleLoader.getString("Acrobatics.Effect.1") })); - } + if (canRoll) { + player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.0"), LocaleLoader.getString("Acrobatics.Effect.1") })); + } - if (canGracefulRoll) { - player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.2"), LocaleLoader.getString("Acrobatics.Effect.3") })); - } + if (canGracefulRoll) { + player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.2"), LocaleLoader.getString("Acrobatics.Effect.3") })); + } - if (canDodge) { - player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.4"), LocaleLoader.getString("Acrobatics.Effect.5") })); - } - } + if (canDodge) { + player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Acrobatics.Effect.4"), LocaleLoader.getString("Acrobatics.Effect.5") })); + } + } - @Override - protected boolean statsHeaderPermissions() { - return canDodge || canGracefulRoll || canRoll; - } + @Override + protected boolean statsHeaderPermissions() { + return canDodge || canGracefulRoll || canRoll; + } - @Override - protected void statsDisplay() { - if (canRoll) { - player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Chance", new Object[] { rollChance })); - } + @Override + protected void statsDisplay() { + if (canRoll) { + player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.Chance", new Object[] { rollChance })); + } - if (canGracefulRoll) { - player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.GraceChance", new Object[] { gracefulRollChance })); - } + if (canGracefulRoll) { + player.sendMessage(LocaleLoader.getString("Acrobatics.Roll.GraceChance", new Object[] { gracefulRollChance })); + } - if (canDodge) { - player.sendMessage(LocaleLoader.getString("Acrobatics.DodgeChance", new Object[] { dodgeChance })); - } - } + if (canDodge) { + player.sendMessage(LocaleLoader.getString("Acrobatics.DodgeChance", new Object[] { dodgeChance })); + } + } } \ No newline at end of file diff --git a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java index bc65ebda4..b162d3f75 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java @@ -10,97 +10,97 @@ import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.locale.LocaleLoader; public class ArcheryCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); - private String skillShotBonus; - private String dazeChance; - private String retrieveChance; + private String skillShotBonus; + private String dazeChance; + private String retrieveChance; - private int skillShotIncreaseLevel = advancedConfig.getSkillShotIncreaseLevel(); - private double skillShotIncreasePercentage = advancedConfig.getSkillShotIncreasePercentage(); - private double skillShotBonusMax = advancedConfig.getSkillShotBonusMax(); + private int skillShotIncreaseLevel = advancedConfig.getSkillShotIncreaseLevel(); + private double skillShotIncreasePercentage = advancedConfig.getSkillShotIncreasePercentage(); + private double skillShotBonusMax = advancedConfig.getSkillShotBonusMax(); - private float dazeBonusMax = advancedConfig.getDazeBonusMax(); - private float dazeMaxBonusLevel = advancedConfig.getDazeMaxBonusLevel(); + private float dazeBonusMax = advancedConfig.getDazeBonusMax(); + private float dazeMaxBonusLevel = advancedConfig.getDazeMaxBonusLevel(); - private float retrieveBonusMax = advancedConfig.getRetrieveBonusMax(); - private float retrieveMaxBonusLevel = advancedConfig.getRetrieveMaxBonusLevel(); + private float retrieveBonusMax = advancedConfig.getRetrieveBonusMax(); + private float retrieveMaxBonusLevel = advancedConfig.getRetrieveMaxBonusLevel(); - private boolean canSkillShot; - private boolean canDaze; - private boolean canRetrieve; + private boolean canSkillShot; + private boolean canDaze; + private boolean canRetrieve; - public ArcheryCommand() { - super(SkillType.ARCHERY); - } + public ArcheryCommand() { + super(SkillType.ARCHERY); + } - @Override - protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("#.0"); - // SkillShot - double bonus = (int)(skillValue / skillShotIncreaseLevel) * skillShotIncreasePercentage; + @Override + protected void dataCalculations() { + DecimalFormat df = new DecimalFormat("#.0"); + // SkillShot + double bonus = (int)((double) skillValue / (double) skillShotIncreaseLevel) * (double) skillShotIncreasePercentage; if (bonus > skillShotBonusMax) skillShotBonus = percent.format(skillShotBonusMax); else skillShotBonus = percent.format(bonus); - // Daze - if(skillValue >= dazeMaxBonusLevel) dazeChance = df.format(dazeBonusMax); - else dazeChance = df.format((dazeBonusMax / dazeMaxBonusLevel) * skillValue); + // Daze + if(skillValue >= dazeMaxBonusLevel) dazeChance = df.format(dazeBonusMax); + else dazeChance = df.format(((double) dazeBonusMax / (double) dazeMaxBonusLevel) * (double) skillValue); - // Retrieve - if(skillValue >= retrieveMaxBonusLevel) retrieveChance = df.format(retrieveBonusMax); - else retrieveChance = df.format((retrieveBonusMax / retrieveMaxBonusLevel) * skillValue); - } + // Retrieve + if(skillValue >= retrieveMaxBonusLevel) retrieveChance = df.format(retrieveBonusMax); + else retrieveChance = df.format(((double) retrieveBonusMax / (double) retrieveMaxBonusLevel) * (double) skillValue); + } - @Override - protected void permissionsCheck() { - canSkillShot = permInstance.archeryBonus(player); - canDaze = permInstance.daze(player); - canRetrieve = permInstance.trackArrows(player); - } + @Override + protected void permissionsCheck() { + canSkillShot = permInstance.archeryBonus(player); + canDaze = permInstance.daze(player); + canRetrieve = permInstance.trackArrows(player); + } - @Override - protected boolean effectsHeaderPermissions() { - return canSkillShot || canDaze || canRetrieve; - } + @Override + protected boolean effectsHeaderPermissions() { + return canSkillShot || canDaze || canRetrieve; + } - @Override - protected void effectsDisplay() { + @Override + protected void effectsDisplay() { if (player.hasPermission("mcmmo.perks.lucky.archery")) { String perkPrefix = ChatColor.RED + "[mcMMO Perks] "; player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Archery" }) })); } - if (canSkillShot) { - player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.0"), LocaleLoader.getString("Archery.Effect.1") })); - } + if (canSkillShot) { + player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.0"), LocaleLoader.getString("Archery.Effect.1") })); + } - if (canDaze) { - player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.2"), LocaleLoader.getString("Archery.Effect.3") })); - } + if (canDaze) { + player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.2"), LocaleLoader.getString("Archery.Effect.3") })); + } - if (canRetrieve) { - player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.4"), LocaleLoader.getString("Archery.Effect.5") })); - } - } + if (canRetrieve) { + player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.4"), LocaleLoader.getString("Archery.Effect.5") })); + } + } - @Override - protected boolean statsHeaderPermissions() { - return canSkillShot || canDaze || canRetrieve; - } + @Override + protected boolean statsHeaderPermissions() { + return canSkillShot || canDaze || canRetrieve; + } - @Override - protected void statsDisplay() { - if (canSkillShot) { - player.sendMessage(LocaleLoader.getString("Archery.Combat.SkillshotBonus", new Object[] { skillShotBonus })); - } + @Override + protected void statsDisplay() { + if (canSkillShot) { + player.sendMessage(LocaleLoader.getString("Archery.Combat.SkillshotBonus", new Object[] { skillShotBonus })); + } - if (canDaze) { - player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance })); - } + if (canDaze) { + player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance })); + } - if (canRetrieve) { - player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance })); - } - } + if (canRetrieve) { + player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance })); + } + } } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java index f88abb625..f23c38088 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java @@ -11,21 +11,21 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Misc; public class AxesCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); - + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + private String critChance; private String bonusDamage; private String impactDamage; private String greaterImpactDamage; private String skullSplitterLength; - private int bonusDamageAxesBonusMax = advancedConfig.getBonusDamageAxesBonusMax(); - private int bonusDamageAxesMaxBonusLevel = advancedConfig.getBonusDamageAxesMaxBonusLevel(); - private double critMaxChance = advancedConfig.getAxesCriticalChance(); - private int critMaxBonusLevel = advancedConfig.getAxesCriticalMaxBonusLevel(); - private int greaterImpactIncreaseLevel = advancedConfig.getGreaterImpactIncreaseLevel(); -// private double greaterImpactModifier = advancedConfig.getGreaterImpactModifier(); - private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); + private int bonusDamageAxesBonusMax = advancedConfig.getBonusDamageAxesBonusMax(); + private int bonusDamageAxesMaxBonusLevel = advancedConfig.getBonusDamageAxesMaxBonusLevel(); + private double critMaxChance = advancedConfig.getAxesCriticalChance(); + private int critMaxBonusLevel = advancedConfig.getAxesCriticalMaxBonusLevel(); + private int greaterImpactIncreaseLevel = advancedConfig.getGreaterImpactIncreaseLevel(); +// private double greaterImpactModifier = advancedConfig.getGreaterImpactModifier(); + private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); private boolean canSkullSplitter; private boolean canCritical; @@ -39,17 +39,17 @@ public class AxesCommand extends SkillCommand { @Override protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("#.0"); - int skillCheck = Misc.skillCheck((int)skillValue, critMaxBonusLevel); + DecimalFormat df = new DecimalFormat("#.0"); + int skillCheck = Misc.skillCheck((int)skillValue, critMaxBonusLevel); - impactDamage = String.valueOf(1 + ((int) skillValue / greaterImpactIncreaseLevel)); - skullSplitterLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel)); - greaterImpactDamage = "2"; + impactDamage = String.valueOf(1 + ((double) skillValue / (double) greaterImpactIncreaseLevel)); + skullSplitterLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel)); + greaterImpactDamage = "2"; - if (skillValue >= critMaxBonusLevel) critChance = df.format(critMaxChance); - else critChance = String.valueOf((critMaxChance / critMaxBonusLevel) * (float)skillCheck); - if (skillValue >= bonusDamageAxesMaxBonusLevel) bonusDamage = String.valueOf(bonusDamageAxesBonusMax); - else bonusDamage = String.valueOf((int) skillValue / (bonusDamageAxesMaxBonusLevel / bonusDamageAxesBonusMax)); + if (skillValue >= critMaxBonusLevel) critChance = df.format(critMaxChance); + else critChance = String.valueOf(((double) critMaxChance / (double) critMaxBonusLevel) * (double) skillCheck); + if (skillValue >= bonusDamageAxesMaxBonusLevel) bonusDamage = String.valueOf(bonusDamageAxesBonusMax); + else bonusDamage = String.valueOf((double) skillValue / ((double) bonusDamageAxesMaxBonusLevel / (double) bonusDamageAxesBonusMax)); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java index 7294a3980..0a492b31d 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java @@ -8,7 +8,7 @@ import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.locale.LocaleLoader; public class ExcavationCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String gigaDrillBreakerLength; private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); @@ -22,7 +22,7 @@ public class ExcavationCommand extends SkillCommand { @Override protected void dataCalculations() { - gigaDrillBreakerLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel)); + gigaDrillBreakerLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel)); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java index 7e88da248..994b7a695 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java @@ -30,10 +30,10 @@ public class FishingCommand extends SkillCommand { @Override protected void dataCalculations() { lootTier = Fishing.getFishingLootTier(profile); - magicChance = percent.format((float) lootTier / 15); + magicChance = percent.format((double) lootTier / 15D); int dropChance = Fishing.getShakeChance(lootTier); if (player.hasPermission("mcmmo.perks.lucky.fishing")) { - dropChance = (int) (dropChance * 1.25); + dropChance = (int) ((double) dropChance * 1.25D); } shakeChance = String.valueOf(dropChance); diff --git a/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java index 98e4f1060..423d11e90 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java @@ -11,8 +11,8 @@ import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.locale.LocaleLoader; public class HerbalismCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); - + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + private String greenTerraLength; private String greenThumbChance; private String greenThumbStage; @@ -28,7 +28,7 @@ public class HerbalismCommand extends SkillCommand { private int greenThumbMaxLevel = advancedConfig.getGreenThumbMaxLevel(); private double doubleDropsMaxBonus = advancedConfig.getHerbalismDoubleDropsChanceMax(); private int doubleDropsMaxLevel = advancedConfig.getHerbalismDoubleDropsMaxLevel(); - + private boolean canGreenTerra; private boolean canGreenThumbWheat; private boolean canGreenThumbBlocks; @@ -42,21 +42,21 @@ public class HerbalismCommand extends SkillCommand { @Override protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("#.0"); - greenTerraLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel)); - //FARMERS DIET - if(skillValue >= farmersDietMaxLevel) farmersDietRank = "5"; - else farmersDietRank = String.valueOf((int)skillValue / farmersDietRankChange); - //GREEN THUMB - if(skillValue >= greenThumbStageMaxLevel) greenThumbStage = "4"; - else greenThumbStage = String.valueOf((int)skillValue / greenThumbStageChange); - - - if(skillValue >= greenThumbMaxLevel) greenThumbChance = String.valueOf(greenThumbMaxBonus); - else greenThumbChance = String.valueOf((greenThumbMaxBonus / greenThumbMaxLevel) * skillValue); - //DOUBLE DROPS - if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); - else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue); + DecimalFormat df = new DecimalFormat("#.0"); + greenTerraLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel)); + //FARMERS DIET + if(skillValue >= farmersDietMaxLevel) farmersDietRank = "5"; + else farmersDietRank = String.valueOf((double) skillValue / (double) farmersDietRankChange); + //GREEN THUMB + if(skillValue >= greenThumbStageMaxLevel) greenThumbStage = "4"; + else greenThumbStage = String.valueOf((double) skillValue / (double) greenThumbStageChange); + + + if(skillValue >= greenThumbMaxLevel) greenThumbChance = String.valueOf(greenThumbMaxBonus); + else greenThumbChance = String.valueOf(((double) greenThumbMaxBonus / (double) greenThumbMaxLevel) * (double) skillValue); + //DOUBLE DROPS + if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); + else doubleDropChance = df.format(((double) doubleDropsMaxBonus / (double) doubleDropsMaxLevel) * (double) skillValue); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java index 255c4f093..a5aa2500a 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java @@ -12,25 +12,25 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.util.Misc; public class MiningCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String doubleDropChance; private String superBreakerLength; private String blastMiningRank; private String blastRadiusIncrease; private String blastDamageDecrease; - private int blastMiningRank1 = advancedConfig.getBlastMiningRank1(); - private int blastMiningRank2 = advancedConfig.getBlastMiningRank2(); - private int blastMiningRank3 = advancedConfig.getBlastMiningRank3(); - private int blastMiningRank4 = advancedConfig.getBlastMiningRank4(); - private int blastMiningRank5 = advancedConfig.getBlastMiningRank5(); - private int blastMiningRank6 = advancedConfig.getBlastMiningRank6(); - private int blastMiningRank7 = advancedConfig.getBlastMiningRank7(); - private int blastMiningRank8 = advancedConfig.getBlastMiningRank8(); + private int blastMiningRank1 = advancedConfig.getBlastMiningRank1(); + private int blastMiningRank2 = advancedConfig.getBlastMiningRank2(); + private int blastMiningRank3 = advancedConfig.getBlastMiningRank3(); + private int blastMiningRank4 = advancedConfig.getBlastMiningRank4(); + private int blastMiningRank5 = advancedConfig.getBlastMiningRank5(); + private int blastMiningRank6 = advancedConfig.getBlastMiningRank6(); + private int blastMiningRank7 = advancedConfig.getBlastMiningRank7(); + private int blastMiningRank8 = advancedConfig.getBlastMiningRank8(); - private double doubleDropsMaxBonus = advancedConfig.getMiningDoubleDropChance(); - private int doubleDropsMaxLevel = advancedConfig.getMiningDoubleDropMaxLevel(); - public int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); + private double doubleDropsMaxBonus = advancedConfig.getMiningDoubleDropChance(); + private int doubleDropsMaxLevel = advancedConfig.getMiningDoubleDropMaxLevel(); + public int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); private boolean canSuperBreaker; private boolean canDoubleDrop; @@ -45,10 +45,10 @@ public class MiningCommand extends SkillCommand { @Override protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("#.0"); - superBreakerLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel)); - if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); - else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue); + DecimalFormat df = new DecimalFormat("#.0"); + superBreakerLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel)); + if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); + else doubleDropChance = df.format(((double) doubleDropsMaxBonus / (double) doubleDropsMaxLevel) * (double) skillValue); if (skillValue >= blastMiningRank8) { blastMiningRank = "8"; diff --git a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java index 84fac30eb..b005f0859 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java @@ -64,10 +64,10 @@ public class RepairCommand extends SkillCommand { salvageLevel = Config.getInstance().getSalvageUnlockLevel(); if(skillValue >= repairMasteryMaxBonusLevel) repairMasteryBonus = df.format(repairMasteryChanceMax); - else repairMasteryBonus = df.format((repairMasteryChanceMax / repairMasteryMaxBonusLevel) * skillValue); + else repairMasteryBonus = df.format(((double) repairMasteryChanceMax / (double) repairMasteryMaxBonusLevel) * (double) skillValue); if(skillValue >= superRepairMaxBonusLevel) superRepairChance = df.format(superRepairChanceMax); - else superRepairChance = df.format((superRepairChanceMax / superRepairMaxBonusLevel) * skillValue); + else superRepairChance = df.format(((double) superRepairChanceMax / (double) superRepairMaxBonusLevel) * (double) skillValue); arcaneForgingRank = Repair.getArcaneForgingRank(profile); } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java index 77ee6e78c..7568f76ee 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java @@ -10,8 +10,8 @@ import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.locale.LocaleLoader; public class SwordsCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); - + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + private String counterAttackChance; private String bleedLength; private String bleedChance; @@ -36,19 +36,19 @@ public class SwordsCommand extends SkillCommand { @Override protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("#.0"); - serratedStrikesLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel)); + DecimalFormat df = new DecimalFormat("#.0"); + serratedStrikesLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel)); if (skillValue >= bleedMaxLevel) bleedLength = String.valueOf(bleedMaxTicks); else bleedLength = String.valueOf(bleedBaseTicks); - if(skillValue >= bleedMaxLevel) bleedChance = df.format(bleedChanceMax); - else bleedChance = df.format((bleedChanceMax / bleedMaxLevel) * skillValue); + if(skillValue >= bleedMaxLevel) bleedChance = df.format(bleedChanceMax); + else bleedChance = df.format(((double) bleedChanceMax / (double) bleedMaxLevel) * (double) skillValue); - if(skillValue >= counterMaxLevel) counterAttackChance = df.format(counterChanceMax); - else counterAttackChance = df.format((counterChanceMax / counterMaxLevel) * skillValue); - - serratedStrikesLength = String.valueOf(serratedBleedTicks); + if(skillValue >= counterMaxLevel) counterAttackChance = df.format(counterChanceMax); + else counterAttackChance = df.format(((double) counterChanceMax / (double) counterMaxLevel) * (double) skillValue); + + serratedStrikesLength = String.valueOf(serratedBleedTicks); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java index bf0106562..006c7c546 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java @@ -11,17 +11,17 @@ import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.locale.LocaleLoader; public class TamingCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String goreChance; - private float goreChanceMax = advancedConfig.getGoreChanceMax(); - private float goreMaxLevel = advancedConfig.getGoreMaxBonusLevel(); - private int fastFoodUnlock = advancedConfig.getFastFoodUnlock(); - private float fastFoodChance = advancedConfig.getFastFoodChance(); - private int enviromentallyAwareUnlock = advancedConfig.getEnviromentallyAwareUnlock(); - private int thickFurUnlock = advancedConfig.getThickFurUnlock(); - private int shockProofUnlock = advancedConfig.getShockProofUnlock(); - private int sharpenedClawUnlock = advancedConfig.getSharpenedClawsUnlock(); + private float goreChanceMax = advancedConfig.getGoreChanceMax(); + private float goreMaxLevel = advancedConfig.getGoreMaxBonusLevel(); + private int fastFoodUnlock = advancedConfig.getFastFoodUnlock(); + private float fastFoodChance = advancedConfig.getFastFoodChance(); + private int enviromentallyAwareUnlock = advancedConfig.getEnviromentallyAwareUnlock(); + private int thickFurUnlock = advancedConfig.getThickFurUnlock(); + private int shockProofUnlock = advancedConfig.getShockProofUnlock(); + private int sharpenedClawUnlock = advancedConfig.getSharpenedClawsUnlock(); private boolean canBeastLore; private boolean canGore; @@ -38,9 +38,9 @@ public class TamingCommand extends SkillCommand { @Override protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("#.0"); - if(skillValue >= goreMaxLevel) goreChance = df.format(goreChanceMax); - else goreChance = df.format((goreChanceMax / goreMaxLevel) * skillValue); + DecimalFormat df = new DecimalFormat("#.0"); + if(skillValue >= goreMaxLevel) goreChance = df.format(goreChanceMax); + else goreChance = df.format(((double) goreChanceMax / (double) goreMaxLevel) * (double) skillValue); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java index 5c36507b6..e18abc185 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java @@ -10,7 +10,7 @@ import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.locale.LocaleLoader; public class UnarmedCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String berserkLength; private String deflectChance; private String disarmChance; @@ -22,7 +22,7 @@ public class UnarmedCommand extends SkillCommand { private float deflectMaxLevel = advancedConfig.getDeflectMaxBonusLevel(); private float ironArmMaxBonus = advancedConfig.getIronArmBonus(); private int ironArmIncreaseLevel = advancedConfig.getIronArmIncreaseLevel(); - private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); + private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); private boolean canBerserk; private boolean canDisarm; @@ -35,17 +35,17 @@ public class UnarmedCommand extends SkillCommand { @Override protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("#.0"); - berserkLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel)); + DecimalFormat df = new DecimalFormat("#.0"); + berserkLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel)); if(skillValue >= disarmMaxLevel) disarmChance = df.format(disarmChanceMax); - else disarmChance = df.format((disarmChanceMax / disarmMaxLevel) * skillValue); + else disarmChance = df.format(((double) disarmChanceMax / (double) disarmMaxLevel) * (double) skillValue); if(skillValue >= deflectMaxLevel) deflectChance = df.format(deflectChanceMax); - else deflectChance = df.format((deflectChanceMax / deflectMaxLevel) * skillValue); + else deflectChance = df.format(((double) deflectChanceMax / (double) deflectMaxLevel) * (double) skillValue); if (skillValue >= 250) ironArmBonus = String.valueOf(ironArmMaxBonus); - else ironArmBonus = String.valueOf(3 + ((int) skillValue / ironArmIncreaseLevel)); + else ironArmBonus = String.valueOf(3 + ((double) skillValue / (double) ironArmIncreaseLevel)); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java index 6eb338a02..3e8362ca1 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java @@ -11,15 +11,15 @@ import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.locale.LocaleLoader; public class WoodcuttingCommand extends SkillCommand { - AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); + AdvancedConfig advancedConfig = AdvancedConfig.getInstance(); private String treeFellerLength; private String doubleDropChance; - private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); - private double doubleDropsMaxBonus = advancedConfig.getWoodcuttingDoubleDropChance(); - private int doubleDropsMaxLevel = advancedConfig.getWoodcuttingDoubleDropMaxLevel(); - private int leafBlowUnlock = advancedConfig.getLeafBlowUnlockLevel(); - + private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength(); + private double doubleDropsMaxBonus = advancedConfig.getWoodcuttingDoubleDropChance(); + private int doubleDropsMaxLevel = advancedConfig.getWoodcuttingDoubleDropMaxLevel(); + private int leafBlowUnlock = advancedConfig.getLeafBlowUnlockLevel(); + private boolean canTreeFell; private boolean canLeafBlow; private boolean canDoubleDrop; @@ -31,11 +31,11 @@ public class WoodcuttingCommand extends SkillCommand { @Override protected void dataCalculations() { - DecimalFormat df = new DecimalFormat("0.0"); + DecimalFormat df = new DecimalFormat("0.0"); - treeFellerLength = String.valueOf(2 + ((int) skillValue / abilityLengthIncreaseLevel)); - if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); - else doubleDropChance = df.format((doubleDropsMaxBonus / doubleDropsMaxLevel) * skillValue); + treeFellerLength = String.valueOf(2 + ((double) skillValue / (double) abilityLengthIncreaseLevel)); + if(skillValue >= doubleDropsMaxLevel) doubleDropChance = df.format(doubleDropsMaxBonus); + else doubleDropChance = df.format(((double) doubleDropsMaxBonus / (double) doubleDropsMaxLevel) * (double) skillValue); } @Override diff --git a/src/main/java/com/gmail/nossr50/skills/gathering/Mining.java b/src/main/java/com/gmail/nossr50/skills/gathering/Mining.java index 3c3cfc145..d64cef981 100644 --- a/src/main/java/com/gmail/nossr50/skills/gathering/Mining.java +++ b/src/main/java/com/gmail/nossr50/skills/gathering/Mining.java @@ -329,7 +329,7 @@ public class Mining { int skillCheck = Misc.skillCheck(skillLevel, MAX_BONUS_LEVEL); int randomChance = 100; - int chance = (MAX_CHANCE / MAX_BONUS_LEVEL) * skillLevel; + int chance = (int) (((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * (double) skillLevel); if (player.hasPermission("mcmmo.perks.lucky.mining")) { randomChance = (int) (randomChance * 0.75);