diff --git a/pom.xml b/pom.xml index 21d59f98d..6e8d39384 100755 --- a/pom.xml +++ b/pom.xml @@ -53,8 +53,8 @@ maven-compiler-plugin 2.3.2 - 1.6 - 1.6 + 1.8 + 1.8 @@ -79,7 +79,7 @@ org.apache.maven.plugins maven-shade-plugin - 1.5 + 3.1.1 @@ -135,7 +135,7 @@ org.bukkit bukkit - 1.13-pre7-R0.1-SNAPSHOT + 1.13-R0.1-SNAPSHOT provided diff --git a/src/main/java/com/gmail/nossr50/util/adapter/BiomeAdapter.java b/src/main/java/com/gmail/nossr50/util/adapter/BiomeAdapter.java index adeeabfe2..d3e3111bd 100644 --- a/src/main/java/com/gmail/nossr50/util/adapter/BiomeAdapter.java +++ b/src/main/java/com/gmail/nossr50/util/adapter/BiomeAdapter.java @@ -1,73 +1,36 @@ package com.gmail.nossr50.util.adapter; -import java.util.ArrayList; -import java.util.EnumSet; -import java.util.List; -import java.util.Set; - import org.bukkit.block.Biome; -import com.gmail.nossr50.mcMMO; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.EnumSet; +import java.util.List; +import java.util.Set; public class BiomeAdapter { public static final Set WATER_BIOMES; public static final Set ICE_BIOMES; static { - List temp = new ArrayList(); - EnumSet set = null; - try { - temp.add(Biome.valueOf("RIVER")); - temp.add(Biome.valueOf("OCEAN")); - temp.add(Biome.valueOf("DEEP_OCEAN")); - } catch (Exception e) { - temp.clear(); - } finally { - try { - set = EnumSet.copyOf(temp); - } catch (IllegalArgumentException e) { - mcMMO.p.getLogger().severe("Biome enum mismatch");; + List allBiomes = Arrays.asList(Biome.values()); + List waterBiomes = new ArrayList(); + List iceBiomes = new ArrayList(); + for (Biome biome : allBiomes) { + if (isWater(biome.name()) && !isCold(biome.name())) { + waterBiomes.add(biome); + } else if (isCold(biome.name())) { + iceBiomes.add(biome); } - temp.clear(); } - WATER_BIOMES = set; - set = null; - try { - temp.add(Biome.valueOf("FROZEN_OCEAN")); - temp.add(Biome.valueOf("FROZEN_RIVER")); - temp.add(Biome.valueOf("TAIGA")); - temp.add(Biome.valueOf("TAIGA_HILLS")); - temp.add(Biome.valueOf("TAIGA_COLD_HILLS")); - temp.add(Biome.valueOf("TAIGA_COLD")); - temp.add(Biome.valueOf("MUTATED_TAIGA_COLD")); - temp.add(Biome.valueOf("ICE_MOUNTAINS")); - temp.add(Biome.valueOf("ICE_FLATS")); - temp.add(Biome.valueOf("MUTATED_ICE_FLATS")); - } catch (Exception e) { - temp.clear(); - try { - temp.add(Biome.valueOf("FROZEN_OCEAN")); - temp.add(Biome.valueOf("FROZEN_RIVER")); - temp.add(Biome.valueOf("TAIGA")); - temp.add(Biome.valueOf("TAIGA_HILLS")); - temp.add(Biome.valueOf("TAIGA_MOUNTAINS")); - temp.add(Biome.valueOf("COLD_TAIGA")); - temp.add(Biome.valueOf("COLD_TAIGA_HILLS")); - temp.add(Biome.valueOf("COLD_TAIGA_MOUNTAINS")); - temp.add(Biome.valueOf("ICE_MOUNTAINS")); - temp.add(Biome.valueOf("ICE_PLAINS")); - temp.add(Biome.valueOf("ICE_PLAINS_SPIKES")); - } catch (Exception e1) { - temp.clear(); - } - } finally { - try { - set = EnumSet.copyOf(temp); - } catch (IllegalArgumentException e) { - mcMMO.p.getLogger().severe("Biome enum mismatch");; - } - temp.clear(); - } - ICE_BIOMES = set; + WATER_BIOMES = EnumSet.copyOf(waterBiomes); + ICE_BIOMES = EnumSet.copyOf(iceBiomes); + } + + private static boolean isWater(String name) { + return name.contains("RIVER") || name.contains("OCEAN"); + } + private static boolean isCold(String name) { + return (name.contains("COLD") || name.contains("ICE") || name.contains("FROZEN") || name.contains("TAIGA")) && !(name.contains("WARM")); } }