diff options
author | sweetbomber <ffrogger _zero_ at yahoo dot com> | 2013-05-30 17:14:22 +0100 |
---|---|---|
committer | ShadowNinja <shadowninja@minetest.net> | 2013-12-05 16:09:02 -0500 |
commit | 22dbbf0a6fc9547f0dbdb7f6076337b8c6acd48b (patch) | |
tree | 3d292747f5518568fda97fb1cbb4c982833e4e76 /src/server.cpp | |
parent | 000da6b25de2af1cc517b9f3c5e9b3576625ec4c (diff) | |
download | minetest-22dbbf0a6fc9547f0dbdb7f6076337b8c6acd48b.tar.gz minetest-22dbbf0a6fc9547f0dbdb7f6076337b8c6acd48b.tar.bz2 minetest-22dbbf0a6fc9547f0dbdb7f6076337b8c6acd48b.zip |
Improve (re)spawn, add cache_block_before_spawn and max_spawn_height settings
Diffstat (limited to 'src/server.cpp')
-rw-r--r-- | src/server.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server.cpp b/src/server.cpp index 6b9e656e9..13b59e7f5 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2285,8 +2285,9 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id) } /*infostream<<"Server::ProcessData(): Moved player "<<peer_id<<" to " - <<"("<<position.X<<","<<position.Y<<","<<position.Z<<")" - <<" pitch="<<pitch<<" yaw="<<yaw<<std::endl;*/ + <<"("<<position.X<<","<<position.Y<<","<<position.Z<<")" + <<" pitch="<<pitch<<" yaw="<<yaw<<std::endl;*/ + } else if(command == TOSERVER_GOTBLOCKS) { @@ -5318,10 +5319,10 @@ v3f findSpawnPos(ServerMap &map) -range + (myrand() % (range * 2))); // Get ground height at point - s16 groundheight = map.findGroundLevel(nodepos2d); + s16 groundheight = map.findGroundLevel(nodepos2d, g_settings->getBool("cache_block_before_spawn")); if (groundheight <= water_level) // Don't go underwater continue; - if (groundheight > water_level + 6) // Don't go to high places + if (groundheight > water_level + g_settings->getS16("max_spawn_height")) // Don't go to high places continue; nodepos = v3s16(nodepos2d.X, groundheight, nodepos2d.Y); |