]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/script/lua_api/l_mapgen.h
Code modernization: subfolders (#6283)
[dragonfireclient.git] / src / script / lua_api / l_mapgen.h
index dd96a009e0130772cd560c902b9edd4c6683bd04..89b825be2cd622c8a5e79ae358078b71508db2a8 100644 (file)
@@ -17,18 +17,17 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
-#ifndef L_MAPGEN_H_
-#define L_MAPGEN_H_
+#pragma once
 
 #include "lua_api/l_base.h"
 
-class INodeDefManager;
-class NodeResolveInfo;
-class DecoSimple;
-class DecoSchematic;
-
-class ModApiMapgen : public ModApiBase {
+class ModApiMapgen : public ModApiBase
+{
 private:
+       // get_biome_id(biomename)
+       // returns the biome id used in biomemap
+       static int l_get_biome_id(lua_State *L);
+
        // get_mapgen_object(objectname)
        // returns the requested object used during map generation
        static int l_get_mapgen_object(lua_State *L);
@@ -41,12 +40,30 @@ class ModApiMapgen : public ModApiBase {
        // set mapgen parameters
        static int l_set_mapgen_params(lua_State *L);
 
+       // get_mapgen_setting(name)
+       static int l_get_mapgen_setting(lua_State *L);
+
+       // set_mapgen_setting(name, value, override_meta)
+       static int l_set_mapgen_setting(lua_State *L);
+
+       // get_mapgen_setting_noiseparams(name)
+       static int l_get_mapgen_setting_noiseparams(lua_State *L);
+
+       // set_mapgen_setting_noiseparams(name, value, override_meta)
+       static int l_set_mapgen_setting_noiseparams(lua_State *L);
+
        // set_noiseparam_defaults(name, noiseparams, set_default)
        static int l_set_noiseparams(lua_State *L);
 
+       // get_noiseparam_defaults(name)
+       static int l_get_noiseparams(lua_State *L);
+
        // set_gen_notify(flagstring)
        static int l_set_gen_notify(lua_State *L);
 
+       // set_gen_notify(flagstring)
+       static int l_get_gen_notify(lua_State *L);
+
        // register_biome({lots of stuff})
        static int l_register_biome(lua_State *L);
 
@@ -56,16 +73,22 @@ class ModApiMapgen : public ModApiBase {
        // register_ore({lots of stuff})
        static int l_register_ore(lua_State *L);
 
+       // register_schematic({schematic}, replacements={})
+       static int l_register_schematic(lua_State *L);
+
        // clear_registered_biomes()
        static int l_clear_registered_biomes(lua_State *L);
 
        // clear_registered_decorations()
        static int l_clear_registered_decorations(lua_State *L);
 
-       // generate_ores(vm)
+       // clear_registered_schematics()
+       static int l_clear_registered_schematics(lua_State *L);
+
+       // generate_ores(vm, p1, p2)
        static int l_generate_ores(lua_State *L);
 
-       // generate_decorations(vm)
+       // generate_decorations(vm, p1, p2)
        static int l_generate_decorations(lua_State *L);
 
        // clear_registered_ores
@@ -74,22 +97,24 @@ class ModApiMapgen : public ModApiBase {
        // create_schematic(p1, p2, probability_list, filename)
        static int l_create_schematic(lua_State *L);
 
-       // place_schematic(p, schematic, rotation, replacement)
+       // place_schematic(p, schematic, rotation, replacements, force_placement)
        static int l_place_schematic(lua_State *L);
 
-       static bool regDecoSimple(lua_State *L,
-                       NodeResolveInfo *nri, DecoSimple *deco);
-       static bool regDecoSchematic(lua_State *L,
-                       INodeDefManager *ndef, DecoSchematic *deco);
+       // place_schematic_on_vmanip(vm, p, schematic,
+       //     rotation, replacements, force_placement)
+       static int l_place_schematic_on_vmanip(lua_State *L);
+
+       // serialize_schematic(schematic, format, options={...})
+       static int l_serialize_schematic(lua_State *L);
+
+public:
+       static void Initialize(lua_State *L, int top);
 
        static struct EnumString es_BiomeTerrainType[];
        static struct EnumString es_DecorationType[];
        static struct EnumString es_MapgenObject[];
        static struct EnumString es_OreType[];
        static struct EnumString es_Rotation[];
-
-public:
-       static void Initialize(lua_State *L, int top);
+       static struct EnumString es_SchematicFormatType[];
+       static struct EnumString es_NodeResolveMethod[];
 };
-
-#endif /* L_MAPGEN_H_ */