| | |
| | | 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_frames = "false", |
| | | enable_corium_griefing = "true", |
| | | enable_radiation_protection = "true", |
| | | enable_entity_radiation_damage = "true", |
| | | enable_longterm_radiation_damage = "true", |
| | | enable_nuclear_reactor_digiline_selfdestruct = "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") |
| | | 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 |