Charakterbewegungen hinzugefügt, Deko hinzugefügt, Kochrezepte angepasst
This commit is contained in:
parent
95945c0306
commit
a0c893ca0b
1124 changed files with 64294 additions and 763 deletions
61
mods/futil/minetest/group.lua
Normal file
61
mods/futil/minetest/group.lua
Normal file
|
@ -0,0 +1,61 @@
|
|||
function futil.add_groups(itemstring, new_groups)
|
||||
local def = minetest.registered_items[itemstring]
|
||||
if not def then
|
||||
error(("attempting to override unknown item %s"):format(itemstring))
|
||||
end
|
||||
local groups = table.copy(def.groups or {})
|
||||
futil.table.set_all(groups, new_groups)
|
||||
minetest.override_item(itemstring, { groups = groups })
|
||||
end
|
||||
|
||||
function futil.remove_groups(itemstring, ...)
|
||||
local def = minetest.registered_items[itemstring]
|
||||
if not def then
|
||||
error(("attempting to override unknown item %s"):format(itemstring))
|
||||
end
|
||||
local groups = table.copy(def.groups or {})
|
||||
for _, group in ipairs({ ... }) do
|
||||
groups[group] = nil
|
||||
end
|
||||
minetest.override_item(itemstring, { groups = groups })
|
||||
end
|
||||
|
||||
function futil.get_items_with_group(group)
|
||||
if futil.items_by_group then
|
||||
return futil.items_by_group[group] or {}
|
||||
end
|
||||
|
||||
local items = {}
|
||||
|
||||
for item in pairs(minetest.registered_items) do
|
||||
if minetest.get_item_group(item, group) > 0 then
|
||||
table.insert(items, item)
|
||||
end
|
||||
end
|
||||
|
||||
return items
|
||||
end
|
||||
|
||||
function futil.get_item_with_group(group)
|
||||
return futil.get_items_with_group(group)[1]
|
||||
end
|
||||
|
||||
function futil.generate_items_by_group()
|
||||
local items_by_group = {}
|
||||
|
||||
for item, def in pairs(minetest.registered_items) do
|
||||
for group in pairs(def.groups or {}) do
|
||||
local items = items_by_group[group] or {}
|
||||
table.insert(items, item)
|
||||
items_by_group[group] = items
|
||||
end
|
||||
end
|
||||
|
||||
futil.items_by_group = items_by_group
|
||||
end
|
||||
|
||||
if INIT == "game" then
|
||||
-- it's not 100% safe to assume items and groups can't change after this point.
|
||||
-- but please, don't do that :\
|
||||
minetest.register_on_mods_loaded(futil.generate_items_by_group)
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue