refactor(generation): move ocean water build to later phase

This commit is contained in:
2026-06-12 10:38:21 +08:00
parent 04900a05fd
commit 2efb5c9342
10 changed files with 9 additions and 9 deletions

View File

@@ -27,7 +27,6 @@ void DesertBuilder::build_blocks() {
}
}
}
ocean_water_build();
}
void DesertBuilder::build_vegetation() {}

View File

@@ -32,7 +32,6 @@ void ForestBuilder::build_blocks() {
m_blocks[Chunk::index(x, height, z)] = 1;
}
}
ocean_water_build();
}
void ForestBuilder::build_vegetation() {

View File

@@ -23,7 +23,6 @@ void MountainBuilder::build_blocks() {
}
}
}
ocean_water_build();
}
void MountainBuilder::build_vegetation() {}

View File

@@ -23,7 +23,6 @@ void OceanBuilder::build_blocks() {
}
}
}
ocean_water_build();
}
void OceanBuilder::build_vegetation() {}

View File

@@ -27,7 +27,6 @@ void PlainBuilder::build_blocks() {
m_blocks[Chunk::index(x, height, z)] = 1;
}
}
ocean_water_build();
}
void PlainBuilder::build_vegetation() { place_grass(); }

View File

@@ -27,7 +27,6 @@ void SnowyPlainBuilder::build_blocks() {
m_blocks[Chunk::index(x, height, z)] = 8;
}
}
ocean_water_build();
}
void SnowyPlainBuilder::build_vegetation() {}

View File

@@ -199,9 +199,8 @@ void Chunk::gen_phase_six(
Logger::error("ChunkGenerator is Nullptr");
return;
}
// This must be fully completed before any other operations can proceed!
m_generator->blend_surface_blocks_borders(neighbor_block);
m_generator->generate_cave();
m_generator->generate_river();
}
void Chunk::gen_phase_seven() {
@@ -209,6 +208,10 @@ void Chunk::gen_phase_seven() {
Logger::error("ChunkGenerator is Nullptr");
return;
}
m_generator->ocean_build();
m_generator->generate_river();
m_generator->generate_cave();
m_generator->generate_vegetation();
mark_dirty();
m_generator = nullptr;

View File

@@ -635,6 +635,8 @@ void ChunkGenerator::make_biome_builder() {
}
}
void ChunkGenerator::ocean_build() { m_biome_builder->ocean_water_build(); }
void ChunkGenerator::generate_cave() {
auto& cave_carver = m_chunk.world().cave_carcer();
auto& paths = cave_carver.paths();