summary refs log tree commit diff
path: root/src/World
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2023-07-07 23:07:03 +0200
committerMel <einebeere@gmail.com>2023-07-07 23:15:01 +0200
commitf16a75e299e466073a3886aa3a4d0371b523ad04 (patch)
tree81e411c42be98d934872f3a6394d7c949424abb9 /src/World
parent27e590f716f063f603e170f6fc9dd66b8fc099ff (diff)
downloadmeowcraft-f16a75e299e466073a3886aa3a4d0371b523ad04.tar.zst
meowcraft-f16a75e299e466073a3886aa3a4d0371b523ad04.zip
Add biomes and give them string names
Diffstat (limited to 'src/World')
-rw-r--r--src/World/BiomeType.hpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/World/BiomeType.hpp b/src/World/BiomeType.hpp
index 2e3d8c6..40583d9 100644
--- a/src/World/BiomeType.hpp
+++ b/src/World/BiomeType.hpp
@@ -2,6 +2,7 @@
 
 #include <cstdint>
 #include <vector>
+#include <string>
 
 namespace MC::World {
 
@@ -11,9 +12,11 @@ public:
         Plains,
         Forest,
         Alpine,
+        RockyPeaks,
         Desert,
         Jungle,
         Beach,
+        Shore,
         River,
         Ocean,
     };
@@ -26,11 +29,27 @@ public:
     operator Value() const { return m_biome; }
 
     static std::vector<BiomeType> all() {
-        return { Plains, Forest, Alpine, Desert, Jungle, Beach, River, Ocean };
+        return { Plains, Forest, Alpine, RockyPeaks, Desert, Jungle, Beach, Shore, River, Ocean };
     }
 
     static std::vector<BiomeType> all_ground() {
-        return { Plains, Forest, Alpine, Desert, Jungle, Beach };
+        return { Plains, Forest, Alpine, RockyPeaks, Desert, Jungle, Beach, Shore };
+    }
+
+    std::string string() const {
+        switch (m_biome) {
+        case Plains:    return "Plains";
+        case Forest:    return "Forest";
+        case Alpine:    return "Alpine";
+        case RockyPeaks:return "Rocky Peaks";
+        case Desert:    return "Desert";
+        case Jungle:    return "Jungle";
+        case Beach:     return "Beach";
+        case Shore:     return "Shore";
+        case River:     return "River";
+        case Ocean:     return "Ocean";
+        default:        return "Unknown Biome";
+        }
     }
 
 private: