From 7ad6cdd09b55197a25f9af34ad807813eab6247b Mon Sep 17 00:00:00 2001 From: paramat Date: Fri, 9 Mar 2018 23:16:23 +0000 Subject: Biome API: Add 'get_biome_name(biome_id)' API Change name of default biome to a more suitable lowercase 'default'. --- src/script/lua_api/l_mapgen.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/script/lua_api/l_mapgen.cpp') diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp index f5c76ec6e..263273cc3 100644 --- a/src/script/lua_api/l_mapgen.cpp +++ b/src/script/lua_api/l_mapgen.cpp @@ -476,12 +476,10 @@ int ModApiMapgen::l_get_biome_id(lua_State *L) return 0; BiomeManager *bmgr = getServer(L)->getEmergeManager()->biomemgr; - if (!bmgr) return 0; Biome *biome = (Biome *)bmgr->getByName(biome_str); - if (!biome || biome->index == OBJDEF_INVALID_INDEX) return 0; @@ -491,6 +489,25 @@ int ModApiMapgen::l_get_biome_id(lua_State *L) } +// get_biome_name(biome_id) +// returns the biome name string +int ModApiMapgen::l_get_biome_name(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + + int biome_id = luaL_checkinteger(L, 1); + + BiomeManager *bmgr = getServer(L)->getEmergeManager()->biomemgr; + if (!bmgr) + return 0; + + Biome *b = (Biome *)bmgr->getRaw(biome_id); + lua_pushstring(L, b->name.c_str()); + + return 1; +} + + // get_heat(pos) // returns the heat at the position int ModApiMapgen::l_get_heat(lua_State *L) @@ -1731,6 +1748,7 @@ int ModApiMapgen::l_serialize_schematic(lua_State *L) void ModApiMapgen::Initialize(lua_State *L, int top) { API_FCT(get_biome_id); + API_FCT(get_biome_name); API_FCT(get_heat); API_FCT(get_humidity); API_FCT(get_biome_data); -- cgit v1.2.3