From c99b4852934a36d5500b864c78cbc6cd5631d0f9 Mon Sep 17 00:00:00 2001
From: Duane Robertson <duane@duanerobertson.com>
Date: Thu, 30 Mar 2017 19:25:14 -0500
Subject: [PATCH] Add cave integration option.

---
 init.lua     | 25 +++++++++++++++----------
 undergen.lua |  4 ++--
 2 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/init.lua b/init.lua
index b2776a9..4f44c31 100644
--- a/init.lua
+++ b/init.lua
@@ -8,6 +8,11 @@ underworlds_mod.version = "1.0"
 underworlds_mod.path = minetest.get_modpath(minetest.get_current_modname())
 underworlds_mod.world = minetest.get_worldpath()
 
+underworlds_mod.integration = minetest.setting_getbool('underworlds_mod_integration')
+if underworlds_mod.integration == nil then
+	underworlds_mod.integration = false
+end
+
 
 underworlds_mod.underzones = {
 	Caina = {
@@ -16,8 +21,8 @@ underworlds_mod.underzones = {
 		column_node = 'default:ice',
 		column_node_rare  =  'underworlds:thin_ice',
 		floor_node = 'default:ice',
-    high_chunk = -12,
-    low_chunk = -14,
+    high_chunk = -14,
+    low_chunk = -16,
 		regular_columns = false,
 		stalactite = 'underworlds:icicle_down',
 		stalactite_chance = 12,
@@ -32,8 +37,8 @@ underworlds_mod.underzones = {
 		floor_node = 'underworlds:hot_cobble',
 		fluid = 'default:lava_source',
 		fluid_chance = 1200,
-    high_chunk = -16,
-    low_chunk = -18,
+    high_chunk = -18,
+    low_chunk = -20,
 		lake = 'default:lava_source',
 		lake_level = 5,
 		regular_columns = false,
@@ -48,8 +53,8 @@ underworlds_mod.underzones = {
 		column_node = 'default:steelblock',
     floor_depth = 10,
 		floor_node = 'underworlds:hot_brass',
-    high_chunk = -20,
-    low_chunk = -20,
+    high_chunk = -22,
+    low_chunk = -22,
 		regular_columns = true,
 		stone_depth = 1,
 		vary = false,
@@ -62,10 +67,10 @@ underworlds_mod.underzones = {
 		floor_node = 'underworlds:polluted_dirt',
 		fluid = 'underworlds:water_poison_source',
 		fluid_chance = 2000,
-    high_chunk = -22,
+    high_chunk = -24,
 		lake = 'underworlds:water_poison_source',
 		lake_level = 10,
-    low_chunk = -24,
+    low_chunk = -26,
 		regular_columns = false,
 		stone_depth = 2,
 		vary = true,
@@ -74,8 +79,8 @@ underworlds_mod.underzones = {
 		name = 'Styx',
 		ceiling_node = 'default:dirt',
 		floor_node = 'default:dirt',
-    high_chunk = -26,
-    low_chunk = -30,
+    high_chunk = -28,
+    low_chunk = -32,
 		regular_columns = false,
 		stone_depth = 2,
     sea_chunk = -16,
diff --git a/undergen.lua b/undergen.lua
index 46faf48..e1534d6 100644
--- a/undergen.lua
+++ b/undergen.lua
@@ -77,9 +77,9 @@ underworlds_mod.undergen = function(minp, maxp, data, p2data, area, node, underz
 						data[ivm] = node["air"]
 					end
 					write = true
-				elseif y < underzone.ceiling + 10 - (underzone.vary and terrain[index] or 0) then
+				elseif y < underzone.ceiling + 10 - (underzone.vary and terrain[index] or 0) and (not underworlds_mod.integration or data[ivm] ~= node['air']) then
           data[ivm] = node["default:stone"]
-				elseif y > underzone.floor - 10 + (underzone.vary and terrain[index] or 0) then
+				elseif y > underzone.floor - 10 + (underzone.vary and terrain[index] or 0) and (not underworlds_mod.integration or data[ivm] ~= node['air']) then
           data[ivm] = node["default:stone"]
 				end
 
-- 
GitLab