mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-27 17:28:41 +00:00
Add minetest.override_item
This commit is contained in:
parent
8966c16ad2
commit
574ed6a363
2 changed files with 22 additions and 0 deletions
|
@ -315,6 +315,24 @@ minetest.register_item(":", {
|
|||
})
|
||||
|
||||
|
||||
function minetest.override_item(name, redefinition)
|
||||
if redefinition.name ~= nil then
|
||||
error("Attemt to redefine name of "..name.." to "..dump(redefinition.name), 2)
|
||||
end
|
||||
if redefinition.type ~= nil then
|
||||
error("Attemt to redefine type of "..name.." to "..dump(redefinition.type), 2)
|
||||
end
|
||||
local item = minetest.registered_items[name]
|
||||
if not item then
|
||||
error("Attemt to override non-existent item "..name, 2)
|
||||
end
|
||||
for k, v in pairs(redefinition) do
|
||||
rawset(item, k, v)
|
||||
end
|
||||
register_item_raw(item)
|
||||
end
|
||||
|
||||
|
||||
function minetest.run_callbacks(callbacks, mode, ...)
|
||||
assert(type(callbacks) == "table")
|
||||
local cb_len = #callbacks
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue