summaryrefslogtreecommitdiff
path: root/src/map.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/map.h')
-rw-r--r--src/map.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/map.h b/src/map.h
index 8a004ee64..e2cd432be 100644
--- a/src/map.h
+++ b/src/map.h
@@ -318,6 +318,8 @@ protected:
This is the only map class that is able to generate map.
*/
+struct ChunkMakeData;
+
class ServerMap : public Map
{
public:
@@ -391,6 +393,10 @@ public:
return true;
}
+ void initChunkMake(ChunkMakeData &data, v2s16 chunkpos);
+ MapChunk* finishChunkMake(ChunkMakeData &data,
+ core::map<v3s16, MapBlock*> &changed_blocks);
+
/*
Generate a chunk.
@@ -746,5 +752,25 @@ protected:
bool m_create_area;
};
+struct ChunkMakeData
+{
+ ManualMapVoxelManipulator vmanip;
+ u64 seed;
+ v2s16 chunkpos;
+ s16 y_blocks_min;
+ s16 y_blocks_max;
+ v2s16 sectorpos_base;
+ s16 sectorpos_base_size;
+ v2s16 sectorpos_bigbase;
+ s16 sectorpos_bigbase_size;
+ s16 max_spread_amount;
+
+ ChunkMakeData():
+ vmanip(NULL)
+ {}
+};
+
+void makeChunk(ChunkMakeData *data);
+
#endif