]> git.lizzy.rs Git - worldedit.git/commitdiff
Make sfinv gui code compatible with sfinv as included in MTG 0.4.15
authorsfan5 <sfan5@live.de>
Sun, 20 Aug 2017 10:13:56 +0000 (12:13 +0200)
committersfan5 <sfan5@live.de>
Sun, 20 Aug 2017 10:13:56 +0000 (12:13 +0200)
fixes #142

worldedit_gui/init.lua

index dafd7c263f2f1b3d206a009423adf5b2bf320080..d44d8bb9c24ac6c39b69ffebefdce112daf4839c 100644 (file)
@@ -145,13 +145,21 @@ elseif rawget(_G, "sfinv") then --sfinv installed (part of minetest_game since 0
                end
        })
 
+       --compatibility with pre-0.4.16 sfinv
+       local set_page = sfinv.set_page or function(player, name)
+               --assumptions: src pg has no leave callback, dst pg has no enter callback
+               local ctx = {page=name}
+               sfinv.contexts[player:get_player_name()] = ctx
+               sfinv.set_player_inventory_formspec(player, ctx)
+       end
+
        --show the form when the button is pressed and hide it when done
        minetest.register_on_player_receive_fields(function(player, formname, fields)
                if fields.worldedit_gui then --main page
                        worldedit.show_page(player:get_player_name(), "worldedit_gui")
                        return true
                elseif fields.worldedit_gui_exit then --return to original page
-                       sfinv.set_page(player, "sfinv:crafting")
+                       set_page(player, "sfinv:crafting")
                        return true
                end
                return false