mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-14 15:11:05 +01:00
Craftguide: Cycle through alternatives when clicking on item again
This commit is contained in:
parent
d10f9cc46c
commit
60287ea05b
1 changed files with 26 additions and 16 deletions
|
@ -453,33 +453,43 @@ mt.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
data.pagenum = 1
|
data.pagenum = 1
|
||||||
data.iX = data.iX - (fields.size_dec and 1 or -1)
|
data.iX = data.iX - (fields.size_dec and 1 or -1)
|
||||||
craftguide:get_formspec(player_name)
|
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:find(":") then
|
||||||
if item:sub(-4) == "_inv" or item:sub(-4) == "_out" then
|
if item:sub(-4) == "_inv" or item:sub(-4) == "_out" then
|
||||||
item = item:sub(1,-5)
|
item = item:sub(1,-5)
|
||||||
end
|
end
|
||||||
|
|
||||||
local recipes = get_recipes(item)
|
|
||||||
local is_fuel = get_fueltime(item) > 0
|
local is_fuel = get_fueltime(item) > 0
|
||||||
|
local recipes = get_recipes(item)
|
||||||
if not recipes and not is_fuel then return end
|
if not recipes and not is_fuel then return end
|
||||||
|
|
||||||
if progressive_mode then
|
if item == data.item then
|
||||||
local inv = player:get_inventory()
|
if data.recipes_item and #data.recipes_item >= 2 then
|
||||||
local _, has_item =
|
local recipe = data.recipes_item[data.recipe_num + 1]
|
||||||
craftguide:recipe_in_inv(inv, item)
|
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
|
if progressive_mode then
|
||||||
recipes = craftguide:recipe_in_inv(
|
local inv = player:get_inventory()
|
||||||
inv, item, recipes)
|
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
|
end
|
||||||
|
|
||||||
data.item = item
|
|
||||||
data.recipe_num = 1
|
|
||||||
data.recipes_item = recipes
|
|
||||||
|
|
||||||
craftguide:get_formspec(player_name, is_fuel)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue