summaryrefslogtreecommitdiff
path: root/src/mg_ore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mg_ore.cpp')
-rw-r--r--src/mg_ore.cpp25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/mg_ore.cpp b/src/mg_ore.cpp
index de3f6b0e5..8681b5782 100644
--- a/src/mg_ore.cpp
+++ b/src/mg_ore.cpp
@@ -64,11 +64,7 @@ void OreManager::clear()
{
for (size_t i = 0; i < m_elements.size(); i++) {
Ore *ore = (Ore *)m_elements[i];
- if (!ore)
- continue;
-
- m_resolver->cancelNodeList(&ore->c_wherein);
- m_resolver->cancelNode(&ore->c_ore);
+ delete ore;
}
m_elements.clear();
}
@@ -84,6 +80,19 @@ Ore::Ore()
}
+Ore::~Ore()
+{
+ delete noise;
+}
+
+
+void Ore::resolveNodeNames(NodeResolveInfo *nri)
+{
+ m_ndef->getIdFromResolveInfo(nri, "", CONTENT_AIR, c_ore);
+ m_ndef->getIdsFromResolveInfo(nri, c_wherein);
+}
+
+
size_t Ore::placeOre(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax)
{
int in_range = 0;
@@ -113,6 +122,9 @@ size_t Ore::placeOre(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax)
}
+///////////////////////////////////////////////////////////////////////////////
+
+
void OreScatter::generate(ManualMapVoxelManipulator *vm, int seed,
u32 blockseed, v3s16 nmin, v3s16 nmax)
{
@@ -151,6 +163,9 @@ void OreScatter::generate(ManualMapVoxelManipulator *vm, int seed,
}
+///////////////////////////////////////////////////////////////////////////////
+
+
void OreSheet::generate(ManualMapVoxelManipulator *vm, int seed,
u32 blockseed, v3s16 nmin, v3s16 nmax)
{