Added padder feature in Biome and added Sandstone

This commit is contained in:
Namonay
2025-06-01 23:11:39 +02:00
parent 3c90190a90
commit ce9335ba6a
6 changed files with 23 additions and 10 deletions

View File

@@ -16,22 +16,24 @@ class BiomeCollection
inline BiomeCollection()
{
m_collection.emplace("grassland", std::make_unique<Biome>(
static_cast<std::uint32_t>(BlockType::Stone),
20,
static_cast<std::uint32_t>(BlockType::Water),
static_cast<std::uint32_t>(BlockType::Stone), // underground block
20, // water level
static_cast<std::uint32_t>(BlockType::Water), // Block to place at water level
static_cast<std::uint32_t>(BlockType::Dirt), // intermediary block
std::map<std::uint32_t, std::pair<BlockPlacementType, std::vector<BlockType>>>{
{17, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Dirt}}},
{23, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Sand}}},
{17, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Dirt}}}, // place a dirt block at surface is height <= 17
{23, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Sand}}}, // place a sand block at surface if height > 17 && <= 23
{125, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Grass}}},
{132, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::PseudoRandom, std::vector<BlockType>{BlockType::SnowyGrass, BlockType::Grass}}},
{132, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::PseudoRandom, std::vector<BlockType>{BlockType::SnowyGrass, BlockType::Grass}}}, // Place randomly one of the two blocks at the surface
{140, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::PseudoRandom, std::vector<BlockType>{BlockType::Snow, BlockType::SnowyGrass}}},
{255, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Snow}}}
{255, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Snow}}} // ALWAYS put a block to 255
}
));
m_collection.emplace("tundra", std::make_unique<Biome>(
static_cast<std::uint32_t>(BlockType::Stone),
20,
static_cast<std::uint32_t>(BlockType::Water),
static_cast<std::uint32_t>(BlockType::Stone),
std::map<std::uint32_t, std::pair<BlockPlacementType, std::vector<BlockType>>>{
{17, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Dirt}}},
{20, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Ice}}},
@@ -45,7 +47,10 @@ class BiomeCollection
static_cast<std::uint32_t>(BlockType::Stone),
20,
static_cast<std::uint32_t>(BlockType::Water),
static_cast<std::uint32_t>(BlockType::SandStone),
std::map<std::uint32_t, std::pair<BlockPlacementType, std::vector<BlockType>>>{
{120, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Sand}}},
{140, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::PseudoRandom, std::vector<BlockType>{BlockType::Sand, BlockType::SandStone}}},
{255, std::pair<BlockPlacementType, std::vector<BlockType>>{BlockPlacementType::Simple, std::vector<BlockType>{BlockType::Sand}}}
}
));