summaryrefslogtreecommitdiff
path: root/src/script/common/c_content.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/common/c_content.cpp')
-rw-r--r--src/script/common/c_content.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp
index 793485e25..361db226e 100644
--- a/src/script/common/c_content.cpp
+++ b/src/script/common/c_content.cpp
@@ -1093,7 +1093,7 @@ MapNode readnode(lua_State *L, int index, const NodeDefManager *ndef)
lua_getfield(L, index, "name");
if (!lua_isstring(L, -1))
throw LuaError("Node name is not set or is not a string!");
- const char *name = lua_tostring(L, -1);
+ std::string name = lua_tostring(L, -1);
lua_pop(L, 1);
u8 param1 = 0;
@@ -1108,7 +1108,11 @@ MapNode readnode(lua_State *L, int index, const NodeDefManager *ndef)
param2 = lua_tonumber(L, -1);
lua_pop(L, 1);
- return {ndef, name, param1, param2};
+ content_t id = CONTENT_IGNORE;
+ if (!ndef->getId(name, id))
+ throw LuaError("\"" + name + "\" is not a registered node!");
+
+ return {id, param1, param2};
}
/******************************************************************************/