-- The path to this mod, for including files local modpath = minetest.get_modpath("cartographer"); -- Storage and saving local mod_storage = minetest.get_mod_storage(); local map_data = { generated = minetest.deserialize(mod_storage:get_string("map")) or {}, maps = minetest.deserialize(mod_storage:get_string("maps")) or {}, next_map_id = mod_storage:get_int("next_map_id"), }; if map_data.next_map_id == 0 then map_data.next_map_id = 1; end local function save() mod_storage:set_string("maps", minetest.serialize(map_data.maps)); mod_storage:set_int("next_map_id", map_data.next_map_id); mod_storage:set_string("map", minetest.serialize(map_data.generated)); end minetest.register_on_shutdown(save); minetest.register_on_leaveplayer(save); local function periodic_save() save(); minetest.after(60, periodic_save); end minetest.after(60, periodic_save); -- Includes local chunk = loadfile(modpath .. "/chunk_api.lua") (); local skin = loadfile(modpath .. "/skin_api.lua") (); local gui = loadfile(modpath .. "/formspec.lua") (); local audio = loadfile(modpath .. "/audio.lua") (); local util = loadfile(modpath .. "/util.lua") (); local biomes = loadfile(modpath .. "/biome_api.lua") (util); local scanner = loadfile(modpath .. "/scanner.lua") (map_data, chunk); local maps = loadfile(modpath .. "/map_api.lua") (map_data, chunk); local materials = loadfile(modpath .. "/material_api.lua") (); local markers = loadfile(modpath .. "/marker_api.lua") (); local map_formspec = loadfile(modpath .. "/map_formspec.lua") (map_data, gui, skin, util, biomes, markers); local map_item = loadfile(modpath .. "/items.lua") (chunk, gui, skin, audio, maps, markers, map_formspec); loadfile(modpath .. "/commands.lua") (chunk, audio, map_formspec); loadfile(modpath .. "/table.lua") (gui, skin, audio, maps, materials, map_item); loadfile(modpath .. "/autofill.lua") (chunk, scanner, maps); -- The API object cartographer = { -- skin_api.lua: Allows the visual customization of formspecs skin = skin; -- biome_api.lua: Allows biome data to be registered for display in maps biomes = biomes; -- marker_api.lua: Allows markers to be registered for placement on maps markers = markers; -- map_api.lua: Allows the creation, lookup, and management of map objects maps = maps; -- items.lua: Allows the creation of map items with proper metadata map_item = map_item; -- materials.lua: Allows items to be registered as mapmaking materials materials = materials; };