Zefram
2014-08-17 d0efa15b983f7a0a96e1a7abcdad713715dfeeeb
technic/config.lua
@@ -1,42 +1,17 @@
technic.config = {}
technic.config = technic.config or Settings(minetest.get_worldpath().."/technic.conf")
technic.config.loaded = {}
local conf_table = technic.config:to_table()
technic.config.default = {
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_flashlight = "false",
   enable_wind_mill = "false",
   enable_corium_griefing = "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")
for k, v in pairs(defaults) do
   if conf_table[k] == nil then
      technic.config:set(k, v)
   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]
   end
end
function technic.config:getBool(setting)
   return string.lower(self:get(setting)) == "true"
end