summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNils Dagsson Moskopp <nils@dieweltistgarnichtso.net>2011-07-15 06:37:47 +0200
committerNils Dagsson Moskopp <nils@dieweltistgarnichtso.net>2011-07-15 06:37:47 +0200
commit0a38e542c1854422b95ddad2b9634693e342a5ff (patch)
treec8df3d95eb2dc8a390f6c179aecd6394c7192fdf
parent96f551a287df4a6b101f47bd1fd9f03955559168 (diff)
downloadminetest-0a38e542c1854422b95ddad2b9634693e342a5ff.tar.gz
minetest-0a38e542c1854422b95ddad2b9634693e342a5ff.tar.bz2
minetest-0a38e542c1854422b95ddad2b9634693e342a5ff.zip
* regression fix, clay occurs again now
-rw-r--r--src/mapgen.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/mapgen.cpp b/src/mapgen.cpp
index bb4785bbf..dfea862a5 100644
--- a/src/mapgen.cpp
+++ b/src/mapgen.cpp
@@ -1840,13 +1840,6 @@ void make_block(BlockMakeData *data)
bool water_detected = false;
bool have_clay = false;
- // Determine whether to have clay in the sand here
- double claynoise = noise2d_perlin(
- 0.5+(float)p2d.X/500, 0.5+(float)p2d.Y/500,
- data->seed+4321, 6, 0.95);
-
- have_clay = have_sand && (claynoise > 1.25);
-
// Use fast index incrementing
s16 start_y = node_max.Y+2;
v3s16 em = vmanip.m_area.getExtent();
@@ -1873,6 +1866,15 @@ void make_block(BlockMakeData *data)
{
if(have_sand)
{
+ // Determine whether to have clay in the sand here
+ double claynoise = noise2d_perlin(
+ 0.5+(float)p2d.X/500, 0.5+(float)p2d.Y/500,
+ data->seed+4321, 6, 0.95) + 0.5;
+
+ have_clay = (y <= WATER_LEVEL) && (y >= WATER_LEVEL-2) && (
+ ((claynoise > 0) && (claynoise < 0.04) && (current_depth == 0)) ||
+ ((claynoise > 0) && (claynoise < 0.12) && (current_depth == 1))
+ );
if (have_clay)
vmanip.m_data[i] = MapNode(CONTENT_CLAY);
else