From f4ac2b8c1ef97a8adf29501f5599fb8adb4df00c Mon Sep 17 00:00:00 2001 From: Novatux <nathanael.courant@laposte.net> Date: Fri, 04 Oct 2013 16:48:39 +0200 Subject: [PATCH] Make power distribution more efficient. --- technic/config.lua | 43 +++++++++++++------------------------------ 1 files changed, 13 insertions(+), 30 deletions(-) diff --git a/technic/config.lua b/technic/config.lua index f546cf6..bfe3273 100644 --- a/technic/config.lua +++ b/technic/config.lua @@ -1,42 +1,25 @@ -technic.config = {} -technic.config.loaded = {} +local worldpath = minetest.get_worldpath() -technic.config.default = { +technic.config = Settings(worldpath.."/technic.conf") + +local conf_table = technic.config:to_table() + +local defaults = { enable_mining_drill = "true", enable_mining_laser = "true", enable_flashlight = "true", - enable_item_drop = "true", - enable_item_pickup = "true", enable_rubber_tree_generation = "true", enable_marble_generation = "true", - enable_granite_generation = "true" + enable_granite_generation = "true", } -function technic.config:load(filename) - file, error = io.open(filename, "r") - if error then return end - local line = file:read("*l") - while line do - local found, _, setting, value = line:find("^([^#%s=]+)%s?=%s?([^%s#]+)") - if found then - self.loaded[setting] = value - end - line = file:read("*l") - end - file:close() -end - -technic.config:load(minetest.get_worldpath().."/technic.conf") - -function technic.config:get(setting) - if self.loaded[setting] then - return self.loaded[setting] - else - return self.default[setting] +for k, v in pairs(defaults) do + if conf_table[k] == nil then + technic.config:set(k, v) end end -function technic.config:getBool(setting) - return string.lower(self:get(setting)) == "true" -end +-- Create the config file if it doesn't exist +technic.config:write() + -- Gitblit v1.8.0