mirror of
https://github.com/minetest-mods/unified_inventory.git
synced 2025-06-30 23:40:38 +02:00
Merge pull request #1 from minetest-technic/master
update to latest version
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*~
|
||||||
|
|
22
README.md
22
README.md
@ -1,6 +1,22 @@
|
|||||||
unified_inventory
|
Unified inventory
|
||||||
=================
|
=================
|
||||||
|
|
||||||
Replacement for Minetest creative inventory.
|
Unified Inventory replaces the default survival and creative inventory.
|
||||||
|
It adds a nicer interface and a number of features, such as a crafting guide.
|
||||||
|
|
||||||
|
License
|
||||||
|
=======
|
||||||
|
|
||||||
|
Copyright (C) 2012-2014 Maciej Kasatkin (RealBadAngel)
|
||||||
|
|
||||||
|
Unified inventory code is licensed under the GNU LGPLv2+.
|
||||||
|
|
||||||
|
Licenses for textures:
|
||||||
|
|
||||||
|
VanessaE: (WTFPL)
|
||||||
|
* ui\_group.png
|
||||||
|
|
||||||
|
RealBadAngel: (WTFPL)
|
||||||
|
* Everything else.
|
||||||
|
|
||||||
|
|
||||||
Unified Inventory replaces the survival and creative inventory; it also functions as a crafting guide.
|
|
||||||
|
17
api.lua
17
api.lua
@ -1,20 +1,31 @@
|
|||||||
|
|
||||||
-- Create detached creative inventory after loading all mods
|
-- Create detached creative inventory after loading all mods
|
||||||
minetest.after(0.01, function()
|
minetest.after(0.01, function()
|
||||||
|
local rev_aliases = {}
|
||||||
|
for source, target in pairs(minetest.registered_aliases) do
|
||||||
|
if not rev_aliases[target] then rev_aliases[target] = {} end
|
||||||
|
table.insert(rev_aliases[target], source)
|
||||||
|
end
|
||||||
unified_inventory.items_list = {}
|
unified_inventory.items_list = {}
|
||||||
for name, def in pairs(minetest.registered_items) do
|
for name, def in pairs(minetest.registered_items) do
|
||||||
if (not def.groups.not_in_creative_inventory or
|
if (not def.groups.not_in_creative_inventory or
|
||||||
def.groups.not_in_creative_inventory == 0) and
|
def.groups.not_in_creative_inventory == 0) and
|
||||||
def.description and def.description ~= "" then
|
def.description and def.description ~= "" then
|
||||||
table.insert(unified_inventory.items_list, name)
|
table.insert(unified_inventory.items_list, name)
|
||||||
|
local all_names = rev_aliases[name] or {}
|
||||||
|
table.insert(all_names, name)
|
||||||
|
local all_recipes = {}
|
||||||
|
for _, name in ipairs(all_names) do
|
||||||
local recipes = minetest.get_all_craft_recipes(name)
|
local recipes = minetest.get_all_craft_recipes(name)
|
||||||
if recipes then
|
if recipes then
|
||||||
unified_inventory.crafts_table[name] = recipes
|
for _, recipe in ipairs(recipes) do
|
||||||
else
|
table.insert(all_recipes, recipe)
|
||||||
unified_inventory.crafts_table[name] = {}
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
unified_inventory.crafts_table[name] = all_recipes
|
||||||
|
end
|
||||||
|
end
|
||||||
table.sort(unified_inventory.items_list)
|
table.sort(unified_inventory.items_list)
|
||||||
unified_inventory.items_list_size = #unified_inventory.items_list
|
unified_inventory.items_list_size = #unified_inventory.items_list
|
||||||
print("Unified Inventory. inventory size: "..unified_inventory.items_list_size)
|
print("Unified Inventory. inventory size: "..unified_inventory.items_list_size)
|
||||||
|
Reference in New Issue
Block a user