1 -- Mod global namespace
6 -- Cache creative mode setting
8 local creative_mode_cache = minetest.settings:get_bool("creative_mode")
12 -- Global to allow overriding
14 function map.update_hud_flags(player)
15 local creative_enabled =
16 (creative and creative.is_enabled_for(player:get_player_name())) or
19 local minimap_enabled = creative_enabled or
20 player:get_inventory():contains_item("main", "map:mapping_kit")
21 local radar_enabled = creative_enabled
23 player:hud_set_flags({
24 minimap = minimap_enabled,
25 minimap_radar = radar_enabled
30 -- Set HUD flags 'on joinplayer'
32 minetest.register_on_joinplayer(function(player)
33 map.update_hud_flags(player)
37 -- Cyclic update of HUD flags
39 local function cyclic_update()
40 for _, player in ipairs(minetest.get_connected_players()) do
41 map.update_hud_flags(player)
43 minetest.after(5.3, cyclic_update)
46 minetest.after(5.3, cyclic_update)
51 minetest.register_craftitem("map:mapping_kit", {
52 description = "Mapping Kit\nUse with 'Minimap' key",
53 inventory_image = "map_mapping_kit.png",
55 groups = {flammable = 3},
57 on_use = function(itemstack, user, pointed_thing)
58 map.update_hud_flags(user)
65 minetest.register_craft({
66 output = "map:mapping_kit",
68 {"default:glass", "default:paper", "group:stick"},
69 {"default:steel_ingot", "default:paper", "default:steel_ingot"},
70 {"group:wood", "default:paper", "dye:black"},
77 minetest.register_craft({
79 recipe = "map:mapping_kit",