Inventory sorting: Add option for rejecting items

This commit is contained in:
Jean-Patrick Guerrero
2021-11-08 19:53:00 +01:00
parent c51da4a20b
commit 6f5d0a1760
4 changed files with 39 additions and 4 deletions

View File

@ -446,12 +446,32 @@ local function compress_items(list, start_i)
return new_inv
end
local function reject_items(player, inv, list, rej)
for i = 1, #list do
local stack = list[i]
local name = stack:get_name()
for _, it in ipairs(rej) do
if name == it then
spawn_item(player, stack)
inv:set_stack("main", i, ItemStack(""))
end
end
end
return inv:get_list("main")
end
local function sort_inventory(player, data)
local inv = player:get_inventory()
local list = inv:get_list("main")
local size = inv:get_size("main")
local start_i = data.ignore_hotbar and 10 or 1
if true_table(data.reject_items) then
list = reject_items(player, inv, list, data.reject_items)
end
if data.inv_compress then
list = compress_items(list, start_i)
else