From fd4daefb29f2922937849a207812fe368260f43e Mon Sep 17 00:00:00 2001 From: HybridDog <3192173+HybridDog@users.noreply.github.com> Date: Wed, 11 Mar 2020 16:25:14 +0100 Subject: minetest.get_content_id: error if the node does not exist (#9458) If a mod creator makes a typing mistake, this function now causes an error instead of returning the id of "ignore". --- src/script/lua_api/l_item.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/script') diff --git a/src/script/lua_api/l_item.cpp b/src/script/lua_api/l_item.cpp index a76e5527a..0c174feca 100644 --- a/src/script/lua_api/l_item.cpp +++ b/src/script/lua_api/l_item.cpp @@ -612,9 +612,11 @@ int ModApiItemMod::l_get_content_id(lua_State *L) std::string name = luaL_checkstring(L, 1); const NodeDefManager *ndef = getGameDef(L)->getNodeDefManager(); - content_t c = ndef->getId(name); + content_t content_id; + if (!ndef->getId(name, content_id)) + throw LuaError("Unknown node: " + name); - lua_pushinteger(L, c); + lua_pushinteger(L, content_id); return 1; /* number of results */ } -- cgit v1.2.3