use super::tokens::Biome;
pub static BIOME_TOKENS: phf::Map<&'static str, Biome> = phf::phf_map! {
"MOUNTAIN" => Biome::Mountain,
"MOUNTAINS" => Biome::Mountains,
"GLACIER" => Biome::Glacier,
"TUNDRA" => Biome::Tundra,
"SWAMP_TEMPERATE_FRESHWATER" => Biome::SwampTemperateFreshwater,
"SWAMP_TEMPERATE_SALTWATER" => Biome::SwampTemperateSaltwater,
"MARSH_TEMPERATE_FRESHWATER" => Biome::MarshTemperateFreshwater,
"MARSH_TEMPERATE_SALTWATER" => Biome::MarshTemperateSaltwater,
"SWAMP_TROPICAL_FRESHWATER" => Biome::SwampTropicalFreshwater,
"SWAMP_TROPICAL_SALTWATER" => Biome::SwampTropicalSaltwater,
"SWAMP_MANGROVE" => Biome::SwampMangrove,
"MARSH_TROPICAL_FRESHWATER" => Biome::MarshTropicalFreshwater,
"MARSH_TROPICAL_SALTWATER" => Biome::MarshTropicalSaltwater,
"FOREST_TAIGA" => Biome::ForestTaiga,
"TAIGA" => Biome::Taiga,
"FOREST_TEMPERATE_CONIFER" => Biome::ForestTemperateConifer,
"FOREST_TEMPERATE_BROADLEAF" => Biome::ForestTemperateBroadleaf,
"FOREST_TROPICAL_CONIFER" => Biome::ForestTropicalConifer,
"FOREST_TROPICAL_DRY_BROADLEAF" => Biome::ForestTropicalDryBroadleaf,
"FOREST_TROPICAL_MOIST_BROADLEAF" => Biome::ForestTropicalMoistBroadleaf,
"GRASSLAND_TEMPERATE" => Biome::GrasslandTemperate,
"SAVANNA_TEMPERATE" => Biome::SavannaTemperate,
"SHRUBLAND_TEMPERATE" => Biome::ShrublandTemperate,
"GRASSLAND_TROPICAL" => Biome::GrasslandTropical,
"SAVANNA_TROPICAL" => Biome::SavannaTropical,
"SHRUBLAND_TROPICAL" => Biome::ShrublandTropical,
"DESERT_BADLAND" => Biome::DesertBadland,
"DESERT_ROCK" => Biome::DesertRock,
"DESERT_SAND" => Biome::DesertSand,
"OCEAN_TROPICAL" => Biome::OceanTropical,
"OCEAN_TEMPERATE" => Biome::OceanTemperate,
"OCEAN_ARCTIC" => Biome::OceanArctic,
"POOL_TEMPERATE_FRESHWATER" => Biome::PoolTemperateFreshwater,
"POOL_TEMPERATE_BRACKISHWATER" => Biome::PoolTemperateBrackishwater,
"POOL_TEMPERATE_SALTWATER" => Biome::PoolTemperateSaltwater,
"POOL_TROPICAL_FRESHWATER" => Biome::PoolTropicalFreshwater,
"POOL_TROPICAL_BRACKISHWATER" => Biome::PoolTropicalBrackishwater,
"POOL_TROPICAL_SALTWATER" => Biome::PoolTropicalSaltwater,
"LAKE_TEMPERATE_FRESHWATER" => Biome::LakeTemperateFreshwater,
"LAKE_TEMPERATE_BRACKISHWATER" => Biome::LakeTemperateBrackishwater,
"LAKE_TEMPERATE_SALTWATER" => Biome::LakeTemperateSaltwater,
"LAKE_TROPICAL_FRESHWATER" => Biome::LakeTropicalFreshwater,
"LAKE_TROPICAL_BRACKISHWATER" => Biome::LakeTropicalBrackishwater,
"LAKE_TROPICAL_SALTWATER" => Biome::LakeTropicalSaltwater,
"RIVER_TEMPERATE_FRESHWATER" => Biome::RiverTemperateFreshwater,
"RIVER_TEMPERATE_BRACKISHWATER" => Biome::RiverTemperateBrackishwater,
"RIVER_TEMPERATE_SALTWATER" => Biome::RiverTemperateSaltwater,
"RIVER_TROPICAL_FRESHWATER" => Biome::RiverTropicalFreshwater,
"RIVER_TROPICAL_BRACKISHWATER" => Biome::RiverTropicalBrackishwater,
"RIVER_TROPICAL_SALTWATER" => Biome::RiverTropicalSaltwater,
"SUBTERRANEAN_WATER" => Biome::SubterraneanWater,
"SUBTERRANEAN_CHASM" => Biome::SubterraneanChasm,
"SUBTERRANEAN_LAVA" => Biome::SubterraneanLava,
"ALL_MAIN" => Biome::AllMain,
"ANY_LAND" => Biome::AnyLand,
"ANY_OCEAN" => Biome::AnyOcean,
"ANY_LAKE" => Biome::AnyLake,
"ANY_TEMPERATE_LAKE" => Biome::AnyTemperateLake,
"ANY_TROPICAL_LAKE" => Biome::AnyTropicalLake,
"ANY_RIVER" => Biome::AnyRiver,
"ANY_TEMPERATE_RIVER" => Biome::AnyTemperateRiver,
"ANY_TROPICAL_RIVER" => Biome::AnyTropicalRiver,
"ANY_POOL" => Biome::AnyPool,
"NOT_FREEZING" => Biome::NotFreezing,
"ANY_TEMPERATE" => Biome::AnyTemperate,
"ANY_TROPICAL" => Biome::AnyTropical,
"ANY_FOREST" => Biome::AnyForest,
"ANY_SHRUBLAND" => Biome::AnyShrubland,
"ANY_GRASSLAND" => Biome::AnyGrassland,
"ANY_SAVANNA" => Biome::AnySavanna,
"ANY_TEMPERATE_FOREST" => Biome::AnyTemperateForest,
"ANY_TROPICAL_FOREST" => Biome::AnyTropicalForest,
"ANY_TEMPERATE_BROADLEAF" => Biome::AnyTemperateBroadleaf,
"ANY_TROPICAL_BROADLEAF" => Biome::AnyTropicalBroadleaf,
"ANY_WETLAND" => Biome::AnyWetland,
"ANY_TEMPERATE_WETLAND" => Biome::AnyTemperateWetland,
"ANY_TROPICAL_WETLAND" => Biome::AnyTropicalWetland,
"ANY_TROPICAL_MARSH" => Biome::AnyTropicalMarsh,
"ANY_TEMPERATE_MARSH" => Biome::AnyTemperateMarsh,
"ANY_TROPICAL_SWAMP" => Biome::AnyTropicalSwamp,
"ANY_TEMPERATE_SWAMP" => Biome::AnyTemperateSwamp,
"ANY_DESERT" => Biome::AnyDesert,
};
impl std::fmt::Display for Biome {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::Mountain => write!(f, "Mountain"),
Self::Mountains => write!(f, "Mountains"),
Self::Glacier => write!(f, "Glacier"),
Self::Tundra => write!(f, "Tundra"),
Self::SwampTemperateFreshwater => write!(f, "Temperate Freshwater Swamp"),
Self::SwampTemperateSaltwater => write!(f, "Temperate Saltwater Swamp"),
Self::MarshTemperateFreshwater => write!(f, "Temperate Freshwater Marsh"),
Self::MarshTemperateSaltwater => write!(f, "Temperate Saltwater Marsh"),
Self::SwampTropicalFreshwater => write!(f, "Tropical Freshwater Swamp"),
Self::SwampTropicalSaltwater => write!(f, "Tropical Saltwater Swamp"),
Self::SwampMangrove => write!(f, "Mangrove Swamp"),
Self::MarshTropicalFreshwater => write!(f, "Tropical Freshwater Marsh"),
Self::MarshTropicalSaltwater => write!(f, "Tropical Saltwater Marsh"),
Self::ForestTaiga => write!(f, "Taiga Forest"),
Self::Taiga => write!(f, "Taiga"),
Self::ForestTemperateConifer => write!(f, "Temperate Coniferous Forest"),
Self::ForestTemperateBroadleaf => write!(f, "Temperate Broadleaf Forest"),
Self::ForestTropicalConifer => write!(f, "Tropical Coniferous Forest"),
Self::ForestTropicalDryBroadleaf => write!(f, "Tropical Dry Broadleaf Forest"),
Self::ForestTropicalMoistBroadleaf => write!(f, "Tropical Moist Broadleaf Forest"),
Self::GrasslandTemperate => write!(f, "Temperate Grassland"),
Self::SavannaTemperate => write!(f, "Temperate Savanna"),
Self::ShrublandTemperate => write!(f, "Temperate Shrubland"),
Self::GrasslandTropical => write!(f, "Tropical Grassland"),
Self::SavannaTropical => write!(f, "Tropical Savanna"),
Self::ShrublandTropical => write!(f, "Tropical Shrubland"),
Self::DesertBadland => write!(f, "Badlands"),
Self::DesertRock => write!(f, "Rocky Wasteland"),
Self::DesertSand => write!(f, "Sand Desert"),
Self::OceanTropical => write!(f, "Tropical Ocean"),
Self::OceanTemperate => write!(f, "Temperate Ocean"),
Self::OceanArctic => write!(f, "Arctic Ocean"),
Self::PoolTemperateFreshwater => write!(f, "Temperate Freshwater Pool"),
Self::PoolTemperateBrackishwater => write!(f, "Temperate Brackish Pool"),
Self::PoolTemperateSaltwater => write!(f, "Temperate Saltwater Pool"),
Self::PoolTropicalFreshwater => write!(f, "Tropical Freshwater Pool"),
Self::PoolTropicalBrackishwater => write!(f, "Tropical Brackish Pool"),
Self::PoolTropicalSaltwater => write!(f, "Tropical Saltwater Pool"),
Self::LakeTemperateFreshwater => write!(f, "Temperate Freshwater Lake"),
Self::LakeTemperateBrackishwater => write!(f, "Temperate Brackish Lake"),
Self::LakeTemperateSaltwater => write!(f, "Temperate Saltwater Lake"),
Self::LakeTropicalFreshwater => write!(f, "Tropical Freshwater Lake"),
Self::LakeTropicalBrackishwater => write!(f, "Tropical Brackish Lake"),
Self::LakeTropicalSaltwater => write!(f, "Tropical Saltwater Lake"),
Self::RiverTemperateFreshwater => write!(f, "Temperate Freshwater River"),
Self::RiverTemperateBrackishwater => write!(f, "Temperate Brackish River"),
Self::RiverTemperateSaltwater => write!(f, "Temperate Saltwater River"),
Self::RiverTropicalFreshwater => write!(f, "Tropical Freshwater River"),
Self::RiverTropicalBrackishwater => write!(f, "Tropical Brackish River"),
Self::RiverTropicalSaltwater => write!(f, "Tropical Saltwater River"),
Self::SubterraneanWater => write!(f, "Underground caverns (in water)"),
Self::SubterraneanChasm => write!(f, "Underground caverns (out of water)"),
Self::SubterraneanLava => write!(f, "Magma sea"),
Self::AllMain => write!(f, "All biomes excluding pools, rivers, and underground features"),
Self::AnyLand => write!(f, "All main biomes excluding oceans and lakes"),
Self::AnyOcean => write!(f, "All ocean biomes"),
Self::AnyLake => write!(f, "All lake biomes"),
Self::AnyTemperateLake => write!(f, "All temperate lake biomes"),
Self::AnyTropicalLake => write!(f, "All tropical lake biomes"),
Self::AnyRiver => write!(f, "All river biomes"),
Self::AnyTemperateRiver => write!(f, "All temperate river biomes"),
Self::AnyTropicalRiver => write!(f, "All tropical river biomes"),
Self::AnyPool => write!(f, "All pool biomes"),
Self::NotFreezing => write!(f, "All land biomes excluding Mountain, Glacier, and Tundra"),
Self::AnyTemperate => write!(f, "All Temperate land biomes - marshes, swamps, forests, grassland, savanna, and shrubland"),
Self::AnyTropical => write!(f, "All Tropical land biomes - marshes, swamps (including Mangrove), forests, grassland, savanna, and shrubland"),
Self::AnyForest => write!(f, "All Forest biomes (excluding Taiga)"),
Self::AnyShrubland => write!(f, "Temperate and Tropical Shrubland"),
Self::AnyGrassland => write!(f, "Temperate and Tropical Grassland"),
Self::AnySavanna => write!(f, "Temperate and Tropical Savanna"),
Self::AnyTemperateForest => write!(f, "Temperate Coniferous and Broadleaf Forests"),
Self::AnyTropicalForest => write!(f, "Tropical Coniferous and Dry/Moist Broadleaf Forests"),
Self::AnyTemperateBroadleaf => write!(f, "Temperate Broadleaf Forest, Grassland/Savanna/Shrubland, Swamps, and Marshes"),
Self::AnyTropicalBroadleaf => write!(f, "Tropical Dry/Moist Broadleaf Forest, Grassland/Savanna/Shrubland, Swamps (including Mangrove), and Marshes"),
Self::AnyWetland => write!(f, "All swamps and marshes"),
Self::AnyTemperateWetland => write!(f, "All temperate swamps and marshes"),
Self::AnyTropicalWetland => write!(f, "All tropical swamps and marshes"),
Self::AnyTropicalMarsh => write!(f, "All tropical marshes"),
Self::AnyTemperateMarsh => write!(f, "All temperate marshes"),
Self::AnyTropicalSwamp => write!(f, "All tropical swamps (including Mangrove)"),
Self::AnyTemperateSwamp => write!(f, "All temperate swamps"),
Self::AnyDesert => write!(f, "Badlands, Rocky Wasteland, and Sand Desert"),
Self::Unknown => write!(f, "Unknown"),
}
}
}