From 6e196c2ce4285c0aea2a5c714e842d90c1b84b43 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Tue, 1 Feb 2011 03:06:02 +0200 Subject: partly working chunk-based map generator (doesn't save properly, spawn is pretty random) --- src/server.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/server.cpp') 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 ))); -- cgit v1.2.3