forked from Mirrorlandia_minetest/minetest
Gennotify: Add 'minetest.get_decoration_id' API
Returns the decoration ID for the provided decoration name string. For use with gennotify, to know the decoration IDs for use in 'minetest.set_gen_notify'.
This commit is contained in:
parent
07622bf9b4
commit
48493a979b
@ -2842,8 +2842,11 @@ and `minetest.auth_reload` call the authentication handler.
|
|||||||
* decoration
|
* decoration
|
||||||
* The second parameter is a list of IDS of decorations which notification
|
* The second parameter is a list of IDS of decorations which notification
|
||||||
is requested for.
|
is requested for.
|
||||||
* `get_gen_notify()`
|
* `minetest.get_gen_notify()`
|
||||||
* Returns a flagstring and a table with the `deco_id`s.
|
* Returns a flagstring and a table with the `deco_id`s.
|
||||||
|
* `minetest.get_decoration_id(decoration_name)
|
||||||
|
* Returns the decoration ID number for the provided decoration name string,
|
||||||
|
or `nil` on failure.
|
||||||
* `minetest.get_mapgen_object(objectname)`
|
* `minetest.get_mapgen_object(objectname)`
|
||||||
* Return requested mapgen object if available (see "Mapgen objects")
|
* Return requested mapgen object if available (see "Mapgen objects")
|
||||||
* `minetest.get_heat(pos)`
|
* `minetest.get_heat(pos)`
|
||||||
|
@ -1006,6 +1006,32 @@ int ModApiMapgen::l_get_gen_notify(lua_State *L)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// get_decoration_id(decoration_name)
|
||||||
|
// returns the decoration ID as used in gennotify
|
||||||
|
int ModApiMapgen::l_get_decoration_id(lua_State *L)
|
||||||
|
{
|
||||||
|
NO_MAP_LOCK_REQUIRED;
|
||||||
|
|
||||||
|
const char *deco_str = luaL_checkstring(L, 1);
|
||||||
|
if (!deco_str)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
DecorationManager *dmgr = getServer(L)->getEmergeManager()->decomgr;
|
||||||
|
|
||||||
|
if (!dmgr)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
Decoration *deco = (Decoration *)dmgr->getByName(deco_str);
|
||||||
|
|
||||||
|
if (!deco)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
lua_pushinteger(L, deco->index);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// register_biome({lots of stuff})
|
// register_biome({lots of stuff})
|
||||||
int ModApiMapgen::l_register_biome(lua_State *L)
|
int ModApiMapgen::l_register_biome(lua_State *L)
|
||||||
{
|
{
|
||||||
@ -1696,6 +1722,7 @@ void ModApiMapgen::Initialize(lua_State *L, int top)
|
|||||||
API_FCT(get_noiseparams);
|
API_FCT(get_noiseparams);
|
||||||
API_FCT(set_gen_notify);
|
API_FCT(set_gen_notify);
|
||||||
API_FCT(get_gen_notify);
|
API_FCT(get_gen_notify);
|
||||||
|
API_FCT(get_decoration_id);
|
||||||
|
|
||||||
API_FCT(register_biome);
|
API_FCT(register_biome);
|
||||||
API_FCT(register_decoration);
|
API_FCT(register_decoration);
|
||||||
|
@ -76,6 +76,10 @@ private:
|
|||||||
// get_gen_notify()
|
// get_gen_notify()
|
||||||
static int l_get_gen_notify(lua_State *L);
|
static int l_get_gen_notify(lua_State *L);
|
||||||
|
|
||||||
|
// get_decoration_id(decoration_name)
|
||||||
|
// returns the decoration ID as used in gennotify
|
||||||
|
static int l_get_decoration_id(lua_State *L);
|
||||||
|
|
||||||
// register_biome({lots of stuff})
|
// register_biome({lots of stuff})
|
||||||
static int l_register_biome(lua_State *L);
|
static int l_register_biome(lua_State *L);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user