mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add NodeResolver and clean up node name -> content ID resolution system
This commit is contained in:
parent
b49e5cfc70
commit
d274cbfce6
11 changed files with 445 additions and 342 deletions
|
@ -85,7 +85,7 @@ EmergeManager::EmergeManager(IGameDef *gamedef) {
|
|||
registerMapgen("singlenode", new MapgenFactorySinglenode());
|
||||
|
||||
this->ndef = gamedef->getNodeDefManager();
|
||||
this->biomedef = new BiomeDefManager();
|
||||
this->biomedef = new BiomeDefManager(gamedef->getNodeDefManager()->getResolver());
|
||||
this->gennotify = 0;
|
||||
|
||||
// Note that accesses to this variable are not synchronized.
|
||||
|
@ -145,9 +145,9 @@ EmergeManager::~EmergeManager() {
|
|||
delete decorations[i];
|
||||
decorations.clear();
|
||||
|
||||
for (std::map<std::string, MapgenFactory *>::iterator iter = mglist.begin();
|
||||
iter != mglist.end(); iter ++) {
|
||||
delete iter->second;
|
||||
for (std::map<std::string, MapgenFactory *>::iterator it = mglist.begin();
|
||||
it != mglist.end(); ++it) {
|
||||
delete it->second;
|
||||
}
|
||||
mglist.clear();
|
||||
|
||||
|
@ -176,16 +176,6 @@ void EmergeManager::initMapgens() {
|
|||
if (mapgen.size())
|
||||
return;
|
||||
|
||||
// Resolve names of nodes for things that were registered
|
||||
// (at this point, the registration period is over)
|
||||
biomedef->resolveNodeNames(ndef);
|
||||
|
||||
for (size_t i = 0; i != ores.size(); i++)
|
||||
ores[i]->resolveNodeNames(ndef);
|
||||
|
||||
for (size_t i = 0; i != decorations.size(); i++)
|
||||
decorations[i]->resolveNodeNames(ndef);
|
||||
|
||||
if (!params.sparams) {
|
||||
params.sparams = createMapgenParams(params.mg_name);
|
||||
if (!params.sparams) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue