aboutsummaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua13
1 files changed, 11 insertions, 2 deletions
diff --git a/init.lua b/init.lua
index 0c039d2..450d767 100644
--- a/init.lua
+++ b/init.lua
@@ -18,9 +18,15 @@ local elevator = {
motors = {},
}
+local str = minetest.get_mod_storage and minetest.get_mod_storage()
+
local elevator_file = minetest.get_worldpath() .. "/elevator"
local function load_elevator()
+ if str and str:contains("data") then
+ elevator = minetest.deserialize(str:get_string("data"))
+ return
+ end
local file = io.open(elevator_file)
if file then
elevator = minetest.deserialize(file:read("*all")) or {}
@@ -29,10 +35,13 @@ local function load_elevator()
end
local function save_elevator()
- local f = io.open(elevator_file .. ".tmp", "w")
+ if str then
+ str:set_string("data", minetest.serialize(elevator))
+ return
+ end
+ local f = io.open(elevator_file, "w")
f:write(minetest.serialize(elevator))
f:close()
- os.rename(elevator_file .. ".tmp", elevator_file)
end
load_elevator()