diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index db7df6ed..5a1b76b4 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -163,6 +163,7 @@ void set_default_settings(Settings *settings) settings->setDefault("max_block_generate_distance", "7"); settings->setDefault("time_send_interval", "5"); settings->setDefault("time_speed", "72"); + settings->setDefault("water_level", "1"); settings->setDefault("server_unload_unused_data_timeout", "29"); settings->setDefault("server_map_save_interval", "5.3"); settings->setDefault("full_block_send_enable_min_time_from_building", "2.0"); diff --git a/src/server.cpp b/src/server.cpp index 853d0a48..a7767842 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -4832,6 +4832,8 @@ v3f findSpawnPos(ServerMap &map) #endif #if 1 + s16 water_level = g_settings->getS16("water_level"); + // Try to find a good place a few times for(s32 i=0; i<1000; i++) { @@ -4843,13 +4845,13 @@ v3f findSpawnPos(ServerMap &map) // Get ground height at point (fallbacks to heightmap function) s16 groundheight = map.findGroundLevel(nodepos2d); // Don't go underwater - if(groundheight < WATER_LEVEL) + if(groundheight <= water_level) { //infostream<<"-> Underwater"< WATER_LEVEL + 4) + if(groundheight > water_level + 6) { //infostream<<"-> Underwater"<