#include <l_nodemeta.h>
Public Member Functions | |
NodeMetaRef (v3s16 p, ServerEnvironment *env) | |
NodeMetaRef (Metadata *meta) | |
~NodeMetaRef ()=default | |
Public Member Functions inherited from MetaDataRef | |
virtual | ~MetaDataRef ()=default |
Static Public Member Functions | |
static void | create (lua_State *L, v3s16 p, ServerEnvironment *env) |
static void | createClient (lua_State *L, Metadata *meta) |
static void | RegisterCommon (lua_State *L) |
static void | Register (lua_State *L) |
static void | RegisterClient (lua_State *L) |
Static Public Member Functions inherited from ModApiBase | |
static ScriptApiBase * | getScriptApiBase (lua_State *L) |
static Server * | getServer (lua_State *L) |
static ServerInventoryManager * | getServerInventoryMgr (lua_State *L) |
static Client * | getClient (lua_State *L) |
static GUIEngine * | getGuiEngine (lua_State *L) |
static IGameDef * | getGameDef (lua_State *L) |
static Environment * | getEnv (lua_State *L) |
static std::string | getCurrentModPath (lua_State *L) |
template<typename T > | |
static T * | getScriptApi (lua_State *L) |
static bool | registerFunction (lua_State *L, const char *name, lua_CFunction func, int top) |
static int | l_deprecated_function (lua_State *L, const char *good, const char *bad, lua_CFunction func) |
A wrapper for deprecated functions. More... | |
Private Member Functions | |
virtual Metadata * | getmeta (bool auto_create) |
Retrieve metadata for a node. More... | |
virtual void | clearMeta () |
virtual void | reportMetadataChange (const std::string *name=nullptr) |
virtual void | handleToTable (lua_State *L, Metadata *_meta) |
virtual bool | handleFromTable (lua_State *L, int table, Metadata *_meta) |
Static Private Member Functions | |
static NodeMetaRef * | checkobject (lua_State *L, int narg) |
static int | gc_object (lua_State *L) |
static int | l_get_inventory (lua_State *L) |
static int | l_mark_as_private (lua_State *L) |
Private Attributes | |
v3s16 | m_p |
ServerEnvironment * | m_env = nullptr |
Metadata * | m_meta = nullptr |
bool | m_is_local = false |
Static Private Attributes | |
static const char | className [] = "NodeMetaRef" |
static const luaL_Reg | methodsServer [] |
static const luaL_Reg | methodsClient [] |
Additional Inherited Members | |
Protected Member Functions inherited from LuaHelper | |
template<> | |
bool | readParam (lua_State *L, int index) |
Static Protected Member Functions inherited from MetaDataRef | |
static MetaDataRef * | checkobject (lua_State *L, int narg) |
static int | l_contains (lua_State *L) |
static int | l_get (lua_State *L) |
static int | l_get_string (lua_State *L) |
static int | l_set_string (lua_State *L) |
static int | l_get_int (lua_State *L) |
static int | l_set_int (lua_State *L) |
static int | l_get_float (lua_State *L) |
static int | l_set_float (lua_State *L) |
static int | l_to_table (lua_State *L) |
static int | l_from_table (lua_State *L) |
static int | l_equals (lua_State *L) |
Static Protected Member Functions inherited from LuaHelper | |
static bool | isNaN (lua_State *L, int idx) |
template<typename T > | |
static T | readParam (lua_State *L, int index) |
Read a value using a template type T from Lua State L and index. More... | |
template<typename T > | |
static T | readParam (lua_State *L, int index, const T &default_value) |
Read a value using a template type T from Lua State L and index. More... | |
NodeMetaRef::NodeMetaRef | ( | v3s16 | p, |
ServerEnvironment * | env | ||
) |
NodeMetaRef::NodeMetaRef | ( | Metadata * | meta | ) |
|
default |
|
staticprivate |
References className.
Referenced by l_get_inventory(), and l_mark_as_private().
|
privatevirtual |
Implements MetaDataRef.
References ServerEnvironment::getMap(), m_env, m_is_local, m_p, Map::removeNodeMetadata(), and SANITY_CHECK.
|
static |
References NodeMetaRef(), className, and p().
Referenced by ModApiEnvMod::l_get_meta().
|
static |
References NodeMetaRef(), and className.
Referenced by ModApiClient::l_get_meta().
|
staticprivate |
|
privatevirtual |
Retrieve metadata for a node.
If auto_create
is set and the specified node has no metadata information associated with it yet, the method attempts to attach a new metadata object to the node and returns a pointer to the metadata when successful.
However, it is NOT guaranteed that the method will return a pointer, and NULL
may be returned in case of an error regardless of auto_create
.
ref | specifies the node for which the associated metadata is retrieved. |
auto_create | when true, try to create metadata information for the node if it has none. |
NodeMetadata
object or NULL
in case of error. Implements MetaDataRef.
References ServerEnvironment::getGameDef(), ServerEnvironment::getMap(), Map::getNodeMetadata(), IGameDef::idef(), m_env, m_is_local, m_meta, m_p, and Map::setNodeMetadata().
Referenced by l_get_inventory(), and l_mark_as_private().
|
privatevirtual |
Reimplemented from MetaDataRef.
References NodeMetadata::getInventory(), ModApiBase::getServer(), MetaDataRef::handleFromTable(), read_inventory_list(), and table.
|
privatevirtual |
Reimplemented from MetaDataRef.
References NodeMetadata::getInventory(), Inventory::getLists(), MetaDataRef::handleToTable(), and push_inventory_list().
|
staticprivate |
References checkobject(), InvRef::createNodeMeta(), getmeta(), m_p, and MAP_LOCK_REQUIRED.
|
staticprivate |
References checkobject(), getmeta(), MAP_LOCK_REQUIRED, NodeMetadata::markPrivate(), and reportMetadataChange().
|
static |
References methodsServer, and RegisterCommon().
Referenced by ServerScripting::InitializeModApi().
|
static |
References methodsClient, and RegisterCommon().
Referenced by ClientScripting::InitializeModApi().
|
static |
References className, gc_object(), and MetaDataRef::l_equals().
Referenced by Register(), and RegisterClient().
|
privatevirtual |
Reimplemented from MetaDataRef.
References Map::dispatchEvent(), ServerEnvironment::getMap(), NodeMetadata::isPrivate(), m_env, m_is_local, m_meta, m_p, MEET_BLOCK_NODE_METADATA_CHANGED, SANITY_CHECK, and MapEditEvent::type.
Referenced by l_mark_as_private().
|
staticprivate |
Referenced by checkobject(), create(), createClient(), and RegisterCommon().
|
private |
Referenced by clearMeta(), getmeta(), and reportMetadataChange().
|
private |
Referenced by clearMeta(), getmeta(), and reportMetadataChange().
|
private |
Referenced by getmeta(), and reportMetadataChange().
|
private |
Referenced by clearMeta(), getmeta(), l_get_inventory(), and reportMetadataChange().
|
staticprivate |
Referenced by RegisterClient().
|
staticprivate |
Referenced by Register().