-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathstorage.lua
More file actions
35 lines (29 loc) · 1.3 KB
/
storage.lua
File metadata and controls
35 lines (29 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
local mod_storage = minetest.get_mod_storage()
local data = {
dragons = minetest.deserialize(mod_storage:get_string("dragons")) or {},
bonded_dragons = minetest.deserialize(mod_storage:get_string("bonded_dragons")) or {},
aux_key_setting = minetest.deserialize(mod_storage:get_string("aux_key_setting")) or {},
attack_blacklist = minetest.deserialize(mod_storage:get_string("attack_blacklist")) or {},
libri_font_size = minetest.deserialize(mod_storage:get_string("libri_font_size")) or {}
}
local function save()
mod_storage:set_string("dragons", minetest.serialize(data.dragons))
mod_storage:set_string("bonded_dragons", minetest.serialize(data.bonded_dragons))
mod_storage:set_string("aux_key_setting", minetest.serialize(data.aux_key_setting))
mod_storage:set_string("attack_blacklist", minetest.serialize(data.attack_blacklist))
mod_storage:set_string("libri_font_size", minetest.serialize(data.libri_font_size))
end
minetest.register_on_shutdown(save)
minetest.register_on_leaveplayer(save)
local function periodic_save()
save()
minetest.after(120, periodic_save)
end
minetest.after(120, periodic_save)
minetest.register_globalstep(function()
if draconis.force_storage_save then
save()
draconis.force_storage_save = false
end
end)
return data