mirror of
https://github.com/minetest/minetest.git
synced 2024-12-23 22:52:25 +01:00
Biome API: Add biome-specific river water
This commit is contained in:
parent
0c792db05c
commit
a615da6b12
@ -55,6 +55,7 @@ BiomeManager::BiomeManager(IGameDef *gamedef) :
|
||||
b->m_nodenames.push_back("mapgen_stone");
|
||||
b->m_nodenames.push_back("mapgen_water_source");
|
||||
b->m_nodenames.push_back("mapgen_water_source");
|
||||
b->m_nodenames.push_back("mapgen_river_water_source");
|
||||
b->m_nodenames.push_back("air");
|
||||
m_ndef->pendNodeResolve(b, NODE_RESOLVE_DEFERRED);
|
||||
|
||||
@ -131,11 +132,12 @@ void BiomeManager::clear()
|
||||
|
||||
void Biome::resolveNodeNames()
|
||||
{
|
||||
getIdFromNrBacklog(&c_top, "mapgen_dirt_with_grass", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_filler, "mapgen_dirt", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_stone, "mapgen_stone", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_water_top, "mapgen_water_source", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_water, "mapgen_water_source", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_dust, "air", CONTENT_IGNORE);
|
||||
getIdFromNrBacklog(&c_top, "mapgen_dirt_with_grass", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_filler, "mapgen_dirt", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_stone, "mapgen_stone", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_water_top, "mapgen_water_source", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_water, "mapgen_water_source", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_river_water, "mapgen_river_water_source", CONTENT_AIR);
|
||||
getIdFromNrBacklog(&c_dust, "air", CONTENT_IGNORE);
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,7 @@ public:
|
||||
content_t c_stone;
|
||||
content_t c_water_top;
|
||||
content_t c_water;
|
||||
content_t c_river_water;
|
||||
content_t c_dust;
|
||||
|
||||
s16 depth_top;
|
||||
|
@ -389,22 +389,23 @@ Biome *read_biome_def(lua_State *L, int index, INodeDefManager *ndef)
|
||||
Biome *b = BiomeManager::create(biometype);
|
||||
|
||||
b->name = getstringfield_default(L, index, "name", "");
|
||||
b->depth_top = getintfield_default(L, index, "depth_top", 1);
|
||||
b->depth_filler = getintfield_default(L, index, "depth_filler", 2);
|
||||
b->depth_water_top = getintfield_default(L, index, "depth_water_top", 0);
|
||||
b->y_min = getintfield_default(L, index, "y_min", -31000);
|
||||
b->y_max = getintfield_default(L, index, "y_max", 31000);
|
||||
b->heat_point = getfloatfield_default(L, index, "heat_point", 0.f);
|
||||
b->humidity_point = getfloatfield_default(L, index, "humidity_point", 0.f);
|
||||
b->depth_top = getintfield_default(L, index, "depth_top", 1);
|
||||
b->depth_filler = getintfield_default(L, index, "depth_filler", 2);
|
||||
b->depth_water_top = getintfield_default(L, index, "depth_water_top", 0);
|
||||
b->y_min = getintfield_default(L, index, "y_min", -31000);
|
||||
b->y_max = getintfield_default(L, index, "y_max", 31000);
|
||||
b->heat_point = getfloatfield_default(L, index, "heat_point", 0.f);
|
||||
b->humidity_point = getfloatfield_default(L, index, "humidity_point", 0.f);
|
||||
b->flags = 0; //reserved
|
||||
|
||||
std::vector<std::string> &nn = b->m_nodenames;
|
||||
nn.push_back(getstringfield_default(L, index, "node_top", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_filler", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_stone", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_water_top", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_water", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_dust", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_top", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_filler", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_stone", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_water_top", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_water", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_river_water", ""));
|
||||
nn.push_back(getstringfield_default(L, index, "node_dust", ""));
|
||||
ndef->pendNodeResolve(b, NODE_RESOLVE_DEFERRED);
|
||||
|
||||
return b;
|
||||
|
Loading…
Reference in New Issue
Block a user