forked from Mirrorlandia_minetest/minetest
Biome API: Add 'get_biome_name(biome_id)' API
Change name of default biome to a more suitable lowercase 'default'.
This commit is contained in:
parent
a09a994417
commit
7ad6cdd09b
@ -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 @@ private:
|
||||
// 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);
|
||||
|
Loading…
Reference in New Issue
Block a user