]> git.lizzy.rs Git - xdecor.git/commitdiff
Crafting Guide : Remember last formspec on re-opening
authorJean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
Thu, 17 Mar 2016 00:09:01 +0000 (01:09 +0100)
committerJean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
Thu, 17 Mar 2016 00:09:01 +0000 (01:09 +0100)
craftguide.lua

index 244525a28f18bea75cff026295e2c0081b2ce30a..fa11e61d2601777d15653d08caaf47f79fde9e3c 100644 (file)
@@ -83,7 +83,7 @@ function craftguide:get_formspec(stack, pagenum, item, recipe_num, filter, playe
                formspec = formspec.."item_image_button[2.5,5;1,1;"..output..";"..item..";]"..
                                     "image[3.5,5;1,1;gui_furnace_arrow_bg.png^[transformR90]"
        end
-       
+
        stack:set_metadata(formspec)
        datas[player_name].formspec = stack:get_metadata()
        minetest.show_formspec(player_name, "xdecor:crafting_guide", formspec)
@@ -146,10 +146,13 @@ minetest.register_craftitem("xdecor:crafting_guide", {
        groups = {book=1},
        on_use = function(itemstack, user)
                local player_name = user:get_player_name()
-               datas[player_name] = {}
-
-               craftguide:get_items(nil, player_name)
-               craftguide:get_formspec(itemstack, 1, nil, 1, "", player_name)
+               if not datas[player_name] then
+                       datas[player_name] = {}
+                       craftguide:get_items(nil, player_name)
+                       craftguide:get_formspec(itemstack, 1, nil, 1, "", player_name)
+               else
+                       minetest.show_formspec(player_name, "xdecor:crafting_guide", datas[player_name].formspec)
+               end
        end
 })