summaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_item.cpp
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2013-06-25 11:02:02 -0400
committerkwolekr <kwolekr@minetest.net>2013-06-27 22:35:35 -0400
commitd6ac3d8d9a6484f2d348d1caea203de0069b6bd6 (patch)
treeaacdcb34b068a45a7f798769519632657813a554 /src/script/lua_api/l_item.cpp
parente47f6fdfe985b8907e0aa7372bb325ceb5ed5f4c (diff)
downloadminetest-d6ac3d8d9a6484f2d348d1caea203de0069b6bd6.tar.gz
minetest-d6ac3d8d9a6484f2d348d1caea203de0069b6bd6.tar.bz2
minetest-d6ac3d8d9a6484f2d348d1caea203de0069b6bd6.zip
Add LuaVoxelManip
Diffstat (limited to 'src/script/lua_api/l_item.cpp')
-rw-r--r--src/script/lua_api/l_item.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/script/lua_api/l_item.cpp b/src/script/lua_api/l_item.cpp
index 730dfd49b..c69562dda 100644
--- a/src/script/lua_api/l_item.cpp
+++ b/src/script/lua_api/l_item.cpp
@@ -457,12 +457,40 @@ int ModApiItemMod::l_register_alias_raw(lua_State *L)
return 0; /* number of results */
}
+// get_content_id(name)
+int ModApiItemMod::l_get_content_id(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ std::string name = luaL_checkstring(L, 1);
+
+ INodeDefManager *ndef = STACK_TO_SERVER(L)->getNodeDefManager();
+ content_t c = ndef->getId(name);
+
+ lua_pushnumber(L, c);
+ return 1; /* number of results */
+}
+
+// get_name_from_content_id(name)
+int ModApiItemMod::l_get_name_from_content_id(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ content_t c = luaL_checkint(L, 1);
+
+ INodeDefManager *ndef = STACK_TO_SERVER(L)->getNodeDefManager();
+ const char *name = ndef->get(c).name.c_str();
+
+ lua_pushstring(L, name);
+ return 1; /* number of results */
+}
+
bool ModApiItemMod::Initialize(lua_State *L,int top) {
bool retval = true;
retval &= API_FCT(register_item_raw);
retval &= API_FCT(register_alias_raw);
+ retval &= API_FCT(get_content_id);
+ retval &= API_FCT(get_name_from_content_id);
LuaItemStack::Register(L);