Skip to content

Commit

Permalink
Only create one alias metatable
Browse files Browse the repository at this point in the history
  • Loading branch information
ShadowNinja committed Dec 4, 2013
1 parent e51ad53 commit 000da6b
Showing 1 changed file with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions builtin/misc_register.lua
Expand Up @@ -24,17 +24,15 @@ minetest.registered_aliases = {}

-- For tables that are indexed by item name:
-- If table[X] does not exist, default to table[minetest.registered_aliases[X]]
local function set_alias_metatable(table)
setmetatable(table, {
__index = function(name)
return rawget(table, minetest.registered_aliases[name])
end
})
end
set_alias_metatable(minetest.registered_items)
set_alias_metatable(minetest.registered_nodes)
set_alias_metatable(minetest.registered_craftitems)
set_alias_metatable(minetest.registered_tools)
local alias_metatable = {
__index = function(t, name)
return rawget(t, minetest.registered_aliases[name])
end
}
setmetatable(minetest.registered_items, alias_metatable)
setmetatable(minetest.registered_nodes, alias_metatable)
setmetatable(minetest.registered_craftitems, alias_metatable)
setmetatable(minetest.registered_tools, alias_metatable)

-- These item names may not be used because they would interfere
-- with legacy itemstrings
Expand Down

0 comments on commit 000da6b

Please sign in to comment.