summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/BiomeDef.cpp24
-rw-r--r--src/BiomeDef.h3
-rw-r--r--src/Generating/FinishGen.cpp21
3 files changed, 48 insertions, 0 deletions
diff --git a/src/BiomeDef.cpp b/src/BiomeDef.cpp
index ebb45f5e9..f56d9c815 100644
--- a/src/BiomeDef.cpp
+++ b/src/BiomeDef.cpp
@@ -246,6 +246,30 @@ bool IsBiomeMountain(EMCSBiome a_Biome)
+bool IsBiomeMesa(EMCSBiome a_Biome)
+{
+ switch (a_Biome)
+ {
+ case biMesa:
+ case biMesaPlateauF:
+ case biMesaPlateau:
+ case biMesaBryce:
+ case biMesaPlateauFM:
+ case biMesaPlateauM:
+ {
+ return true;
+ }
+ default:
+ {
+ return false;
+ }
+ }
+}
+
+
+
+
+
int GetSnowStartHeight(EMCSBiome a_Biome)
{
switch (a_Biome)
diff --git a/src/BiomeDef.h b/src/BiomeDef.h
index 888e3bb19..f8dea3e9f 100644
--- a/src/BiomeDef.h
+++ b/src/BiomeDef.h
@@ -154,6 +154,9 @@ extern bool IsBiomeCold(EMCSBiome a_Biome);
/** Returns true if the biome is mountainous (mutations of the extreme hills biome) */
extern bool IsBiomeMountain(EMCSBiome a_Biome);
+/** Returns true if the biome is Mesa or one of its mutations. */
+extern bool IsBiomeMesa(EMCSBiome a_Biome);
+
/** Returns the height when a biome when a biome starts snowing. */
extern int GetSnowStartHeight(EMCSBiome a_Biome);
diff --git a/src/Generating/FinishGen.cpp b/src/Generating/FinishGen.cpp
index 90c3e6ea4..f9315333b 100644
--- a/src/Generating/FinishGen.cpp
+++ b/src/Generating/FinishGen.cpp
@@ -1769,6 +1769,27 @@ void cFinishGenOreNests::GenerateOre(
}
}
+ // Gold ores are generated more often in Mesa-Type-Biomes:
+ // https://minecraft.gamepedia.com/Gold_Ore
+ if (a_OreType == E_BLOCK_GOLD_ORE)
+ {
+ auto BiomeSampleOne = a_ChunkDesc.GetBiome( 4, 4);
+ auto BiomeSampleTwo = a_ChunkDesc.GetBiome( 4, 12);
+ auto BiomeSampleThree = a_ChunkDesc.GetBiome(12, 4);
+ auto BiomeSampleFour = a_ChunkDesc.GetBiome(12, 12);
+
+ if (
+ IsBiomeMesa(BiomeSampleOne) ||
+ IsBiomeMesa(BiomeSampleTwo) ||
+ IsBiomeMesa(BiomeSampleThree) ||
+ IsBiomeMesa(BiomeSampleFour)
+ )
+ {
+ a_MaxHeight = 76;
+ a_NumNests = 22; // 2 time default + 20 times mesa bonus
+ }
+ }
+
auto chunkX = a_ChunkDesc.GetChunkX();
auto chunkZ = a_ChunkDesc.GetChunkZ();
auto & blockTypes = a_ChunkDesc.GetBlockTypes();