diff options
-rw-r--r-- | init.lua | 13 | ||||
-rw-r--r-- | mod.conf | 3 |
2 files changed, 14 insertions, 2 deletions
@@ -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() diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..b86b042 --- /dev/null +++ b/mod.conf @@ -0,0 +1,3 @@ +name = elevator +depends = default +optional_depends = technic, homedecor, chains, farming |