]> git.lizzy.rs Git - minetest.git/blobdiff - src/mapgen_v6.cpp
Fix client "double saving" simple singleplayer local maps
[minetest.git] / src / mapgen_v6.cpp
index c126165dcdcd8f1322d806ece9da57dab662f683..de0c8168821f0589980aaa88ed910198f4574d31 100644 (file)
@@ -312,7 +312,7 @@ bool MapgenV6::getHaveBeach(v2s16 p) {
 }
 
 
-BiomeType MapgenV6::getBiome(v2s16 p) {
+BiomeV6Type MapgenV6::getBiome(v2s16 p) {
        int index = (p.Y - node_min.Z) * ystride + (p.X - node_min.X);
        return getBiome(index, p);
 }
@@ -387,7 +387,7 @@ bool MapgenV6::getHaveBeach(int index)
 }
 
 
-BiomeType MapgenV6::getBiome(int index, v2s16 p)
+BiomeV6Type MapgenV6::getBiome(int index, v2s16 p)
 {
        // Just do something very simple as for now
        /*double d = noise2d_perlin(
@@ -537,16 +537,10 @@ void MapgenV6::makeChunk(BlockMakeData *data) {
                placeTreesAndJungleGrass();
        
        // Generate the registered decorations
-       for (unsigned int i = 0; i != emerge->decorations.size(); i++) {
-               Decoration *deco = emerge->decorations[i];
-               deco->placeDeco(this, blockseed + i, node_min, node_max);
-       }
+       emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max);
 
        // Generate the registered ores
-       for (unsigned int i = 0; i != emerge->ores.size(); i++) {
-               Ore *ore = emerge->ores[i];
-               ore->placeOre(this, blockseed + i, node_min, node_max);
-       }
+       emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max);
 
        // Calculate lighting
        if (flags & MG_LIGHT)
@@ -614,7 +608,7 @@ int MapgenV6::generateGround() {
                if (surface_y > stone_surface_max_y)
                        stone_surface_max_y = surface_y;
 
-               BiomeType bt = getBiome(index, v2s16(x, z));
+               BiomeV6Type bt = getBiome(index, v2s16(x, z));
                
                // Fill ground with stone
                v3s16 em = vm->m_area.getExtent();
@@ -658,7 +652,7 @@ void MapgenV6::addMud() {
                if (surface_y == vm->m_area.MinEdge.Y - 1)
                        continue;
                
-               BiomeType bt = getBiome(index, v2s16(x, z));
+               BiomeV6Type bt = getBiome(index, v2s16(x, z));
                addnode = (bt == BT_DESERT) ? n_desert_sand : n_dirt;
 
                if (bt == BT_DESERT && surface_y + mud_add_amount <= water_level + 1) {