mirror of
https://github.com/sbrl/Minetest-WorldEditAdditions.git
synced 2024-12-25 21:05:01 +00:00
Merge branch 'main' of github.com:sbrl/Minetest-WorldEditAdditions
This commit is contained in:
commit
bfecc2da80
2 changed files with 44 additions and 1 deletions
|
@ -59,7 +59,7 @@ dofile(wea_c.modpath.."/utils/player.lua") -- Player info functions
|
|||
|
||||
|
||||
|
||||
|
||||
wea_c.setting_handler = dofile(wea_c.modpath.."/utils/setting_handler.lua") -- AFTER parser
|
||||
|
||||
wea_c.pos = dofile(modpath.."/core/pos.lua") -- AFTER EventEmitter
|
||||
wea_c.register_command = dofile(modpath.."/core/register_command.lua")
|
||||
|
|
43
worldeditadditions_core/utils/setting_handler.lua
Normal file
43
worldeditadditions_core/utils/setting_handler.lua
Normal file
|
@ -0,0 +1,43 @@
|
|||
--- A wrapper to simultaniously handle global and world settings.
|
||||
|
||||
-- Initialize settings container
|
||||
local wea_c = worldeditadditions_core
|
||||
wea_c.settings = {}
|
||||
|
||||
-- Initialize wea world folder if not already existing
|
||||
local path = minetest.get_worldpath() .. "/worldeditadditions"
|
||||
minetest.mkdir(path)
|
||||
|
||||
-- @class
|
||||
local setting_handler = {}
|
||||
|
||||
--- Reads world settings into WEA core settings object
|
||||
setting_handler.read = function()
|
||||
local file, err = io.open(path .. "/settings.conf", "rb")
|
||||
if err then return false end
|
||||
-- Split by newline
|
||||
-- local settings = wea_c.split(file:read(),"[\n\r]+")
|
||||
file:close()
|
||||
end
|
||||
|
||||
--- Write setting to world settings
|
||||
setting_handler.write = function(setting, state)
|
||||
local writer, err = io.open(path .. "/settings.conf", "ab")
|
||||
if not writer then
|
||||
return false
|
||||
elseif setting == "" and not state then
|
||||
writer:write("")
|
||||
else
|
||||
writer:write("worldeditadditions_" .. setting .. " = " .. state .. "\n")
|
||||
end
|
||||
writer:flush()
|
||||
writer:close()
|
||||
return true
|
||||
end
|
||||
|
||||
-- Test for world settings and generate file if none
|
||||
if not setting_handler.read() then
|
||||
setting_handler.write("")
|
||||
end
|
||||
|
||||
return setting_handler
|
Loading…
Reference in a new issue