#pragma once #include #include namespace MC::World { class BiomeType { public: enum Value : uint8_t { Forest, Plains, Desert, Ocean, }; static constexpr const size_t Size = 4; BiomeType() = default; BiomeType(Value biome) : m_biome(biome) {} operator Value() const { return m_biome; } static std::vector all() { return { Plains, Forest, Desert, Ocean }; } static std::vector all_ground() { return { Plains, Forest, Desert }; } private: Value m_biome; }; }