Zefram
2014-05-18 623fcae4a4ad3ec12cc242b29b0d781357cff3f7
technic/config.lua
@@ -1,42 +1,23 @@
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_flashlight = "false",
   enable_rubber_tree_generation = "true",
   enable_marble_generation = "true",
   enable_granite_generation = "true"
   enable_granite_generation = "true",
   enable_wind_mill = "false",
}
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