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:
parent
cec141adc1
commit
cf8213ea82
12 changed files with 97 additions and 11 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue