diff options
author | red-001 <red-001@outlook.ie> | 2017-04-04 06:41:37 +0100 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-04-04 07:41:37 +0200 |
commit | 000ec260017256016b62bb9936bbda1ff969e252 (patch) | |
tree | 9eebd6b3f1be915fe1195e241a8a754f1bb44259 /src/script/lua_api/l_client.cpp | |
parent | 859141a0ce38fbd606d95ae7a2f0999acf2fbe84 (diff) | |
download | minetest-000ec260017256016b62bb9936bbda1ff969e252.tar.gz minetest-000ec260017256016b62bb9936bbda1ff969e252.tar.bz2 minetest-000ec260017256016b62bb9936bbda1ff969e252.zip |
[CSM] Add local node meta reference. (#5508)
Diffstat (limited to 'src/script/lua_api/l_client.cpp')
-rw-r--r-- | src/script/lua_api/l_client.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/script/lua_api/l_client.cpp b/src/script/lua_api/l_client.cpp index 5f9474702..5a0cd5cc3 100644 --- a/src/script/lua_api/l_client.cpp +++ b/src/script/lua_api/l_client.cpp @@ -25,8 +25,11 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "gettext.h" #include "l_internal.h" #include "lua_api/l_item.h" +#include "lua_api/l_nodemeta.h" #include "mainmenumanager.h" #include "util/string.h" +#include "clientenvironment.h" +#include "map.h" extern MainGameCallback *g_gamecallback; @@ -182,6 +185,15 @@ int ModApiClient::l_get_wielded_item(lua_State *L) return 1; } +// get_meta(pos) +int ModApiClient::l_get_meta(lua_State *L) +{ + v3s16 p = read_v3s16(L, 1); + NodeMetadata *meta = getClient(L)->getEnv().getMap().getNodeMetadata(p); + NodeMetaRef::createClient(L, meta); + return 1; +} + void ModApiClient::Initialize(lua_State *L, int top) { API_FCT(get_current_modname); @@ -196,4 +208,5 @@ void ModApiClient::Initialize(lua_State *L, int top) API_FCT(get_node_or_nil); API_FCT(get_wielded_item); API_FCT(disconnect); + API_FCT(get_meta); } |