feat(gameplay): add Ocean biome with water generation and heightmap adjustments

- Introduce Ocean biome enum, builder, and detection logic.
- Add ocean water building to all existing biomes and modify heightmap thresholds for low mountainous areas.
- Skip cave and river generation in Ocean (and River) biomes; avoid carving water blocks.
- Comment out border blending call and update block fill logic.
This commit is contained in:
2026-06-11 21:58:48 +08:00
parent bac3df801b
commit 623f991fcf
14 changed files with 146 additions and 16 deletions

View File

@@ -15,6 +15,7 @@ enum class BiomeType {
MOUNTAIN,
RIVER,
SNOWY_PLAIN,
OCEAN,
NONE
};

View File

@@ -13,5 +13,6 @@ public:
protected:
void build_bottom();
void place_grass();
void ocean_water_build();
};
} // namespace Cubed

View File

@@ -0,0 +1,23 @@
#pragma once
#pragma once
#include "Cubed/gameplay/builders/biome_builder.hpp"
namespace Cubed {
class ChunkGenerator;
class OceanBuilder : public BiomeBuilder {
public:
OceanBuilder(ChunkGenerator& chunk_generator);
void build_biome() override;
ChunkGenerator& get_chunk_generator() override;
void build_vegetation() override;
private:
ChunkGenerator& m_chunk_generator;
void build_blocks();
};
} // namespace Cubed