From 8e03d7ded6441b26e9d44102c0cd2ee39f9e90bc Mon Sep 17 00:00:00 2001
From: RealBadAngel <mk@realbadangel.pl>
Date: Sun, 30 Jun 2013 07:12:02 +0200
Subject: [PATCH] Sync with indev branch, bump version to 0.4.7

---
 technic/config.lua |   49 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/technic/config.lua b/technic/config.lua
index f237968..f546cf6 100644
--- a/technic/config.lua
+++ b/technic/config.lua
@@ -1,7 +1,42 @@
-enable_technic_inventory=true
-enable_mining_drill=true
-enable_mining_laser=true
-enable_flashlight=true
-enable_rubber_tree_generation=true
-enable_marble_generation=true
-enable_granite_generation=true
+technic.config = {}
+
+technic.config.loaded = {}
+
+technic.config.default = {
+	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"
+}
+
+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]
+	end
+end
+
+function technic.config:getBool(setting)
+	return string.lower(self:get(setting)) == "true"
+end

--
Gitblit v1.8.0