From f1fc192ddc4c739fa8b4b376c759b7d3218a34eb Mon Sep 17 00:00:00 2001 From: Mel Date: Fri, 7 Jul 2023 21:39:42 +0200 Subject: Chunk-bound tree decoration --- src/World/Chunk.hpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/World/Chunk.hpp') diff --git a/src/World/Chunk.hpp b/src/World/Chunk.hpp index d200039..8780700 100644 --- a/src/World/Chunk.hpp +++ b/src/World/Chunk.hpp @@ -19,27 +19,30 @@ public: struct BlockData { BlockType type; + + bool empty() const { return type == BlockType::Air; } }; void set(uint32_t x, uint32_t y, uint32_t z, BlockData data); BlockData get(uint32_t x, uint32_t y, uint32_t z) const; + bool is_empty(uint32_t x, uint32_t y, uint32_t z) const; struct Details { Matrix landmass_values{}; Matrix hill_values{}; + + Matrix temperature_values{}; + Matrix humidity_values{}; + Matrix biome_values{}; }; void set_details(const Details& details) { m_details = details; } Details& details(){ return m_details; } Vector<3> position(); - GFX::Mesh mesh(); -private: - bool is_face_visible(uint32_t x, uint32_t y, uint32_t z, BlockSide side); - - static std::array, 4> face_tex_coords(BlockType type, BlockSide side); - static std::array, 4> face_normals(BlockSide side); + static bool is_valid_position(uint32_t x, uint32_t y, uint32_t z); +private: static uint64_t pos(uint32_t x, uint32_t y, uint32_t z); Vector<3> m_position; -- cgit 1.4.1