local worldpath = minetest.get_worldpath()
function db:constructor(name, initial_data, dir, env)
- private[self] = {env = env or _G, path = (dir or worldpath) .. "/" .. name .. ".json"}
+ local path = env and dir or worldpath .. "/" .. (dir or "")
+ if dir and not env then
+ minetest.mkdir(path)
+ end
+ private[self] = {env = env or _G, path = path .. "/" .. name .. ".json"}
self:load(initial_data or {})
end
end
function db:close()
- self:save()
+ if not private[self].dummy then
+ self:save()
+ end
private[self] = nil
end
+function db:set_dummy(v)
+ private[self].dummy = v
+end
+
minetest.register_on_shutdown(function()
for d in pairs(private) do
d:save()
-local plot = {}
+local plot = {
+ loaded = {}
+}
+local loaded = plot.loaded
local old_is_protected = minetest.is_protected
function minetest.is_protected(pos, name)
return old_is_protected(pos, name)
end
+function plot.get(pos)
+end
+
elidragon.plot = plot