2013-03-01 00:52:01 -05:00
|
|
|
package com.gmail.nossr50.skills.smelting;
|
|
|
|
|
|
|
|
import org.bukkit.Material;
|
|
|
|
|
|
|
|
import com.gmail.nossr50.config.AdvancedConfig;
|
2013-08-23 10:16:22 +02:00
|
|
|
import com.gmail.nossr50.config.experience.ExperienceConfig;
|
2013-03-01 00:52:01 -05:00
|
|
|
import com.gmail.nossr50.datatypes.skills.SkillType;
|
|
|
|
|
|
|
|
public class Smelting {
|
|
|
|
// The order of the values is extremely important, a few methods depend on it to work properly
|
|
|
|
protected enum Tier {
|
2013-09-30 16:59:54 +02:00
|
|
|
EIGHT(8) {
|
|
|
|
@Override public int getLevel() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank8Level(); }
|
|
|
|
@Override public int getVanillaXPBoostModifier() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank8Multiplier(); }},
|
|
|
|
SEVEN(7) {
|
|
|
|
@Override public int getLevel() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank7Level(); }
|
|
|
|
@Override public int getVanillaXPBoostModifier() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank7Multiplier(); }},
|
|
|
|
SIX(6) {
|
|
|
|
@Override public int getLevel() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank6Level(); }
|
|
|
|
@Override public int getVanillaXPBoostModifier() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank6Multiplier(); }},
|
2013-03-01 00:52:01 -05:00
|
|
|
FIVE(5) {
|
|
|
|
@Override public int getLevel() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank5Level(); }
|
|
|
|
@Override public int getVanillaXPBoostModifier() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank5Multiplier(); }},
|
|
|
|
FOUR(4) {
|
|
|
|
@Override public int getLevel() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank4Level(); }
|
|
|
|
@Override public int getVanillaXPBoostModifier() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank4Multiplier(); }},
|
|
|
|
THREE(3) {
|
|
|
|
@Override public int getLevel() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank3Level(); }
|
|
|
|
@Override public int getVanillaXPBoostModifier() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank3Multiplier(); }},
|
|
|
|
TWO(2) {
|
|
|
|
@Override public int getLevel() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank2Level(); }
|
|
|
|
@Override public int getVanillaXPBoostModifier() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank2Multiplier(); }},
|
|
|
|
ONE(1) {
|
|
|
|
@Override public int getLevel() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank1Level(); }
|
|
|
|
@Override public int getVanillaXPBoostModifier() { return AdvancedConfig.getInstance().getSmeltingVanillaXPBoostRank1Multiplier(); }};
|
|
|
|
|
|
|
|
int numerical;
|
|
|
|
|
|
|
|
private Tier(int numerical) {
|
|
|
|
this.numerical = numerical;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int toNumerical() {
|
|
|
|
return numerical;
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract protected int getLevel();
|
|
|
|
abstract protected int getVanillaXPBoostModifier();
|
|
|
|
}
|
|
|
|
|
|
|
|
public static int burnModifierMaxLevel = AdvancedConfig.getInstance().getBurnModifierMaxLevel();
|
|
|
|
public static double burnTimeMultiplier = AdvancedConfig.getInstance().getBurnTimeMultiplier();
|
|
|
|
|
|
|
|
public static int secondSmeltMaxLevel = AdvancedConfig.getInstance().getSecondSmeltMaxLevel();
|
|
|
|
public static double secondSmeltMaxChance = AdvancedConfig.getInstance().getSecondSmeltMaxChance();
|
|
|
|
|
|
|
|
public static int fluxMiningUnlockLevel = AdvancedConfig.getInstance().getFluxMiningUnlockLevel();
|
|
|
|
public static double fluxMiningChance = AdvancedConfig.getInstance().getFluxMiningChance();
|
|
|
|
|
|
|
|
protected static int getResourceXp(Material resourceType) {
|
2013-08-23 10:16:22 +02:00
|
|
|
int xp = ExperienceConfig.getInstance().getXp(SkillType.SMELTING, resourceType);
|
2013-03-01 00:52:01 -05:00
|
|
|
|
|
|
|
if (resourceType == Material.GLOWING_REDSTONE_ORE) {
|
2013-08-23 10:16:22 +02:00
|
|
|
xp = ExperienceConfig.getInstance().getXp(SkillType.SMELTING, Material.REDSTONE_ORE);
|
2013-03-01 00:52:01 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
return xp;
|
|
|
|
}
|
|
|
|
}
|