mirror of
https://github.com/minetest/minetest.git
synced 2024-11-22 23:53:44 +01:00
Allow removal of item definition fields (#14675)
This commit is contained in:
parent
8972e829f2
commit
408faa11a1
@ -404,7 +404,7 @@ core.register_item(":", {
|
||||
})
|
||||
|
||||
|
||||
function core.override_item(name, redefinition)
|
||||
function core.override_item(name, redefinition, del_fields)
|
||||
if redefinition.name ~= nil then
|
||||
error("Attempt to redefine name of "..name.." to "..dump(redefinition.name), 2)
|
||||
end
|
||||
@ -418,6 +418,9 @@ function core.override_item(name, redefinition)
|
||||
for k, v in pairs(redefinition) do
|
||||
rawset(item, k, v)
|
||||
end
|
||||
for _, field in ipairs(del_fields or {}) do
|
||||
rawset(item, field, nil)
|
||||
end
|
||||
register_item_raw(item)
|
||||
end
|
||||
|
||||
|
@ -5613,11 +5613,17 @@ Call these functions only at load time!
|
||||
* `minetest.register_node(name, node definition)`
|
||||
* `minetest.register_craftitem(name, item definition)`
|
||||
* `minetest.register_tool(name, item definition)`
|
||||
* `minetest.override_item(name, redefinition)`
|
||||
* `minetest.override_item(name, redefinition, del_fields)`
|
||||
* `redefinition` is a table of fields `[name] = new_value`,
|
||||
overwriting fields of or adding fields to the existing definition.
|
||||
* `del_fields` is a list of field names to be set
|
||||
to `nil` ("deleted from") the original definition.
|
||||
* Overrides fields of an item registered with register_node/tool/craftitem.
|
||||
* Note: Item must already be defined, (opt)depend on the mod defining it.
|
||||
* Example: `minetest.override_item("default:mese",
|
||||
{light_source=minetest.LIGHT_MAX})`
|
||||
{light_source=minetest.LIGHT_MAX}, {"sounds"})`:
|
||||
Overwrites the `light_source` field,
|
||||
removes the sounds from the definition of the mese block.
|
||||
* `minetest.unregister_item(name)`
|
||||
* Unregisters the item from the engine, and deletes the entry with key
|
||||
`name` from `minetest.registered_items` and from the associated item table
|
||||
|
Loading…
Reference in New Issue
Block a user