From: rubenwardy Date: Sun, 3 Feb 2019 11:45:45 +0000 (+0000) Subject: Fix sfinv not updating on creative grant/revoke X-Git-Tag: 5.0.0~10 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=64a923f7fb92b18a2fb2e727a45c69df744559b8;p=oweals%2Fminetest_game.git Fix sfinv not updating on creative grant/revoke --- diff --git a/mods/creative/init.lua b/mods/creative/init.lua index ef190b8d..0f8d4dba 100644 --- a/mods/creative/init.lua +++ b/mods/creative/init.lua @@ -1,9 +1,24 @@ creative = {} +local function update_sfinv(name) + minetest.after(0, function() + local player = minetest.get_player_by_name(name) + if player then + if sfinv.get_page(player):sub(1, 9) == "creative:" then + sfinv.set_page(player, sfinv.get_homepage_name(player)) + else + sfinv.set_player_inventory_formspec(player) + end + end + end) +end + minetest.register_privilege("creative", { description = "Allow player to use creative inventory", give_to_singleplayer = false, - give_to_admin = false + give_to_admin = false, + on_grant = update_sfinv, + on_revoke = update_sfinv, }) local creative_mode_cache = minetest.settings:get_bool("creative_mode")