2013-01-22 18:43:25 +01:00
|
|
|
package com.gmail.nossr50.skills.fishing;
|
2011-11-28 14:17:01 +01:00
|
|
|
|
2012-03-13 08:00:49 +01:00
|
|
|
import org.bukkit.entity.LivingEntity;
|
|
|
|
import org.bukkit.entity.Player;
|
2011-11-28 14:17:01 +01:00
|
|
|
|
2012-11-21 21:49:54 +01:00
|
|
|
import com.gmail.nossr50.config.AdvancedConfig;
|
2011-11-28 14:17:01 +01:00
|
|
|
|
2013-01-30 00:12:55 +01:00
|
|
|
public final class Fishing {
|
2013-01-30 22:51:11 +01:00
|
|
|
// The order of the values is extremely important, a few methods depend on it to work properly
|
2013-01-30 00:12:55 +01:00
|
|
|
protected enum Tier {
|
2013-01-30 19:24:56 +01:00
|
|
|
FIVE(5) {
|
2013-02-27 00:21:14 +01:00
|
|
|
@Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier5();}
|
|
|
|
@Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank5();}
|
|
|
|
@Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank5();}},
|
2013-01-30 19:24:56 +01:00
|
|
|
FOUR(4) {
|
2013-02-27 00:21:14 +01:00
|
|
|
@Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier4();}
|
|
|
|
@Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank4();}
|
|
|
|
@Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank4();}},
|
2013-01-30 19:24:56 +01:00
|
|
|
THREE(3) {
|
2013-02-27 00:21:14 +01:00
|
|
|
@Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier3();}
|
|
|
|
@Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank3();}
|
|
|
|
@Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank3();}},
|
2013-01-30 19:24:56 +01:00
|
|
|
TWO(2) {
|
2013-02-27 00:21:14 +01:00
|
|
|
@Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier2();}
|
|
|
|
@Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank2();}
|
|
|
|
@Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank2();}},
|
2013-01-30 19:24:56 +01:00
|
|
|
ONE(1) {
|
2013-02-27 00:21:14 +01:00
|
|
|
@Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier1();}
|
|
|
|
@Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank1();}
|
|
|
|
@Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank1();}};
|
2013-01-30 00:12:55 +01:00
|
|
|
|
|
|
|
int numerical;
|
|
|
|
|
|
|
|
private Tier(int numerical) {
|
|
|
|
this.numerical = numerical;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int toNumerical() {
|
|
|
|
return numerical;
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract protected int getLevel();
|
|
|
|
abstract protected int getShakeChance();
|
2013-01-30 19:24:56 +01:00
|
|
|
abstract protected int getVanillaXPBoostModifier();
|
2013-01-30 00:12:55 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
// TODO: Get rid of that
|
2013-02-27 00:21:14 +01:00
|
|
|
public static int fishermansDietRankLevel1 = AdvancedConfig.getInstance().getFishermanDietRankChange();
|
2013-01-25 02:10:50 +01:00
|
|
|
public static int fishermansDietRankLevel2 = fishermansDietRankLevel1 * 2;
|
|
|
|
public static int fishermansDietMaxLevel = fishermansDietRankLevel1 * 5;
|
2013-02-27 04:38:22 +01:00
|
|
|
public static final double STORM_MODIFIER = 0.909;
|
2013-01-22 07:52:34 +01:00
|
|
|
|
2013-01-30 00:12:55 +01:00
|
|
|
private Fishing() {}
|
2012-03-26 17:04:17 +02:00
|
|
|
|
2012-03-13 08:00:49 +01:00
|
|
|
/**
|
2013-01-30 00:12:55 +01:00
|
|
|
* Begins Shake Mob ability
|
|
|
|
*
|
|
|
|
* @param player Player using the ability
|
|
|
|
* @param mob Targeted mob
|
|
|
|
* @param skillLevel Fishing level of the player
|
2012-03-13 08:00:49 +01:00
|
|
|
*/
|
2013-01-30 00:12:55 +01:00
|
|
|
public static void beginShakeMob(Player player, LivingEntity mob, int skillLevel) {
|
|
|
|
ShakeMob.process(player, mob, skillLevel);
|
2012-03-13 08:00:49 +01:00
|
|
|
}
|
2011-11-28 14:17:01 +01:00
|
|
|
}
|