Minetest  5.4.0
CItemDefManager Class Reference
+ Inheritance diagram for CItemDefManager:
+ Collaboration diagram for CItemDefManager:

Classes

struct  ClientCached
 

Public Member Functions

 CItemDefManager ()
 
virtual ~CItemDefManager ()
 
virtual const ItemDefinitionget (const std::string &name_) const
 
virtual const std::string & getAlias (const std::string &name) const
 
virtual void getAll (std::set< std::string > &result) const
 
virtual bool isKnown (const std::string &name_) const
 
ClientCachedcreateClientCachedDirect (const std::string &name, Client *client) const
 
ClientCachedgetClientCached (const std::string &name, Client *client) const
 
virtual video::ITexture * getInventoryTexture (const std::string &name, Client *client) const
 
virtual ItemMeshgetWieldMesh (const std::string &name, Client *client) const
 
virtual PalettegetPalette (const std::string &name, Client *client) const
 
virtual video::SColor getItemstackColor (const ItemStack &stack, Client *client) const
 
void applyTextureOverrides (const std::vector< TextureOverride > &overrides)
 
void clear ()
 
virtual void registerItem (const ItemDefinition &def)
 
virtual void unregisterItem (const std::string &name)
 
virtual void registerAlias (const std::string &name, const std::string &convert_to)
 
void serialize (std::ostream &os, u16 protocol_version)
 
void deSerialize (std::istream &is)
 
void processQueue (IGameDef *gamedef)
 
- Public Member Functions inherited from IWritableItemDefManager
 IWritableItemDefManager ()=default
 
virtual ~IWritableItemDefManager ()=default
 
- Public Member Functions inherited from IItemDefManager
 IItemDefManager ()=default
 
virtual ~IItemDefManager ()=default
 

Private Attributes

std::map< std::string, ItemDefinition * > m_item_definitions
 
StringMap m_aliases
 
std::thread::id m_main_thread
 
ClientCached m_dummy_clientcached
 
MutexedMap< std::string, ClientCached * > m_clientcached
 
RequestQueue< std::string, ClientCached *, u8, u8 > m_get_clientcached_queue
 

Constructor & Destructor Documentation

◆ CItemDefManager()

CItemDefManager::CItemDefManager ( )
inline

References clear(), and m_main_thread.

+ Here is the call graph for this function:

◆ ~CItemDefManager()

virtual CItemDefManager::~CItemDefManager ( )
inlinevirtual

Member Function Documentation

◆ applyTextureOverrides()

void CItemDefManager::applyTextureOverrides ( const std::vector< TextureOverride > &  overrides)
inlinevirtual

◆ clear()

void CItemDefManager::clear ( )
inlinevirtual

Implements IWritableItemDefManager.

References ITEM_NODE, m_aliases, m_item_definitions, ItemDefinition::name, ItemDefinition::tool_capabilities, ItemDefinition::type, and ItemDefinition::wield_image.

Referenced by CItemDefManager(), and deSerialize().

+ Here is the caller graph for this function:

◆ createClientCachedDirect()

ClientCached* CItemDefManager::createClientCachedDirect ( const std::string &  name,
Client client 
) const
inline

References get(), getItemMesh(), ITextureSource::getPalette(), ITextureSource::getTexture(), infostream, ItemDefinition::inventory_image, CItemDefManager::ClientCached::inventory_texture, m_clientcached, m_main_thread, ItemStack::name, ItemDefinition::name, CItemDefManager::ClientCached::palette, ItemDefinition::palette_image, sanity_check, and CItemDefManager::ClientCached::wield_mesh.

Referenced by getClientCached(), and processQueue().

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

◆ deSerialize()

void CItemDefManager::deSerialize ( std::istream &  is)
inlinevirtual

Implements IWritableItemDefManager.

References clear(), ItemDefinition::deSerialize(), deSerializeString16(), readU16(), readU8(), registerAlias(), and registerItem().

+ Here is the call graph for this function:

◆ get()

virtual const ItemDefinition& CItemDefManager::get ( const std::string &  name_) const
inlinevirtual

Implements IWritableItemDefManager.

References getAlias(), and m_item_definitions.

Referenced by createClientCachedDirect(), and getItemstackColor().

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

◆ getAlias()

virtual const std::string& CItemDefManager::getAlias ( const std::string &  name) const
inlinevirtual

Implements IWritableItemDefManager.

References m_aliases.

Referenced by get(), and isKnown().

+ Here is the caller graph for this function:

◆ getAll()

virtual void CItemDefManager::getAll ( std::set< std::string > &  result) const
inlinevirtual

◆ getClientCached()

ClientCached* CItemDefManager::getClientCached ( const std::string &  name,
Client client 
) const
inline

References createClientCachedDirect(), errorstream, GetResult< Key, T, Caller, CallerData >::item, GetResult< Key, T, Caller, CallerData >::key, m_clientcached, m_dummy_clientcached, m_get_clientcached_queue, m_main_thread, and MutexedQueue< T >::pop_front().

Referenced by getInventoryTexture(), getPalette(), and getWieldMesh().

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

◆ getInventoryTexture()

virtual video::ITexture* CItemDefManager::getInventoryTexture ( const std::string &  name,
Client client 
) const
inlinevirtual

Implements IWritableItemDefManager.

References getClientCached(), and CItemDefManager::ClientCached::inventory_texture.

+ Here is the call graph for this function:

◆ getItemstackColor()

virtual video::SColor CItemDefManager::getItemstackColor ( const ItemStack stack,
Client client 
) const
inlinevirtual

Implements IItemDefManager.

References ItemDefinition::color, get(), getPalette(), Metadata::getString(), ItemStack::metadata, mystoi(), ItemStack::name, and parseColorString().

+ Here is the call graph for this function:

◆ getPalette()

virtual Palette* CItemDefManager::getPalette ( const std::string &  name,
Client client 
) const
inlinevirtual

Implements IItemDefManager.

References getClientCached(), and CItemDefManager::ClientCached::palette.

Referenced by getItemstackColor().

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

◆ getWieldMesh()

virtual ItemMesh* CItemDefManager::getWieldMesh ( const std::string &  name,
Client client 
) const
inlinevirtual

Implements IWritableItemDefManager.

References getClientCached(), and CItemDefManager::ClientCached::wield_mesh.

+ Here is the call graph for this function:

◆ isKnown()

virtual bool CItemDefManager::isKnown ( const std::string &  name_) const
inlinevirtual

Implements IWritableItemDefManager.

References getAlias(), and m_item_definitions.

+ Here is the call graph for this function:

◆ processQueue()

void CItemDefManager::processQueue ( IGameDef gamedef)
inlinevirtual

Implements IWritableItemDefManager.

References createClientCachedDirect(), GetRequest< Key, T, Caller, CallerData >::key, and m_get_clientcached_queue.

+ Here is the call graph for this function:

◆ registerAlias()

virtual void CItemDefManager::registerAlias ( const std::string &  name,
const std::string &  convert_to 
)
inlinevirtual

Implements IWritableItemDefManager.

References m_aliases, m_item_definitions, and TRACESTREAM.

Referenced by deSerialize().

+ Here is the caller graph for this function:

◆ registerItem()

virtual void CItemDefManager::registerItem ( const ItemDefinition def)
inlinevirtual

Implements IWritableItemDefManager.

References FATAL_ERROR_IF, infostream, m_aliases, m_item_definitions, ItemDefinition::name, ItemDefinition::tool_capabilities, and TRACESTREAM.

Referenced by deSerialize().

+ Here is the caller graph for this function:

◆ serialize()

void CItemDefManager::serialize ( std::ostream &  os,
u16  protocol_version 
)
inlinevirtual

Implements IWritableItemDefManager.

References m_aliases, m_item_definitions, ItemDefinition::serialize(), serializeString16(), writeU16(), and writeU8().

+ Here is the call graph for this function:

◆ unregisterItem()

virtual void CItemDefManager::unregisterItem ( const std::string &  name)
inlinevirtual

Member Data Documentation

◆ m_aliases

StringMap CItemDefManager::m_aliases
private

◆ m_clientcached

MutexedMap<std::string, ClientCached*> CItemDefManager::m_clientcached
mutableprivate

◆ m_dummy_clientcached

ClientCached CItemDefManager::m_dummy_clientcached
mutableprivate

Referenced by getClientCached().

◆ m_get_clientcached_queue

RequestQueue<std::string, ClientCached*, u8, u8> CItemDefManager::m_get_clientcached_queue
mutableprivate

Referenced by getClientCached(), and processQueue().

◆ m_item_definitions

std::map<std::string, ItemDefinition*> CItemDefManager::m_item_definitions
private

◆ m_main_thread

std::thread::id CItemDefManager::m_main_thread
private

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