Merge pull request 'ITEMS/mcl_maps: send hud_flags only if actually changed' (#146) from fix-minimap-spam into master

Reviewed-on: Mineclonia/Mineclonia#146
Reviewed-by: erlehmann <nils+git.minetest.land@dieweltistgarnichtso.net>
This commit is contained in:
1 changed files with 12 additions and 6 deletions

View File

@ -43,13 +43,19 @@ end
-- Checks if player is still allowed to display the minimap -- Checks if player is still allowed to display the minimap
local function update_minimap(player) local function update_minimap(player)
local creative = minetest.is_creative_enabled(player:get_player_name()) local creative = minetest.is_creative_enabled(player:get_player_name())
if creative then
player:hud_set_flags({minimap=true, minimap_radar = true}) local newstate=false
else local oldstate=player:hud_get_flags().minimap
if has_item_in_hotbar(player, "mcl_maps:filled_map") then
player:hud_set_flags({minimap = true, minimap_radar = false}) 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 else
player:hud_set_flags({minimap = false, minimap_radar = false}) player:hud_set_flags({minimap = newstate, minimap_radar = false})
end end
end end
end end