Craftguide : get_formspec -> set_formspec
This commit is contained in:
parent
5185d49a0c
commit
fb36f033b8
@ -14,7 +14,7 @@ function craftguide:get_recipe(item)
|
|||||||
return item
|
return item
|
||||||
end
|
end
|
||||||
|
|
||||||
function craftguide:get_formspec(player_name, pagenum, recipe_num)
|
function craftguide:set_formspec(player_name, pagenum, recipe_num)
|
||||||
local data = datas[player_name]
|
local data = datas[player_name]
|
||||||
local formspec = [[ size[8,6.6;]
|
local formspec = [[ size[8,6.6;]
|
||||||
tablecolumns[color;text;color;text]
|
tablecolumns[color;text;color;text]
|
||||||
@ -111,25 +111,25 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
if fields.clear then
|
if fields.clear then
|
||||||
data.filter, data.item = "", nil
|
data.filter, data.item = "", nil
|
||||||
craftguide:get_items(player_name)
|
craftguide:get_items(player_name)
|
||||||
craftguide:get_formspec(player_name, 1, 1)
|
craftguide:set_formspec(player_name, 1, 1)
|
||||||
elseif fields.alternate then
|
elseif fields.alternate then
|
||||||
local recipe_num = tonumber(formspec:match("Recipe%s(%d+)")) or 1
|
local recipe_num = tonumber(formspec:match("Recipe%s(%d+)")) or 1
|
||||||
recipe_num = recipe_num + 1
|
recipe_num = recipe_num + 1
|
||||||
craftguide:get_formspec(player_name, pagenum, recipe_num)
|
craftguide:set_formspec(player_name, pagenum, recipe_num)
|
||||||
elseif fields.search then
|
elseif fields.search then
|
||||||
data.filter = fields.filter:lower()
|
data.filter = fields.filter:lower()
|
||||||
craftguide:get_items(player_name)
|
craftguide:get_items(player_name)
|
||||||
craftguide:get_formspec(player_name, 1, 1)
|
craftguide:set_formspec(player_name, 1, 1)
|
||||||
elseif fields.prev or fields.next then
|
elseif fields.prev or fields.next then
|
||||||
if fields.prev then pagenum = pagenum - 1
|
if fields.prev then pagenum = pagenum - 1
|
||||||
else pagenum = pagenum + 1 end
|
else pagenum = pagenum + 1 end
|
||||||
if pagenum > data.pagemax then pagenum = 1
|
if pagenum > data.pagemax then pagenum = 1
|
||||||
elseif pagenum == 0 then pagenum = data.pagemax end
|
elseif pagenum == 0 then pagenum = data.pagemax end
|
||||||
craftguide:get_formspec(player_name, pagenum, 1)
|
craftguide:set_formspec(player_name, pagenum, 1)
|
||||||
else for item in pairs(fields) do
|
else for item in pairs(fields) do
|
||||||
if minetest.get_craft_recipe(item).items then
|
if minetest.get_craft_recipe(item).items then
|
||||||
data.item = item
|
data.item = item
|
||||||
craftguide:get_formspec(player_name, pagenum, 1)
|
craftguide:set_formspec(player_name, pagenum, 1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -147,7 +147,7 @@ minetest.register_craftitem("xdecor:crafting_guide", {
|
|||||||
datas[player_name] = {}
|
datas[player_name] = {}
|
||||||
datas[player_name].filter = ""
|
datas[player_name].filter = ""
|
||||||
craftguide:get_items(player_name)
|
craftguide:get_items(player_name)
|
||||||
craftguide:get_formspec(player_name, 1, 1)
|
craftguide:set_formspec(player_name, 1, 1)
|
||||||
else
|
else
|
||||||
minetest.show_formspec(player_name, "xdecor:craftguide", datas[player_name].formspec)
|
minetest.show_formspec(player_name, "xdecor:craftguide", datas[player_name].formspec)
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
--[[ Thanks to sofar for helping with that code.
|
--[[ Thanks to sofar for helping with that code.
|
||||||
Pressure plates work better with this setting in minetest.conf (requires 0.4.14):
|
Recommended setting in minetest.conf (requires 0.4.14 or newer) :
|
||||||
nodetimer_interval = 0.1
|
nodetimer_interval = 0.1
|
||||||
]]
|
]]
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user