From eee94658e7c7e7430f874618ad0df231b0f34122 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 13 Sep 2021 14:13:46 +0200 Subject: [PATCH] mcl_maps: send hud_flags only if actually changed --- mods/ITEMS/mcl_maps/init.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/mods/ITEMS/mcl_maps/init.lua b/mods/ITEMS/mcl_maps/init.lua index 893e7007..2f04796f 100644 --- a/mods/ITEMS/mcl_maps/init.lua +++ b/mods/ITEMS/mcl_maps/init.lua @@ -43,13 +43,19 @@ end -- Checks if player is still allowed to display the minimap local function update_minimap(player) local creative = minetest.is_creative_enabled(player:get_player_name()) - if creative then - player:hud_set_flags({minimap=true, minimap_radar = true}) - else - if has_item_in_hotbar(player, "mcl_maps:filled_map") then - player:hud_set_flags({minimap = true, minimap_radar = false}) + + local newstate=false + local oldstate=player:hud_get_flags().minimap + + if creative or has_item_in_hotbar(player, "mcl_maps:filled_map") then + newstate=true + end + + if oldstate ~= newstate then + if creative then + player:hud_set_flags({minimap = true, minimap_radar = true}) else - player:hud_set_flags({minimap = false, minimap_radar = false}) + player:hud_set_flags({minimap = newstate, minimap_radar = false}) end end end