mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Redefine NodeResolver interface and replace with callback mechanism
This commit is contained in:
parent
3ea5ed4ffe
commit
b67f37f27e
16 changed files with 278 additions and 364 deletions
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue