From 48009b6c62902af784817b9539d108059227533b Mon Sep 17 00:00:00 2001 From: Anthony Zhang Date: Mon, 24 Jun 2013 17:13:10 -0400 Subject: [PATCH] Support aliases in node name resolution. For example, `//set mapgen_dirt`. Technique outlined by kharl in IRC. --- worldedit_commands/init.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/worldedit_commands/init.lua b/worldedit_commands/init.lua index d98dc9d..d75fdbf 100644 --- a/worldedit_commands/init.lua +++ b/worldedit_commands/init.lua @@ -17,18 +17,18 @@ end --determines whether `nodename` is a valid node name, returning a boolean worldedit.normalize_nodename = function(nodename) - if minetest.registered_nodes[nodename] then --directly found node name - return nodename - elseif minetest.registered_nodes["default:" .. nodename] then --found node name in default - return "default:" .. nodename + local fullname = ItemStack({name=nodename}):get_name() --resolve aliases of node names to full names + if minetest.registered_nodes[fullname] then --directly found node name or alias of nodename + return fullname end for key, value in pairs(minetest.registered_nodes) do if key:find(":" .. nodename, 1, true) then --found in mod return key end end + nodename = nodename:lower() --lowercase both for case insensitive comparison for key, value in pairs(minetest.registered_nodes) do - if value.description:lower() == nodename:lower() then --found in description + if value.description:lower() == nodename then --found in description return key end end