Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Biome API: Add 'get_biome_name(biome_id)' API
Change name of default biome to a more suitable lowercase 'default'.
- Loading branch information
|
@@ -2959,6 +2959,10 @@ handler. |
|
|
* `minetest.get_biome_id(biome_name)` |
|
|
* Returns the biome id, as used in the biomemap Mapgen object and returned |
|
|
by `minetest.get_biome_data(pos)`, for a given biome_name string. |
|
|
* `minetest.get_biome_name(biome_id)` |
|
|
* Returns the biome name string for the provided biome id, or `nil` on |
|
|
failure. |
|
|
* If no biomes have been registered, such as in mgv6, returns `default`. |
|
|
* `minetest.get_mapgen_params()` |
|
|
* Deprecated: use `minetest.get_mapgen_setting(name)` instead. |
|
|
* Returns a table containing: |
|
|
|
@@ -40,7 +40,7 @@ BiomeManager::BiomeManager(Server *server) : |
|
|
// Create default biome to be used in case none exist |
|
|
Biome *b = new Biome; |
|
|
|
|
|
b->name = "Default"; |
|
|
b->name = "default"; |
|
|
b->flags = 0; |
|
|
b->depth_top = 0; |
|
|
b->depth_filler = -MAX_MAP_GENERATION_LIMIT; |
|
|
|
@@ -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); |
|
|
|
@@ -28,6 +28,10 @@ class ModApiMapgen : public ModApiBase |
|
|
// returns the biome id as used in biomemap and returned by 'get_biome_data()' |
|
|
static int l_get_biome_id(lua_State *L); |
|
|
|
|
|
// get_biome_name(biome_id) |
|
|
// returns the biome name string |
|
|
static int l_get_biome_name(lua_State *L); |
|
|
|
|
|
// get_heat(pos) |
|
|
// returns the heat at the position |
|
|
static int l_get_heat(lua_State *L); |
|
|