]> git.lizzy.rs Git - minetest.git/blobdiff - src/mapgen.h
Fix addon and configuration file paths
[minetest.git] / src / mapgen.h
index 5aa0282faecda91fd62ce072277fcf6fe873bfda..207dfdaf78cfdb336d7ef2970475038a86695816 100644 (file)
@@ -21,9 +21,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #define MAPGEN_HEADER
 
 #include "common_irrlicht.h"
+#include "utility.h" // UniqueQueue
 
 struct BlockMakeData;
 class MapBlock;
+class ManualMapVoxelManipulator;
+class INodeDefManager;
 
 namespace mapgen
 {
@@ -38,12 +41,30 @@ namespace mapgen
        
        // 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; // Destructor deletes
+               u64 seed;
+               v3s16 blockpos;
+               UniqueQueue<v3s16> transforming_liquid;
+               INodeDefManager *nodedef;
+
+               BlockMakeData();
+               ~BlockMakeData();
+       };
 
 }; // namespace mapgen