Browse Source

Include new 1.7 biomes in fishing biome XP boost and Ice Fishing check

riking 11 năm trước cách đây
mục cha
commit
461871327b

+ 1 - 3
src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java

@@ -98,9 +98,7 @@ public class FishingCommand extends SkillCommand {
                 location = player.getLocation();
                 location = player.getLocation();
             }
             }
 
 
-            Biome biome = location.getBlock().getBiome();
-
-            if (biome == Biome.RIVER || biome == Biome.OCEAN) {
+            if (Fishing.masterAnglerBiomes.contains(location.getBlock().getBiome())) {
                 rawBiteChance = rawBiteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();
                 rawBiteChance = rawBiteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();
             }
             }
 
 

+ 10 - 0
src/main/java/com/gmail/nossr50/skills/fishing/Fishing.java

@@ -1,9 +1,12 @@
 package com.gmail.nossr50.skills.fishing;
 package com.gmail.nossr50.skills.fishing;
 
 
+import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Set;
 
 
 import org.bukkit.Material;
 import org.bukkit.Material;
+import org.bukkit.block.Biome;
 import org.bukkit.enchantments.Enchantment;
 import org.bukkit.enchantments.Enchantment;
 import org.bukkit.entity.LivingEntity;
 import org.bukkit.entity.LivingEntity;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.inventory.ItemStack;
@@ -54,6 +57,13 @@ public final class Fishing {
     public static int fishermansDietRankLevel2 = fishermansDietRankLevel1 * 2;
     public static int fishermansDietRankLevel2 = fishermansDietRankLevel1 * 2;
     public static int fishermansDietMaxLevel   = fishermansDietRankLevel1 * 5;
     public static int fishermansDietMaxLevel   = fishermansDietRankLevel1 * 5;
 
 
+    public static Set<Biome> masterAnglerBiomes = EnumSet.of(Biome.RIVER, Biome.OCEAN, Biome.DEEP_OCEAN);
+    public static Set<Biome> iceFishingBiomes = EnumSet.of(
+            Biome.FROZEN_OCEAN, Biome.FROZEN_RIVER,
+            Biome.TAIGA, Biome.TAIGA_HILLS, Biome.TAIGA_MOUNTAINS,
+            Biome.ICE_PLAINS, Biome.ICE_MOUNTAINS, Biome.ICE_PLAINS_SPIKES,
+            Biome.COLD_TAIGA, Biome.COLD_TAIGA_HILLS, Biome.COLD_TAIGA_MOUNTAINS);
+
     private Fishing() {}
     private Fishing() {}
 
 
     /**
     /**

+ 2 - 8
src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java

@@ -12,7 +12,6 @@ import org.bukkit.Material;
 import org.bukkit.Sound;
 import org.bukkit.Sound;
 import org.bukkit.WeatherType;
 import org.bukkit.WeatherType;
 import org.bukkit.World;
 import org.bukkit.World;
-import org.bukkit.block.Biome;
 import org.bukkit.block.Block;
 import org.bukkit.block.Block;
 import org.bukkit.block.BlockFace;
 import org.bukkit.block.BlockFace;
 import org.bukkit.enchantments.Enchantment;
 import org.bukkit.enchantments.Enchantment;
@@ -70,7 +69,6 @@ public class FishingManager extends SkillManager {
     private Location fishingTarget;
     private Location fishingTarget;
     private Item fishingCatch;
     private Item fishingCatch;
     private Location hookLocation;
     private Location hookLocation;
-
     public FishingManager(McMMOPlayer mcMMOPlayer) {
     public FishingManager(McMMOPlayer mcMMOPlayer) {
         super(mcMMOPlayer, SkillType.FISHING);
         super(mcMMOPlayer, SkillType.FISHING);
     }
     }
@@ -198,10 +196,7 @@ public class FishingManager extends SkillManager {
         }
         }
 
 
         // Make sure this is a body of water, not just a block of ice.
         // Make sure this is a body of water, not just a block of ice.
-        Biome biome = block.getBiome();
-        boolean isFrozenBiome = (biome == Biome.FROZEN_OCEAN || biome == Biome.FROZEN_RIVER || biome == Biome.TAIGA || biome == Biome.TAIGA_HILLS || biome == Biome.ICE_PLAINS || biome == Biome.ICE_MOUNTAINS);
-
-        if (!isFrozenBiome && (block.getRelative(BlockFace.DOWN, 3).getType() != Material.STATIONARY_WATER)) {
+        if (!Fishing.iceFishingBiomes.contains(block.getBiome()) && (block.getRelative(BlockFace.DOWN, 3).getType() != Material.STATIONARY_WATER)) {
             return false;
             return false;
         }
         }
 
 
@@ -281,12 +276,11 @@ public class FishingManager extends SkillManager {
     public void masterAngler(Fish hook) {
     public void masterAngler(Fish hook) {
         Player player = getPlayer();
         Player player = getPlayer();
         Location location = hook.getLocation();
         Location location = hook.getLocation();
-        Biome biome = location.getBlock().getBiome();
         double biteChance = hook.getBiteChance();
         double biteChance = hook.getBiteChance();
 
 
         hookLocation = location;
         hookLocation = location;
 
 
-        if (biome == Biome.RIVER || biome == Biome.OCEAN) {
+        if (Fishing.masterAnglerBiomes.contains(location.getBlock().getBiome())) {
             biteChance = biteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();
             biteChance = biteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();
         }
         }