Tune caves
[oweals/minetest.git] / src / mapgen.h
index 57d0ee8a01d06de3b9707cc450fad4c59695b1e9..24a853bdccb14f897a7e66602d023b8318d8d496 100644 (file)
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 struct BlockMakeData;
 class MapBlock;
 class ManualMapVoxelManipulator;
+class INodeDefManager;
 
 namespace mapgen
 {
@@ -38,23 +39,26 @@ namespace mapgen
        // Main map generation routine
        void make_block(BlockMakeData *data);
        
-       // Add objects according to block content
-       void add_random_objects(MapBlock *block);
+       // Add a tree
+       void make_tree(ManualMapVoxelManipulator &vmanip, v3s16 p0,
+                       bool is_apple_tree, INodeDefManager *ndef);
        
        /*
                These are used by FarMesh
        */
        bool get_have_sand(u64 seed, v2s16 p2d);
        double tree_amount_2d(u64 seed, v2s16 p);
-       
 
        struct BlockMakeData
        {
                bool no_op;
-               ManualMapVoxelManipulator *vmanip;
+               ManualMapVoxelManipulator *vmanip; // Destructor deletes
                u64 seed;
-               v3s16 blockpos;
+               v3s16 blockpos_min;
+               v3s16 blockpos_max;
+               v3s16 blockpos_requested;
                UniqueQueue<v3s16> transforming_liquid;
+               INodeDefManager *nodedef;
 
                BlockMakeData();
                ~BlockMakeData();