///////////////////////////////////////////////////////////////////////////////
+DecorationManager::DecorationManager(IGameDef *gamedef) :
+ GenElementManager(gamedef)
+{
+}
+
+
size_t DecorationManager::placeAllDecos(Mapgen *mg, u32 seed, v3s16 nmin, v3s16 nmax)
{
size_t nplaced = 0;
}
+void DecorationManager::clear()
+{
+ for (size_t i = 0; i < m_elements.size(); i++) {
+ Decoration *deco = (Decoration *)m_elements[i];
+ 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