Minetest  5.4.0
NodeResolver Class Referenceabstract

#include <nodedef.h>

+ Inheritance diagram for NodeResolver:
+ Collaboration diagram for NodeResolver:

Public Member Functions

 NodeResolver ()
 
virtual ~NodeResolver ()
 
virtual void resolveNodeNames ()=0
 
void cloneTo (NodeResolver *res) const
 
bool getIdFromNrBacklog (content_t *result_out, const std::string &node_alt, content_t c_fallback, bool error_on_fallback=true)
 
bool getIdsFromNrBacklog (std::vector< content_t > *result_out, bool all_required=false, content_t c_fallback=CONTENT_IGNORE)
 
void nodeResolveInternal ()
 

Public Attributes

u32 m_nodenames_idx = 0
 
u32 m_nnlistsizes_idx = 0
 
std::vector< std::string > m_nodenames
 
std::vector< size_t > m_nnlistsizes
 
const NodeDefManagerm_ndef = nullptr
 
bool m_resolve_done = false
 

Constructor & Destructor Documentation

◆ NodeResolver()

NodeResolver::NodeResolver ( )

References m_nnlistsizes, and m_nodenames.

◆ ~NodeResolver()

NodeResolver::~NodeResolver ( )
virtual

References NodeDefManager::cancelNodeResolveCallback(), m_ndef, and m_resolve_done.

+ Here is the call graph for this function:

Member Function Documentation

◆ cloneTo()

void NodeResolver::cloneTo ( NodeResolver res) const

References FATAL_ERROR_IF, m_ndef, and m_resolve_done.

Referenced by Biome::clone(), DecoSchematic::clone(), Schematic::clone(), and Ore::cloneTo().

+ Here is the caller graph for this function:

◆ getIdFromNrBacklog()

bool NodeResolver::getIdFromNrBacklog ( content_t result_out,
const std::string &  node_alt,
content_t  c_fallback,
bool  error_on_fallback = true 
)

References errorstream, NodeDefManager::getId(), m_ndef, m_nodenames, and m_nodenames_idx.

Referenced by Biome::resolveNodeNames(), Ore::resolveNodeNames(), Foobar::resolveNodeNames(), and Foobaz::resolveNodeNames().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIdsFromNrBacklog()

bool NodeResolver::getIdsFromNrBacklog ( std::vector< content_t > *  result_out,
bool  all_required = false,
content_t  c_fallback = CONTENT_IGNORE 
)

References errorstream, NodeDefManager::getId(), NodeDefManager::getIds(), m_ndef, m_nnlistsizes, m_nnlistsizes_idx, m_nodenames, and m_nodenames_idx.

Referenced by Biome::resolveNodeNames(), Decoration::resolveNodeNames(), DecoSimple::resolveNodeNames(), Ore::resolveNodeNames(), Schematic::resolveNodeNames(), and Foobar::resolveNodeNames().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nodeResolveInternal()

void NodeResolver::nodeResolveInternal ( )

References m_nnlistsizes, m_nnlistsizes_idx, m_nodenames, m_nodenames_idx, m_resolve_done, and resolveNodeNames().

Referenced by NodeDefManager::pendNodeResolve(), and NodeDefManager::runNodeResolveCallbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resolveNodeNames()

virtual void NodeResolver::resolveNodeNames ( )
pure virtual

Implemented in Foobaz, Foobar, Schematic, Ore, DecoSimple, Decoration, and Biome.

Referenced by nodeResolveInternal().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_ndef

◆ m_nnlistsizes

◆ m_nnlistsizes_idx

u32 NodeResolver::m_nnlistsizes_idx = 0

◆ m_nodenames

◆ m_nodenames_idx

u32 NodeResolver::m_nodenames_idx = 0

◆ m_resolve_done

bool NodeResolver::m_resolve_done = false

The documentation for this class was generated from the following files: