package amidst.minecraft;
import java.util.HashMap;
import amidst.Util;
public class Biome {
public static final HashMap<String,Biome> biomeMap = new HashMap<String,Biome>();
public static final BiomeType typeA = new BiomeType(0.1F, 0.2F);
public static final BiomeType typeB = new BiomeType(-0.5F, 0.0F);
public static final BiomeType typeC = new BiomeType(-1.0F, 0.1F);
public static final BiomeType typeD = new BiomeType(-1.8F, 0.1F);
public static final BiomeType typeE = new BiomeType(0.125F, 0.05F);
public static final BiomeType typeF = new BiomeType(0.2F, 0.2F);
public static final BiomeType typeG = new BiomeType(0.45F, 0.3F);
public static final BiomeType typeH = new BiomeType(1.5F, 0.025F);
public static final BiomeType typeI = new BiomeType(1.0F, 0.5F);
public static final BiomeType typeJ = new BiomeType(0.0F, 0.025F);
public static final BiomeType typeK = new BiomeType(0.1F, 0.8F);
public static final BiomeType typeL = new BiomeType(0.2F, 0.3F);
public static final BiomeType typeM = new BiomeType(-0.2F, 0.1F);
public static final Biome[] biomes = new Biome[256];
public static final Biome ocean = new Biome("Ocean", 0, Util.makeColor(0, 0, 112), typeC);
public static final Biome plains = new Biome("Plains", 1, Util.makeColor(141, 179, 96), typeA);
public static final Biome desert = new Biome("Desert", 2, Util.makeColor(250, 148, 24), typeE);
public static final Biome extremeHills = new Biome("Extreme Hills", 3, Util.makeColor(96, 96, 96), typeI);
public static final Biome forest = new Biome("Forest", 4, Util.makeColor(5, 102, 33), typeA);
public static final Biome taiga = new Biome("Taiga", 5, Util.makeColor(11, 102, 89), typeF);
public static final Biome swampland = new Biome("Swampland", 6, Util.makeColor(7, 249, 178), typeM);
public static final Biome river = new Biome("River", 7, Util.makeColor(0, 0, 255), typeB);
public static final Biome hell = new Biome("Hell", 8, Util.makeColor(255, 0, 0), typeA);
public static final Biome sky = new Biome("Sky", 9, Util.makeColor(128, 128, 255), typeA);
public static final Biome frozenOcean = new Biome("Frozen Ocean", 10, Util.makeColor(144, 144, 160), typeC);
public static final Biome frozenRiver = new Biome("Frozen River", 11, Util.makeColor(160, 160, 255), typeB);
public static final Biome icePlains = new Biome("Ice Plains", 12, Util.makeColor(255, 255, 255), typeE);
public static final Biome iceMountains = new Biome("Ice Mountains", 13, Util.makeColor(160, 160, 160), typeG);
public static final Biome mushroomIsland = new Biome("Mushroom Island", 14, Util.makeColor(255, 0, 255), typeL);
public static final Biome mushroomIslandShore = new Biome("Mushroom Island Shore", 15, Util.makeColor(160, 0, 255), typeJ);
public static final Biome beach = new Biome("Beach", 16, Util.makeColor(250, 222, 85), typeJ);
public static final Biome desertHills = new Biome("Desert Hills", 17, Util.makeColor(210, 95, 18), typeG);
public static final Biome forestHills = new Biome("Forest Hills", 18, Util.makeColor(34, 85, 28), typeG);
public static final Biome taigaHills = new Biome("Taiga Hills", 19, Util.makeColor(22, 57, 51), typeG);
public static final Biome extremeHillsEdge = new Biome("Extreme Hills Edge", 20, Util.makeColor(114, 120, 154), typeI.getExtreme());
public static final Biome jungle = new Biome("Jungle", 21, Util.makeColor(83, 123, 9), typeA);
public static final Biome jungleHills = new Biome("Jungle Hills", 22, Util.makeColor(44, 66, 5), typeG);
public static final Biome jungleEdge = new Biome("Jungle Edge", 23, Util.makeColor(98, 139, 23), typeA);
public static final Biome deepOcean = new Biome("Deep Ocean", 24, Util.makeColor(0, 0, 48), typeD);
public static final Biome stoneBeach = new Biome("Stone Beach", 25, Util.makeColor(162, 162, 132), typeK);
public static final Biome coldBeach = new Biome("Cold Beach", 26, Util.makeColor(250, 240, 192), typeJ);
public static final Biome birchForest = new Biome("Birch Forest", 27, Util.makeColor(48, 116, 68), typeA);
public static final Biome birchForestHills = new Biome("Birch Forest Hills", 28, Util.makeColor(31, 95, 50), typeG);
public static final Biome roofedForest = new Biome("Roofed Forest", 29, Util.makeColor(64, 81, 26), typeA);
public static final Biome coldTaiga = new Biome("Cold Taiga", 30, Util.makeColor(49, 85, 74), typeF);
public static final Biome coldTaigaHills = new Biome("Cold Taiga Hills", 31, Util.makeColor(36, 63, 54), typeG);
public static final Biome megaTaiga = new Biome("Mega Taiga", 32, Util.makeColor(89, 102, 81), typeF);
public static final Biome megaTaigaHills = new Biome("Mega Taiga Hills", 33, Util.makeColor(69, 79, 62), typeG);
public static final Biome extremeHillsPlus = new Biome("Extreme Hills+", 34, Util.makeColor(80, 112, 80), typeI);
public static final Biome savanna = new Biome("Savanna", 35, Util.makeColor(189, 178, 95), typeE);
public static final Biome savannaPlateau = new Biome("Savanna Plateau", 36, Util.makeColor(167, 157, 100), typeH);
public static final Biome mesa = new Biome("Mesa", 37, Util.makeColor(217, 69, 21), typeA);
public static final Biome mesaPlateauF = new Biome("Mesa Plateau F", 38, Util.makeColor(176, 151, 101), typeH);
public static final Biome mesaPlateau = new Biome("Mesa Plateau", 39, Util.makeColor(202, 140, 101), typeH);
public static final Biome oceanM = new Biome("Ocean M", 128, Util.makeColor(0, 0, 112));
public static final Biome sunflowerPlains = new Biome("Sunflower Plains", 129, Util.makeColor(141, 179, 96));
public static final Biome desertM = new Biome("Desert M", 130, Util.makeColor(250, 148, 24));
public static final Biome extremeHillsM = new Biome("Extreme Hills M", 131, Util.makeColor(96, 96, 96));
public static final Biome flowerForest = new Biome("Flower Forest", 132, Util.makeColor(5, 102, 33));
public static final Biome taigaM = new Biome("Taiga M", 133, Util.makeColor(11, 102, 89));
public static final Biome swamplandM = new Biome("Swampland M", 134, Util.makeColor(7, 249, 178));
public static final Biome riverM = new Biome("River M", 135, Util.makeColor(0, 0, 255));
public static final Biome hellM = new Biome("Hell M", 136, Util.makeColor(255, 0, 0));
public static final Biome skyM = new Biome("Sky M", 137, Util.makeColor(128, 128, 255));
public static final Biome frozenOceanM = new Biome("Frozen Ocean M", 138, Util.makeColor(144, 144, 160));
public static final Biome frozenRiverM = new Biome("Frozen River M", 139, Util.makeColor(160, 160, 255));
public static final Biome icePlainsSpikes = new Biome("Ice Plains Spikes", 140, Util.makeColor(140, 180, 180));
public static final Biome iceMountainsM = new Biome("Ice Mountains M", 141, Util.makeColor(160, 160, 160));
public static final Biome mushroomIslandM = new Biome("Mushroom Island M", 142, Util.makeColor(255, 0, 255));
public static final Biome mushroomIslandShoreM = new Biome("Mushroom Island Shore M", 143, Util.makeColor(160, 0, 255));
public static final Biome beachM = new Biome("Beach M", 144, Util.makeColor(250, 222, 85));
public static final Biome desertHillsM = new Biome("Desert Hills M", 145, Util.makeColor(210, 95, 18));
public static final Biome forestHillsM = new Biome("Forest Hills M", 146, Util.makeColor(34, 85, 28));
public static final Biome taigaHillsM = new Biome("Taiga Hills M", 147, Util.makeColor(22, 57, 51));
public static final Biome extremeHillsEdgeM = new Biome("Extreme Hills Edge M", 148, Util.makeColor(114, 120, 154));
public static final Biome jungleM = new Biome("Jungle M", 149, Util.makeColor(83, 123, 9));
public static final Biome jungleHillsM = new Biome("Jungle Hills M", 150, Util.makeColor(44, 66, 5));
public static final Biome jungleEdgeM = new Biome("Jungle Edge M", 151, Util.makeColor(98, 139, 23));
public static final Biome deepOceanM = new Biome("Deep Ocean M", 152, Util.makeColor(0, 0, 48));
public static final Biome stoneBeachM = new Biome("Stone Beach M", 153, Util.makeColor(162, 162, 132));
public static final Biome coldBeachM = new Biome("Cold Beach M", 154, Util.makeColor(250, 240, 192));
public static final Biome birchForestM = new Biome("Birch Forest M", 155, Util.makeColor(48, 116, 68));
public static final Biome birchForestHillsM = new Biome("Birch Forest Hills M", 156, Util.makeColor(31, 95, 50));
public static final Biome roofedForestM = new Biome("Roofed Forest M", 157, Util.makeColor(64, 81, 26));
public static final Biome coldTaigaM = new Biome("Cold Taiga M", 158, Util.makeColor(49, 85, 74));
public static final Biome coldTaigaHillsM = new Biome("Cold Taiga Hills M", 159, Util.makeColor(36, 63, 54));
public static final Biome megaSpruceTaiga = new Biome("Mega Spruce Taiga", 160, Util.makeColor(89, 102, 81));
public static final Biome megaSpurceTaigaHills = new Biome("Mega Spruce Taiga (Hills)",161, Util.makeColor(69, 79, 62));
public static final Biome extremeHillsPlusM = new Biome("Extreme Hills+ M", 162, Util.makeColor(80, 112, 80));
public static final Biome savannaM = new Biome("Savanna M", 163, Util.makeColor(189, 178, 95));
public static final Biome savannaPlateauM = new Biome("Savanna Plateau M", 164, Util.makeColor(167, 157, 100));
public static final Biome mesaBryce = new Biome("Mesa (Bryce)", 165, Util.makeColor(217, 69, 21));
public static final Biome mesaPlateauFM = new Biome("Mesa Plateau F M", 166, Util.makeColor(176, 151, 101));
public static final Biome mesaPlateauM = new Biome("Mesa Plateau M", 167, Util.makeColor(202, 140, 101));
public String name;
public int index;
public int color;
public BiomeType type;
public Biome(String name, int index, int color, boolean remote) {
biomes[index] = this;
this.name = name;
this.index = index;
this.color = color;
this.type = typeC;
biomeMap.put(name, this);
}
public Biome(String name, int index, int color) {
this(name, index, color, biomes[index - 128].type.getRare());
}
public Biome(String name, int index, int color, BiomeType type) {
biomes[index] = this;
this.name = name;
this.index = index;
this.color = color;
this.type = type;
biomeMap.put(name, this);
if (index >= 128)
this.color = Util.lightenColor(color, 40);
}
@Override
public String toString() {
return "[Biome " + name + "]";
}
public static int indexFromName(String name) {
Biome biome = biomeMap.get(name);
if (biome != null)
return biome.index;
return -1;
}
public static final class BiomeType { // TODO: Rename once we figure out what this actually is!
public float value1, value2;
public BiomeType(float value1, float value2) {
this.value1 = value1;
this.value2 = value2;
}
public BiomeType getExtreme() {
return new BiomeType(value1 * 0.8F, value2 * 0.6F);
}
public BiomeType getRare(){
return new BiomeType(value1 + 0.1F, value2 + 0.2F);
}
}
}