From: HybridDog <3192173+HybridDog@users.noreply.github.com> Date: Wed, 11 Mar 2020 15:25:14 +0000 (+0100) Subject: minetest.get_content_id: error if the node does not exist (#9458) X-Git-Tag: 5.2.0~76 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fd4daefb29f2922937849a207812fe368260f43e;p=oweals%2Fminetest.git 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". --- 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 */ }