-void Biome::genColumn(Mapgen *mg, int x, int z, int y1, int y2) {
- int i = (z - mg->node_min.Z) * mg->csize.Z + (x - mg->node_min.X);
- int surfaceh = np->offset + np->scale * mg->map_terrain[i];
- int y = y1;
-
- i = mg->vmanip->m_area.index(x, y, z);
- for (; y <= surfaceh - ntopnodes && y <= y2; y++, i += mg->ystride)
- mg->vmanip->m_data[i] = n_filler;
- for (; y <= surfaceh && y <= y2; y++, i += mg->ystride)
- mg->vmanip->m_data[i] = n_top;
- for (; y <= y2; y++, i += mg->ystride)
- mg->vmanip->m_data[i] = mg->n_air;
-}
-
-
-
-///////////////////////////// [ Ocean biome ] /////////////////////////////////
-
-
-
-void BiomeLiquid::genColumn(Mapgen *mg, int x, int z, int y1, int y2) {
- int i = (z - mg->node_min.Z) * mg->csize.Z + (x - mg->node_min.X);
- int surfaceh = np->offset + np->scale * mg->map_terrain[i];
- int y = y1;
-
- i = mg->vmanip->m_area.index(x, y, z);
- for (; y <= surfaceh - ntopnodes && y <= y2; y++, i += mg->ystride)
- mg->vmanip->m_data[i] = n_filler;
- for (; y <= surfaceh && y <= y2; y++, i += mg->ystride)
- mg->vmanip->m_data[i] = n_top;
- for (; y <= mg->water_level && y <= y2; y++, i += mg->ystride)
- mg->vmanip->m_data[i] = mg->n_water;
- for (; y <= y2; y++, i += mg->ystride)
- mg->vmanip->m_data[i] = mg->n_air;
-}
-
-
-///////////////////////////// [ Nether biome ] /////////////////////////////////
-
-
-int BiomeHell::getSurfaceHeight(float noise_terrain) {
- return np->offset + np->scale * noise_terrain;
-}
-
-
-void BiomeHell::genColumn(Mapgen *mg, int x, int z, int y1, int y2) {
-
-}
-
-
-///////////////////////////// [ Aether biome ] ////////////////////////////////
-
-
-int BiomeAether::getSurfaceHeight(float noise_terrain) {
- return np->offset + np->scale * noise_terrain;
-}
-
-
-void BiomeAether::genColumn(Mapgen *mg, int x, int z, int y1, int y2) {