From 9f0b41fe713e0ff973c09e2f8e52624d40551ff9 Mon Sep 17 00:00:00 2001
From: Zefram <zefram@fysh.org>
Date: Sat, 26 Jul 2014 19:03:07 +0100
Subject: Make technic_worldgen loadable before technic

There was a small amount of dependency of technic_worldgen on the
technic mod, for configuration loading and the top-level "technic" table.
Resolve that by sharing the configuration and top-level table between the
two mods.  This means that technic_worldgen can be loaded before technic,
permitting other mods to depend on it without depending on technic.
---
 technic_worldgen/config.lua  | 15 +++++++++++++++
 technic_worldgen/depends.txt |  1 -
 technic_worldgen/init.lua    |  2 ++
 3 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 technic_worldgen/config.lua

(limited to 'technic_worldgen')

diff --git a/technic_worldgen/config.lua b/technic_worldgen/config.lua
new file mode 100644
index 0000000..4ac748c
--- /dev/null
+++ b/technic_worldgen/config.lua
@@ -0,0 +1,15 @@
+technic.config = technic.config or Settings(minetest.get_worldpath().."/technic.conf")
+
+local conf_table = technic.config:to_table()
+
+local defaults = {
+	enable_granite_generation = "true",
+	enable_marble_generation = "true",
+	enable_rubber_tree_generation = "true",
+}
+
+for k, v in pairs(defaults) do
+	if conf_table[k] == nil then
+		technic.config:set(k, v)
+	end
+end
diff --git a/technic_worldgen/depends.txt b/technic_worldgen/depends.txt
index a72ad90..ac858d0 100644
--- a/technic_worldgen/depends.txt
+++ b/technic_worldgen/depends.txt
@@ -1,4 +1,3 @@
 default
-technic
 intllib?
 mg?
diff --git a/technic_worldgen/init.lua b/technic_worldgen/init.lua
index 7e80fd3..73e9fc7 100644
--- a/technic_worldgen/init.lua
+++ b/technic_worldgen/init.lua
@@ -1,5 +1,6 @@
 local modpath = minetest.get_modpath("technic_worldgen")
 
+technic = technic or {}
 technic.worldgen = {}
 if intllib then
 	technic.worldgen.gettext = intllib.Getter()
@@ -7,6 +8,7 @@ else
 	technic.worldgen.gettext = function(s) return s end
 end
 
+dofile(modpath.."/config.lua")
 dofile(modpath.."/nodes.lua")
 dofile(modpath.."/oregen.lua")
 dofile(modpath.."/crafts.lua")
-- 
cgit v1.2.3