package net.glowstone.constants;
import org.apache.commons.lang3.Validate;
import org.bukkit.block.Biome;
import java.util.Arrays;
import static org.bukkit.block.Biome.*;
/**
* Mappings for Biome id values.
*/
public final class GlowBiome {
private GlowBiome() {}
private static final int[] ids = new int[Biome.values().length];
private static final Biome[] biomes = new Biome[256];
/**
* Get the biome ID for a specified Biome.
* @param biome the Biome.
* @return the biome id, or -1
*/
public static int getId(Biome biome) {
Validate.notNull(biome, "Biome cannot be null");
return ids[biome.ordinal()];
}
/**
* Get the Biome for a specified id.
* @param id the id.
* @return the Biome, or null
*/
public static Biome getBiome(int id) {
return biomes[id];
}
private static void set(int id, Biome biome) {
ids[biome.ordinal()] = id;
biomes[id] = biome;
}
static {
Arrays.fill(ids, -1);
set(0, OCEAN);
set(1, PLAINS);
set(2, DESERT);
set(3, EXTREME_HILLS);
set(4, FOREST);
set(5, TAIGA);
set(6, SWAMPLAND);
set(7, RIVER);
set(8, HELL);
set(9, SKY);
set(10, FROZEN_OCEAN);
set(11, FROZEN_RIVER);
set(12, ICE_PLAINS);
set(13, ICE_MOUNTAINS);
set(14, MUSHROOM_ISLAND);
set(15, MUSHROOM_SHORE);
set(16, BEACH);
set(17, DESERT_HILLS);
set(18, FOREST_HILLS);
set(19, TAIGA_HILLS);
set(20, SMALL_MOUNTAINS); // EXTREME_HILLS_EDGE
set(21, JUNGLE);
set(22, JUNGLE_HILLS);
set(23, JUNGLE_EDGE);
set(24, DEEP_OCEAN);
set(25, STONE_BEACH);
set(26, COLD_BEACH);
set(27, BIRCH_FOREST);
set(28, BIRCH_FOREST_HILLS);
set(29, ROOFED_FOREST);
set(30, COLD_TAIGA);
set(31, COLD_TAIGA_HILLS);
set(32, MEGA_TAIGA);
set(33, MEGA_TAIGA_HILLS);
set(34, EXTREME_HILLS_PLUS);
set(35, SAVANNA);
set(36, SAVANNA_PLATEAU);
set(37, MESA);
set(38, MESA_PLATEAU_FOREST);
set(39, MESA_PLATEAU);
set(129, SUNFLOWER_PLAINS);
set(130, DESERT_MOUNTAINS);
set(131, EXTREME_HILLS_MOUNTAINS);
set(132, FLOWER_FOREST);
set(133, TAIGA_MOUNTAINS);
set(134, SWAMPLAND_MOUNTAINS);
set(140, ICE_PLAINS_SPIKES);
set(149, JUNGLE_MOUNTAINS);
set(151, JUNGLE_EDGE_MOUNTAINS);
set(155, BIRCH_FOREST_MOUNTAINS);
set(156, BIRCH_FOREST_HILLS_MOUNTAINS);
set(157, ROOFED_FOREST_MOUNTAINS);
set(158, COLD_TAIGA_MOUNTAINS);
set(160, MEGA_SPRUCE_TAIGA);
set(161, MEGA_SPRUCE_TAIGA_HILLS);
set(162, EXTREME_HILLS_PLUS_MOUNTAINS);
set(163, SAVANNA_MOUNTAINS);
set(164, SAVANNA_PLATEAU_MOUNTAINS);
set(165, MESA_BRYCE);
set(166, MESA_PLATEAU_FOREST_MOUNTAINS);
set(167, MESA_PLATEAU_MOUNTAINS);
}
}