mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add minetest.set_noiseparam_defaults() Lua API
This commit is contained in:
parent
c873164878
commit
3570f3e396
13 changed files with 368 additions and 270 deletions
|
@ -229,6 +229,33 @@ int ModApiMapgen::l_set_mapgen_params(lua_State *L)
|
|||
return 0;
|
||||
}
|
||||
|
||||
// minetest.set_noiseparam_defaults({np1={noise params}, ...})
|
||||
// set default values for noise parameters if not present in global settings
|
||||
int ModApiMapgen::l_set_noiseparam_defaults(lua_State *L)
|
||||
{
|
||||
NoiseParams np;
|
||||
std::string val, name;
|
||||
|
||||
if (!lua_istable(L, 1))
|
||||
return 0;
|
||||
|
||||
lua_pushnil(L);
|
||||
while (lua_next(L, 1)) {
|
||||
if (read_noiseparams_nc(L, -1, &np)) {
|
||||
if (!serializeStructToString(&val, NOISEPARAMS_FMT_STR, &np))
|
||||
continue;
|
||||
if (!lua_isstring(L, -2))
|
||||
continue;
|
||||
|
||||
name = lua_tostring(L, -2);
|
||||
g_settings->setDefault(name, val);
|
||||
}
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// set_gen_notify(string)
|
||||
int ModApiMapgen::l_set_gen_notify(lua_State *L)
|
||||
{
|
||||
|
@ -607,6 +634,7 @@ void ModApiMapgen::Initialize(lua_State *L, int top)
|
|||
API_FCT(get_mapgen_object);
|
||||
|
||||
API_FCT(set_mapgen_params);
|
||||
API_FCT(set_noiseparam_defaults);
|
||||
API_FCT(set_gen_notify);
|
||||
|
||||
API_FCT(register_biome);
|
||||
|
|
|
@ -32,6 +32,9 @@ private:
|
|||
// set mapgen parameters
|
||||
static int l_set_mapgen_params(lua_State *L);
|
||||
|
||||
// minetest.set_noiseparam_defaults({np1={noise params}, ...})
|
||||
static int l_set_noiseparam_defaults(lua_State *L);
|
||||
|
||||
// set_gen_notify(flagstring)
|
||||
static int l_set_gen_notify(lua_State *L);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue