From: kwolekr Date: Tue, 30 Dec 2014 04:15:53 +0000 (-0500) Subject: Add support back for resolving group names in NodeResolver X-Git-Tag: 0.4.12~172 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c6df2bc42ca82eb75136112c3ad5610a42c1ea6a;p=oweals%2Fminetest.git Add support back for resolving group names in NodeResolver --- diff --git a/src/nodedef.cpp b/src/nodedef.cpp index f87daa528..f01a7e87b 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -1356,13 +1356,21 @@ bool CNodeDefManager::getIdsFromResolveInfo(NodeResolveInfo *nri, std::string name = nri->nodenames.front(); nri->nodenames.pop_front(); - if (getId(name, c)) { - result.push_back(c); - } else if (listinfo.all_required) { - errorstream << "Resolver: Failed to resolve node name '" << name - << "'." << std::endl; - result.push_back(listinfo.c_fallback); - success = false; + if (name.substr(0,6) != "group:") { + if (getId(name, c)) { + result.push_back(c); + } else if (listinfo.all_required) { + errorstream << "Resolver: Failed to resolve node name '" << name + << "'." << std::endl; + result.push_back(listinfo.c_fallback); + success = false; + } + } else { + std::set cids; + std::set::iterator it; + getIds(name, cids); + for (it = cids.begin(); it != cids.end(); ++it) + result.push_back(*it); } }