summary refs log tree commit diff
path: root/src/World/Generator.hpp
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-10-31 06:24:34 +0100
committerMel <einebeere@gmail.com>2022-10-31 06:24:34 +0100
commit23b0bc4d1ddc9fad3c32e8257497ddd13ac6a155 (patch)
tree16ac3e0fa2964f026c857daa4ff6f0ca11520d46 /src/World/Generator.hpp
parent1b2b0069c9b7ad73c6cc6663b020d0fd894f4567 (diff)
downloadmeowcraft-23b0bc4d1ddc9fad3c32e8257497ddd13ac6a155.tar.zst
meowcraft-23b0bc4d1ddc9fad3c32e8257497ddd13ac6a155.zip
Proto biomes and new blocks
Diffstat (limited to 'src/World/Generator.hpp')
-rw-r--r--src/World/Generator.hpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/World/Generator.hpp b/src/World/Generator.hpp
index 479089f..f184ff9 100644
--- a/src/World/Generator.hpp
+++ b/src/World/Generator.hpp
@@ -2,6 +2,7 @@
 
 #include <cstdint>
 #include "Chunk.hpp"
+#include "BiomeType.hpp"
 
 namespace MC::World {
 
@@ -10,6 +11,22 @@ public:
     Generator() = default;
 
     Chunk generate(int64_t chunk_x, int64_t chunk_y);
+
+private:
+    Matrix<Chunk::Width, Chunk::Width> ocean_weights_pass(
+            int64_t chunk_x, int64_t chunk_y
+    );
+    Matrix<Chunk::Width, Chunk::Width, Vector<BiomeType::Size>> biome_weights_pass(
+            int64_t chunk_x, int64_t chunk_y,
+            Matrix<Chunk::Width, Chunk::Width> ocean_weight
+    );
+    Matrix<Chunk::Width, Chunk::Width> height_pass(
+            int64_t chunk_x, int64_t chunk_y,
+            Matrix<Chunk::Width, Chunk::Width, Vector<BiomeType::Size>> biome_weights
+    );
+    Matrix<Chunk::Width, Chunk::Width, BiomeType> flat_biome_pass(
+            Matrix<Chunk::Width, Chunk::Width, Vector<BiomeType::Size>> biome_weights
+    );
 };
 
 }