summaryrefslogtreecommitdiff
path: root/src/server.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-02-01 03:06:02 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-02-01 03:06:02 +0200
commit6e196c2ce4285c0aea2a5c714e842d90c1b84b43 (patch)
treee1c25414910ed344ced69125ba4f8170dc27bc9f /src/server.cpp
parentbe851871cd43316d12fd9a5f2cc6dec98a1c9ce0 (diff)
downloadminetest-6e196c2ce4285c0aea2a5c714e842d90c1b84b43.tar.gz
minetest-6e196c2ce4285c0aea2a5c714e842d90c1b84b43.tar.bz2
minetest-6e196c2ce4285c0aea2a5c714e842d90c1b84b43.zip
partly working chunk-based map generator (doesn't save properly, spawn is pretty random)
Diffstat (limited to 'src/server.cpp')
-rw-r--r--src/server.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server.cpp b/src/server.cpp
index 80aa47671..28faaf440 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -606,6 +606,15 @@ void RemoteClient::GetNextBlocks(Server *server, float dtime,
{
block_is_invalid = true;
}
+
+ v2s16 p2d(p.X, p.Z);
+ ServerMap *map = (ServerMap*)(&server->m_env.getMap());
+ v2s16 chunkpos = map->sector_to_chunk(p2d);
+ MapChunk *chunk = map->getChunk(chunkpos);
+ if(chunk == NULL)
+ block_is_invalid = true;
+ else if(chunk->getIsVolatile() == true)
+ block_is_invalid = true;
}
/*
@@ -3258,7 +3267,8 @@ Player *Server::emergePlayer(const char *name, const char *password,
player->setPosition(intToFloat(v3s16(
nodepos.X,
- groundheight + 1,
+ //groundheight + 1,
+ groundheight + 15,
nodepos.Y
)));