Move storage code out of init.lua
This commit is contained in:
parent
6187137158
commit
309ff6b8d4
29
init.lua
29
init.lua
@ -1,35 +1,8 @@
|
|||||||
-- The path to this mod, for including files
|
-- The path to this mod, for including files
|
||||||
local modpath = minetest.get_modpath("cartographer");
|
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
|
-- Includes
|
||||||
|
local map_data = loadfile(modpath .. "/storage.lua") ();
|
||||||
local chunk = loadfile(modpath .. "/chunk_api.lua") ();
|
local chunk = loadfile(modpath .. "/chunk_api.lua") ();
|
||||||
local skin = loadfile(modpath .. "/skin_api.lua") ();
|
local skin = loadfile(modpath .. "/skin_api.lua") ();
|
||||||
local gui = loadfile(modpath .. "/formspec.lua") ();
|
local gui = loadfile(modpath .. "/formspec.lua") ();
|
||||||
|
28
storage.lua
Normal file
28
storage.lua
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
-- 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);
|
||||||
|
|
||||||
|
return map_data;
|
Loading…
Reference in New Issue
Block a user