|
@@ -8,7 +8,6 @@ import org.bukkit.enchantments.Enchantment;
|
|
|
import org.bukkit.entity.Item;
|
|
|
import org.bukkit.entity.LivingEntity;
|
|
|
import org.bukkit.entity.Player;
|
|
|
-import org.bukkit.event.entity.FoodLevelChangeEvent;
|
|
|
import org.bukkit.event.player.PlayerFishEvent;
|
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
|
@@ -26,30 +25,28 @@ import com.gmail.nossr50.util.Misc;
|
|
|
import com.gmail.nossr50.util.Permissions;
|
|
|
|
|
|
public final class Fishing {
|
|
|
- static final AdvancedConfig ADVANCED_CONFIG = AdvancedConfig.getInstance();
|
|
|
-
|
|
|
// The order of the values is extremely important, a few methods depend on it to work properly
|
|
|
protected enum Tier {
|
|
|
FIVE(5) {
|
|
|
- @Override public int getLevel() {return ADVANCED_CONFIG.getFishingTierLevelsTier5();}
|
|
|
- @Override public int getShakeChance() {return ADVANCED_CONFIG.getShakeChanceRank5();}
|
|
|
- @Override public int getVanillaXPBoostModifier() {return ADVANCED_CONFIG.getFishingVanillaXPModifierRank5();}},
|
|
|
+ @Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier5();}
|
|
|
+ @Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank5();}
|
|
|
+ @Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank5();}},
|
|
|
FOUR(4) {
|
|
|
- @Override public int getLevel() {return ADVANCED_CONFIG.getFishingTierLevelsTier4();}
|
|
|
- @Override public int getShakeChance() {return ADVANCED_CONFIG.getShakeChanceRank4();}
|
|
|
- @Override public int getVanillaXPBoostModifier() {return ADVANCED_CONFIG.getFishingVanillaXPModifierRank4();}},
|
|
|
+ @Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier4();}
|
|
|
+ @Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank4();}
|
|
|
+ @Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank4();}},
|
|
|
THREE(3) {
|
|
|
- @Override public int getLevel() {return ADVANCED_CONFIG.getFishingTierLevelsTier3();}
|
|
|
- @Override public int getShakeChance() {return ADVANCED_CONFIG.getShakeChanceRank3();}
|
|
|
- @Override public int getVanillaXPBoostModifier() {return ADVANCED_CONFIG.getFishingVanillaXPModifierRank3();}},
|
|
|
+ @Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier3();}
|
|
|
+ @Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank3();}
|
|
|
+ @Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank3();}},
|
|
|
TWO(2) {
|
|
|
- @Override public int getLevel() {return ADVANCED_CONFIG.getFishingTierLevelsTier2();}
|
|
|
- @Override public int getShakeChance() {return ADVANCED_CONFIG.getShakeChanceRank2();}
|
|
|
- @Override public int getVanillaXPBoostModifier() {return ADVANCED_CONFIG.getFishingVanillaXPModifierRank2();}},
|
|
|
+ @Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier2();}
|
|
|
+ @Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank2();}
|
|
|
+ @Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank2();}},
|
|
|
ONE(1) {
|
|
|
- @Override public int getLevel() {return ADVANCED_CONFIG.getFishingTierLevelsTier1();}
|
|
|
- @Override public int getShakeChance() {return ADVANCED_CONFIG.getShakeChanceRank1();}
|
|
|
- @Override public int getVanillaXPBoostModifier() {return ADVANCED_CONFIG.getFishingVanillaXPModifierRank1();}};
|
|
|
+ @Override public int getLevel() {return AdvancedConfig.getInstance().getFishingTierLevelsTier1();}
|
|
|
+ @Override public int getShakeChance() {return AdvancedConfig.getInstance().getShakeChanceRank1();}
|
|
|
+ @Override public int getVanillaXPBoostModifier() {return AdvancedConfig.getInstance().getFishingVanillaXPModifierRank1();}};
|
|
|
|
|
|
int numerical;
|
|
|
|
|
@@ -67,7 +64,7 @@ public final class Fishing {
|
|
|
}
|
|
|
|
|
|
// TODO: Get rid of that
|
|
|
- public static int fishermansDietRankLevel1 = ADVANCED_CONFIG.getFishermanDietRankChange();
|
|
|
+ public static int fishermansDietRankLevel1 = AdvancedConfig.getInstance().getFishermanDietRankChange();
|
|
|
public static int fishermansDietRankLevel2 = fishermansDietRankLevel1 * 2;
|
|
|
public static int fishermansDietMaxLevel = fishermansDietRankLevel1 * 5;
|
|
|
|
|
@@ -80,14 +77,13 @@ public final class Fishing {
|
|
|
* @param rankChange ???
|
|
|
* @param event Event to process
|
|
|
*/
|
|
|
- public static void beginFishermansDiet(Player player, int rankChange, FoodLevelChangeEvent event) {
|
|
|
+ public static int beginFishermansDiet(Player player, int rankChange, int eventFoodLevel) {
|
|
|
// TODO: The permission should probably not be checked here
|
|
|
- // TODO: Also I don't like the idea of moving event around
|
|
|
if (!Permissions.fishermansDiet(player)) {
|
|
|
- return;
|
|
|
+ return eventFoodLevel;
|
|
|
}
|
|
|
|
|
|
- SkillTools.handleFoodSkills(player, SkillType.FISHING, event, fishermansDietRankLevel1, fishermansDietMaxLevel, rankChange);
|
|
|
+ return SkillTools.handleFoodSkills(player, SkillType.FISHING, eventFoodLevel, fishermansDietRankLevel1, fishermansDietMaxLevel, rankChange);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -198,7 +194,7 @@ public final class Fishing {
|
|
|
activationChance = (int) (activationChance * 0.909);
|
|
|
}
|
|
|
|
|
|
- if (Misc.getRandom().nextInt(activationChance) > getLootTier(skillLevel) * ADVANCED_CONFIG.getFishingMagicMultiplier()) {
|
|
|
+ if (Misc.getRandom().nextInt(activationChance) > getLootTier(skillLevel) * AdvancedConfig.getInstance().getFishingMagicMultiplier()) {
|
|
|
return false;
|
|
|
}
|
|
|
|