mirror of
https://github.com/minetest-mods/craftguide.git
synced 2024-12-14 02:30:17 +01:00
Minor cleanup
This commit is contained in:
parent
c4b963d602
commit
7234e42123
32
init.lua
32
init.lua
@ -1,8 +1,8 @@
|
|||||||
local craftguide, datas, mt = {}, {}, minetest
|
local craftguide, datas, mt = {}, {}, minetest
|
||||||
local progressive_mode = mt.setting_getbool("craftguide_progressive_mode")
|
local progressive_mode = mt.setting_getbool("craftguide_progressive_mode")
|
||||||
local reg_items, get_recipes = mt.registered_items, mt.get_all_craft_recipes
|
local get_recipe, get_recipes = mt.get_craft_recipe, mt.get_all_craft_recipes
|
||||||
local get_player, get_recipe = mt.get_player_by_name, mt.get_craft_recipe
|
|
||||||
local get_result, show_formspec = mt.get_craft_result, mt.show_formspec
|
local get_result, show_formspec = mt.get_craft_result, mt.show_formspec
|
||||||
|
local reg_items = mt.registered_items
|
||||||
|
|
||||||
-- Lua 5.3 removed `table.maxn`, use this alternative in case of breakage:
|
-- Lua 5.3 removed `table.maxn`, use this alternative in case of breakage:
|
||||||
-- https://github.com/kilbith/xdecor/blob/master/handlers/helpers.lua#L1
|
-- https://github.com/kilbith/xdecor/blob/master/handlers/helpers.lua#L1
|
||||||
@ -168,11 +168,12 @@ function craftguide:get_formspec(player_name, is_fuel)
|
|||||||
"field[0.3,0.32;2.5,1;filter;;"..
|
"field[0.3,0.32;2.5,1;filter;;"..
|
||||||
mt.formspec_escape(data.filter).."]"
|
mt.formspec_escape(data.filter).."]"
|
||||||
|
|
||||||
local odd = data.iX % 2 == 0
|
local even_num = data.iX % 2 == 0
|
||||||
local xoffset = data.iX / 2 + (odd and 0.5 or 0)
|
local xoffset = data.iX / 2 + (even_num and 0.5 or 0)
|
||||||
|
|
||||||
if not next(data.items) then
|
if not next(data.items) then
|
||||||
formspec = formspec..
|
formspec = formspec..
|
||||||
"label["..(xoffset - (odd and 1.5 or 1))..
|
"label["..(xoffset - (even_num and 1.5 or 1))..
|
||||||
",2;No item to show]"
|
",2;No item to show]"
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -227,6 +228,10 @@ local function group_to_items(group)
|
|||||||
return items_with_group
|
return items_with_group
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function item_in_inv(inv, item)
|
||||||
|
return inv:contains_item("main", item)
|
||||||
|
end
|
||||||
|
|
||||||
function craftguide:recipe_in_inv(inv, item_name, recipes_f)
|
function craftguide:recipe_in_inv(inv, item_name, recipes_f)
|
||||||
local recipes = recipes_f or get_recipes(item_name) or {}
|
local recipes = recipes_f or get_recipes(item_name) or {}
|
||||||
local show_item_recipes = {}
|
local show_item_recipes = {}
|
||||||
@ -238,14 +243,12 @@ function craftguide:recipe_in_inv(inv, item_name, recipes_f)
|
|||||||
if item:sub(1,6) == "group:" then
|
if item:sub(1,6) == "group:" then
|
||||||
local groups = group_to_items(item)
|
local groups = group_to_items(item)
|
||||||
for j=1, #groups do
|
for j=1, #groups do
|
||||||
if inv:contains_item(
|
if item_in_inv(inv, groups[j]) then
|
||||||
"main", groups[j]) then
|
|
||||||
group_in_inv = true
|
group_in_inv = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if not group_in_inv and
|
if not group_in_inv and not item_in_inv(inv, item) then
|
||||||
not inv:contains_item("main", item) then
|
|
||||||
show_item_recipes[i] = false
|
show_item_recipes[i] = false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -279,11 +282,9 @@ function craftguide:get_init_items(player_name)
|
|||||||
data.items = items_list
|
data.items = items_list
|
||||||
end
|
end
|
||||||
|
|
||||||
function craftguide:get_filter_items(player_name)
|
function craftguide:get_filter_items(data, player)
|
||||||
local data = datas[player_name]
|
|
||||||
local filter = data.filter
|
local filter = data.filter
|
||||||
local items_list = progressive_mode and data.items or data.init_items
|
local items_list = progressive_mode and data.items or data.init_items
|
||||||
local player = get_player(player_name)
|
|
||||||
local inv = player:get_inventory()
|
local inv = player:get_inventory()
|
||||||
local filtered_list, counter = {}, 0
|
local filtered_list, counter = {}, 0
|
||||||
|
|
||||||
@ -318,7 +319,7 @@ mt.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
"", nil, 1, 1
|
"", nil, 1, 1
|
||||||
data.items = data.init_items
|
data.items = data.init_items
|
||||||
if progressive_mode then
|
if progressive_mode then
|
||||||
craftguide:get_filter_items(player_name)
|
craftguide:get_filter_items(data, player)
|
||||||
end
|
end
|
||||||
craftguide:get_formspec(player_name)
|
craftguide:get_formspec(player_name)
|
||||||
elseif fields.alternate then
|
elseif fields.alternate then
|
||||||
@ -329,7 +330,7 @@ mt.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
fields.filter ~= "" then
|
fields.filter ~= "" then
|
||||||
data.filter = fields.filter:lower()
|
data.filter = fields.filter:lower()
|
||||||
data.pagenum = 1
|
data.pagenum = 1
|
||||||
craftguide:get_filter_items(player_name)
|
craftguide:get_filter_items(data, player)
|
||||||
craftguide:get_formspec(player_name)
|
craftguide:get_formspec(player_name)
|
||||||
elseif fields.prev or fields.next then
|
elseif fields.prev or fields.next then
|
||||||
data.pagenum = data.pagenum - (fields.prev and 1 or -1)
|
data.pagenum = data.pagenum - (fields.prev and 1 or -1)
|
||||||
@ -387,7 +388,8 @@ mt.register_craftitem("craftguide:book", {
|
|||||||
datas[player_name] = {filter="", pagenum=1, iX=9}
|
datas[player_name] = {filter="", pagenum=1, iX=9}
|
||||||
craftguide:get_init_items(player_name)
|
craftguide:get_init_items(player_name)
|
||||||
if progressive_mode then
|
if progressive_mode then
|
||||||
craftguide:get_filter_items(player_name)
|
craftguide:get_filter_items(
|
||||||
|
datas[player_name], user)
|
||||||
end
|
end
|
||||||
craftguide:get_formspec(player_name)
|
craftguide:get_formspec(player_name)
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user