summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/BiomeDef.cpp62
-rw-r--r--src/BiomeDef.h9
2 files changed, 71 insertions, 0 deletions
diff --git a/src/BiomeDef.cpp b/src/BiomeDef.cpp
index 02f8c2232..188e06173 100644
--- a/src/BiomeDef.cpp
+++ b/src/BiomeDef.cpp
@@ -160,3 +160,65 @@ bool IsBiomeNoDownfall(EMCSBiome a_Biome)
}
}
}
+
+
+
+
+
+bool IsBiomeVeryCold(EMCSBiome a_Biome)
+{
+ switch (a_Biome)
+ {
+ case biFrozenOcean:
+ case biFrozenRiver:
+ case biIcePlains:
+ case biIceMountains:
+ case biColdBeach:
+ case biColdTaiga:
+ case biColdTaigaHills:
+ case biIcePlainsSpikes:
+ case biColdTaigaM:
+ {
+ return true;
+ }
+ default:
+ {
+ return false;
+ }
+ }
+}
+
+
+
+
+bool IsBiomeCold(EMCSBiome a_Biome)
+{
+ switch (a_Biome)
+ {
+ case biExtremeHills:
+ case biTaiga:
+ case biTaigaHills:
+ case biExtremeHillsEdge:
+ case biStoneBeach:
+ case biMegaTaiga:
+ case biMegaTaigaHills:
+ case biExtremeHillsPlus:
+ case biExtremeHillsM:
+ case biTaigaM:
+ case biColdTaigaM:
+ case biMegaSpruceTaiga:
+ case biMegaSpruceTaigaHills:
+ case biExtremeHillsPlusM:
+ {
+ return true;
+ }
+ default:
+ {
+ return false;
+ }
+ }
+}
+
+
+
+
diff --git a/src/BiomeDef.h b/src/BiomeDef.h
index f929596e9..dfab50663 100644
--- a/src/BiomeDef.h
+++ b/src/BiomeDef.h
@@ -113,5 +113,14 @@ extern AString BiomeToString(int a_Biome);
/** Returns true if the biome has no downfall - deserts and savannas */
extern bool IsBiomeNoDownfall(EMCSBiome a_Biome);
+/** Returns true if the biome is very cold
+(has snow on ground everywhere, turns top water to ice, has snowfall instead of rain everywhere).
+Doesn't report mildly cold biomes (where it snows above certain elevation), use IsBiomeCold() for those. */
+extern bool IsBiomeVeryCold(EMCSBiome a_Biome);
+
+/** Returns true if the biome is cold
+(has snow and snowfall at higher elevations but not at regular heights).
+Doesn't report Very Cold biomes, use IsBiomeVeryCold() for those. */
+extern bool IsBiomeCold(EMCSBiome a_Biome);
// tolua_end