Rename and refactor get_fields

This commit is contained in:
Paul Ouellette
2019-01-14 22:37:59 -05:00
parent b231096e10
commit 24a4b5e07e

View File

@ -654,18 +654,7 @@ end
mt.register_on_mods_loaded(get_init_items) mt.register_on_mods_loaded(get_init_items)
local function get_fields(player, ...) local function on_receive_fields(player, fields)
local args, formname, fields = {...}
if sfinv_only then
fields = args[1]
else
formname, fields = args[1], args[2]
end
if not sfinv_only and formname ~= "craftguide" then
return
end
local player_name = player:get_player_name() local player_name = player:get_player_name()
local data = player_data[player_name] local data = player_data[player_name]
@ -716,15 +705,23 @@ local function get_fields(player, ...)
data.iX = data.iX - (fields.size_dec and 1 or -1) data.iX = data.iX - (fields.size_dec and 1 or -1)
show_fs(player, player_name) show_fs(player, player_name)
else for item in pairs(fields) do else
if item:find(":") then local item
if item:sub(-4) == "_inv" then for field in pairs(fields) do
if field:find(":") then
item = field
break
end
end
if not item then
return
elseif item:sub(-4) == "_inv" then
item = item:sub(1,-5) item = item:sub(1,-5)
end end
local is_fuel = get_fueltime(item) > 0 local is_fuel = get_fueltime(item) > 0
local recipes = get_recipes(item) local recipes = get_recipes(item)
if progressive_mode then if progressive_mode then
recipes = apply_progressive_filters(recipes, player) recipes = apply_progressive_filters(recipes, player)
end end
@ -756,9 +753,8 @@ local function get_fields(player, ...)
} }
end end
if progressive_mode and next(data.usages) then if progressive_mode then
data.usages = data.usages = apply_progressive_filters(data.usages, player)
apply_progressive_filters(data.usages, player)
end end
if not next(data.usages) then if not next(data.usages) then
@ -773,8 +769,6 @@ local function get_fields(player, ...)
show_fs(player, player_name) show_fs(player, player_name)
end end
end end
end
end
if sfinv_only then if sfinv_only then
sfinv.register_page("craftguide:craftguide", { sfinv.register_page("craftguide:craftguide", {
@ -798,11 +792,15 @@ if sfinv_only then
end, end,
on_player_receive_fields = function(self, player, context, fields) on_player_receive_fields = function(self, player, context, fields)
get_fields(player, fields) on_receive_fields(player, fields)
end, end,
}) })
else else
mt.register_on_player_receive_fields(get_fields) mt.register_on_player_receive_fields(function(player, formname, fields)
if formname == "craftguide" then
on_receive_fields(player, fields)
end
end)
local function on_use(user) local function on_use(user)
local player_name = user:get_player_name() local player_name = user:get_player_name()