summaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_client.cpp
diff options
context:
space:
mode:
authorred-001 <red-001@outlook.ie>2017-04-04 06:41:37 +0100
committerLoïc Blot <nerzhul@users.noreply.github.com>2017-04-04 07:41:37 +0200
commit000ec260017256016b62bb9936bbda1ff969e252 (patch)
tree9eebd6b3f1be915fe1195e241a8a754f1bb44259 /src/script/lua_api/l_client.cpp
parent859141a0ce38fbd606d95ae7a2f0999acf2fbe84 (diff)
downloadminetest-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.cpp13
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);
}