summaryrefslogtreecommitdiff
path: root/mesecons/actionqueue.lua
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2016-02-19 12:11:38 +0100
committerJeija <norrepli@gmail.com>2016-02-19 12:11:38 +0100
commitcfd4f7c287543f7f14d05e90c106fc14a4be8666 (patch)
tree3f922f979bea4daa8c13a5d91e59199c43811984 /mesecons/actionqueue.lua
parentf099b43e1127c46df0e7e4655ddefd8910c570ef (diff)
downloadmesecons-cfd4f7c287543f7f14d05e90c106fc14a4be8666.tar
mesecons-cfd4f7c287543f7f14d05e90c106fc14a4be8666.tar.gz
mesecons-cfd4f7c287543f7f14d05e90c106fc14a4be8666.tar.bz2
mesecons-cfd4f7c287543f7f14d05e90c106fc14a4be8666.tar.xz
mesecons-cfd4f7c287543f7f14d05e90c106fc14a4be8666.zip
Force-load areas with mesecon usage
This is a major speedup for large mesecon machines / structures. Force-loaded areas are stored in a file to be persistent over server reboots. By default, areas are unloaded after 10 minutes (600s) without usage, this can be customized with the mesecon.forceload_timeout setting. Please turn max_forceloaded_blocks up for better performance.
Diffstat (limited to 'mesecons/actionqueue.lua')
-rw-r--r--mesecons/actionqueue.lua21
1 files changed, 2 insertions, 19 deletions
diff --git a/mesecons/actionqueue.lua b/mesecons/actionqueue.lua
index a773008..e300ea7 100644
--- a/mesecons/actionqueue.lua
+++ b/mesecons/actionqueue.lua
@@ -94,25 +94,8 @@ end
-- Store and read the ActionQueue to / from a file
-- so that upcoming actions are remembered when the game
-- is restarted
-
-local wpath = minetest.get_worldpath()
-local function file2table(filename)
- local f = io.open(filename, "r")
- if f==nil then return {} end
- local t = f:read("*all")
- f:close()
- if t=="" or t==nil then return {} end
- return minetest.deserialize(t)
-end
-
-local function table2file(filename, table)
- local f = io.open(filename, "w")
- f:write(minetest.serialize(table))
- f:close()
-end
-
-mesecon.queue.actions = file2table(wpath.."/mesecon_actionqueue")
+mesecon.queue.actions = mesecon.file2table("mesecon_actionqueue")
minetest.register_on_shutdown(function()
- mesecon.queue.actions = table2file(wpath.."/mesecon_actionqueue", mesecon.queue.actions)
+ mesecon.table2file("mesecon_actionqueue", mesecon.queue.actions)
end)