{
for (size_t i = 0; i < m_elements.size(); i++) {
Decoration *deco = (Decoration *)m_elements[i];
- if (!deco)
- continue;
-
- deco->dropResolverEntries(m_resolver);
+ delete deco;
}
m_elements.clear();
}
}
+void Decoration::resolveNodeNames(NodeResolveInfo *nri)
+{
+ m_ndef->getIdsFromResolveInfo(nri, c_place_on);
+}
+
+
size_t Decoration::placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax)
{
PseudoRandom ps(blockseed + 53);
if (mg->biomemap) {
std::set<u8>::iterator iter;
- if (biomes.size()) {
+ if (!biomes.empty()) {
iter = biomes.find(mg->biomemap[mapindex]);
if (iter == biomes.end())
continue;
///////////////////////////////////////////////////////////////////////////////
+void DecoSimple::resolveNodeNames(NodeResolveInfo *nri)
+{
+ Decoration::resolveNodeNames(nri);
+ m_ndef->getIdsFromResolveInfo(nri, c_decos);
+ m_ndef->getIdsFromResolveInfo(nri, c_spawnby);
+}
+
+
bool DecoSimple::canPlaceDecoration(ManualMapVoxelManipulator *vm, v3s16 p)
{
// Don't bother if there aren't any decorations to place
}
-void DecoSimple::dropResolverEntries(NodeResolver *resolver)
-{
- resolver->cancelNodeList(&c_decos);
- resolver->cancelNodeList(&c_spawnby);
-}
-
-
///////////////////////////////////////////////////////////////////////////////