@@ -477,8 +477,6 @@ void MapgenV6::makeChunk(BlockMakeData *data)
477
477
// Generate general ground level to full area
478
478
stone_surface_max_y = generateGround ();
479
479
480
- generateExperimental ();
481
-
482
480
// Create initial heightmap to limit caves
483
481
updateHeightmap (node_min, node_max);
484
482
@@ -497,9 +495,6 @@ void MapgenV6::makeChunk(BlockMakeData *data)
497
495
// Add mud to the central chunk
498
496
addMud ();
499
497
500
- // Add blobs of dirt and gravel underground
501
- addDirtGravelBlobs ();
502
-
503
498
// Flow mud away from steep edges
504
499
if (spflags & MGV6_MUDFLOW)
505
500
flowMud (mudflow_minpos, mudflow_maxpos);
@@ -610,7 +605,8 @@ int MapgenV6::generateGround()
610
605
for (s16 y = node_min.Y ; y <= node_max.Y ; y++) {
611
606
if (vm->m_data [i].getContent () == CONTENT_IGNORE) {
612
607
if (y <= surface_y) {
613
- vm->m_data [i] = (y > water_level && bt == BT_DESERT) ?
608
+ vm->m_data [i] = (y >= DESERT_STONE_BASE
609
+ && bt == BT_DESERT) ?
614
610
n_desert_stone : n_stone;
615
611
} else if (y <= water_level) {
616
612
vm->m_data [i] = n_water_source;
@@ -823,45 +819,6 @@ void MapgenV6::flowMud(s16 &mudflow_minpos, s16 &mudflow_maxpos)
823
819
}
824
820
825
821
826
- void MapgenV6::addDirtGravelBlobs ()
827
- {
828
- if (getBiome (v2s16 (node_min.X , node_min.Z )) != BT_NORMAL)
829
- return ;
830
-
831
- PseudoRandom pr (blockseed + 983 );
832
- for (int i = 0 ; i < volume_nodes/10 /10 /10 ; i++) {
833
- bool only_fill_cave = (myrand_range (0 ,1 ) != 0 );
834
- v3s16 size (
835
- pr.range (1 , 8 ),
836
- pr.range (1 , 8 ),
837
- pr.range (1 , 8 )
838
- );
839
- v3s16 p0 (
840
- pr.range (node_min.X , node_max.X ) - size.X / 2 ,
841
- pr.range (node_min.Y , node_max.Y ) - size.Y / 2 ,
842
- pr.range (node_min.Z , node_max.Z ) - size.Z / 2
843
- );
844
-
845
- MapNode n1 ((p0.Y > -32 && !pr.range (0 , 1 )) ? c_dirt : c_gravel);
846
- for (int z1 = 0 ; z1 < size.Z ; z1++)
847
- for (int y1 = 0 ; y1 < size.Y ; y1 ++)
848
- for (int x1 = 0 ; x1 < size.X ; x1++) {
849
- v3s16 p = p0 + v3s16 (x1, y1 , z1);
850
- u32 i = vm->m_area .index (p);
851
- if (!vm->m_area .contains (i))
852
- continue ;
853
- // Cancel if not stone and not cave air
854
- if (vm->m_data [i].getContent () != c_stone &&
855
- !(vm->m_flags [i] & VMANIP_FLAG_CAVE))
856
- continue ;
857
- if (only_fill_cave && !(vm->m_flags [i] & VMANIP_FLAG_CAVE))
858
- continue ;
859
- vm->m_data [i] = n1;
860
- }
861
- }
862
- }
863
-
864
-
865
822
void MapgenV6::placeTreesAndJungleGrass ()
866
823
{
867
824
// TimeTaker t("placeTrees");
@@ -960,7 +917,7 @@ void MapgenV6::placeTreesAndJungleGrass()
960
917
treegen::make_jungletree (*vm, p, ndef, myrand ());
961
918
} else {
962
919
bool is_apple_tree = (myrand_range (0 , 3 ) == 0 ) &&
963
- getHaveAppleTree (v2s16 (x, z));
920
+ getHaveAppleTree (v2s16 (x, z));
964
921
treegen::make_tree (*vm, p, is_apple_tree, ndef, myrand ());
965
922
}
966
923
}
0 commit comments