1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Add minetest.clear_registered_decorations() and clear_registered_ores()

This commit is contained in:
kwolekr 2014-12-12 14:07:49 -05:00
parent cec141adc1
commit cf8213ea82
12 changed files with 97 additions and 11 deletions

View file

@ -38,6 +38,12 @@ FlagDesc flagdesc_deco[] = {
///////////////////////////////////////////////////////////////////////////////
DecorationManager::DecorationManager(IGameDef *gamedef) :
GenElementManager(gamedef)
{
}
size_t DecorationManager::placeAllDecos(Mapgen *mg, u32 seed, v3s16 nmin, v3s16 nmax)
{
size_t nplaced = 0;
@ -55,6 +61,19 @@ size_t DecorationManager::placeAllDecos(Mapgen *mg, u32 seed, v3s16 nmin, v3s16
}
void DecorationManager::clear()
{
for (size_t i = 0; i < m_elements.size(); i++) {
Decoration *deco = (Decoration *)m_elements[i];
if (!deco)
continue;
deco->dropResolverEntries(m_resolver);
}
m_elements.clear();
}
///////////////////////////////////////////////////////////////////////////////
@ -291,6 +310,13 @@ int DecoSimple::getHeight()
}
void DecoSimple::dropResolverEntries(NodeResolver *resolver)
{
resolver->cancelNodeList(&c_decos);
resolver->cancelNodeList(&c_spawnby);
}
///////////////////////////////////////////////////////////////////////////////