#pragma once #include #include namespace MC::World { class BlockType { public: enum Value : uint8_t { Air, Dirt, Grass, Stone, Sand, Water, }; static constexpr const size_t Size = 6; BlockType() = default; BlockType(Value block) : m_block(block) {} operator Value() const { return m_block; } static std::vector all() { return { Air, Dirt, Grass, Stone, Sand, Water, }; } private: Value m_block; }; }