forked from Mineclonia/Mineclonia
Craftguide: Cycle through alternatives when clicking on item again
This commit is contained in:
parent
d10f9cc46c
commit
60287ea05b
|
@ -453,33 +453,43 @@ mt.register_on_player_receive_fields(function(player, formname, fields)
|
|||
data.pagenum = 1
|
||||
data.iX = data.iX - (fields.size_dec and 1 or -1)
|
||||
craftguide:get_formspec(player_name)
|
||||
else for item in pairs(fields) do
|
||||
else
|
||||
for item in pairs(fields) do
|
||||
if item:find(":") then
|
||||
if item:sub(-4) == "_inv" or item:sub(-4) == "_out" then
|
||||
item = item:sub(1,-5)
|
||||
end
|
||||
|
||||
local recipes = get_recipes(item)
|
||||
local is_fuel = get_fueltime(item) > 0
|
||||
local recipes = get_recipes(item)
|
||||
if not recipes and not is_fuel then return end
|
||||
|
||||
if progressive_mode then
|
||||
local inv = player:get_inventory()
|
||||
local _, has_item =
|
||||
craftguide:recipe_in_inv(inv, item)
|
||||
if item == data.item then
|
||||
if data.recipes_item and #data.recipes_item >= 2 then
|
||||
local recipe = data.recipes_item[data.recipe_num + 1]
|
||||
data.recipe_num = recipe and data.recipe_num + 1 or 1
|
||||
craftguide:get_formspec(player_name)
|
||||
end
|
||||
else
|
||||
|
||||
if not has_item then return end
|
||||
recipes = craftguide:recipe_in_inv(
|
||||
inv, item, recipes)
|
||||
if progressive_mode then
|
||||
local inv = player:get_inventory()
|
||||
local _, has_item =
|
||||
craftguide:recipe_in_inv(inv, item)
|
||||
|
||||
if not has_item then return end
|
||||
recipes = craftguide:recipe_in_inv(
|
||||
inv, item, recipes)
|
||||
end
|
||||
|
||||
data.item = item
|
||||
data.recipe_num = 1
|
||||
data.recipes_item = recipes
|
||||
|
||||
craftguide:get_formspec(player_name, is_fuel)
|
||||
end
|
||||
|
||||
data.item = item
|
||||
data.recipe_num = 1
|
||||
data.recipes_item = recipes
|
||||
|
||||
craftguide:get_formspec(player_name, is_fuel)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
|
|
Loading…
Reference in New Issue