From 1fabe60d77e103f88eb4a8ae31c7fcf526248294 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 20 Aug 2017 12:13:56 +0200 Subject: [PATCH] Make sfinv gui code compatible with sfinv as included in MTG 0.4.15 fixes #142 --- worldedit_gui/init.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/worldedit_gui/init.lua b/worldedit_gui/init.lua index dafd7c2..d44d8bb 100644 --- a/worldedit_gui/init.lua +++ b/worldedit_gui/init.lua @@ -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