From b7684d29802cc9bcf2355fa67aabb3bfb4af7dff Mon Sep 17 00:00:00 2001
From: Wuzzy <almikes@aol.com>
Date: Sun, 10 Sep 2017 14:23:52 +0200
Subject: [PATCH] Add deep ocean biome

---
 mods/MAPGEN/mcl_biomes/init.lua | 75 +++++++++++++++++++++------------
 1 file changed, 47 insertions(+), 28 deletions(-)

diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua
index 7ce87edc..96224936 100644
--- a/mods/MAPGEN/mcl_biomes/init.lua
+++ b/mods/MAPGEN/mcl_biomes/init.lua
@@ -48,6 +48,9 @@ local function register_biomes()
 
 	]]
 
+	local DEEP_OCEAN_MAX = -11
+	local OCEAN_MIN = DEEP_OCEAN_MAX + 1
+
 	-- Ice Plains Spikes
 	minetest.register_biome({
 		name = "ice_plains_spikes",
@@ -76,7 +79,7 @@ local function register_biomes()
 		node_river_water = "mcl_core:ice",
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 0,
 		humidity_point = 73,
@@ -123,7 +126,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = -4,
 		heat_point = 0,
 		humidity_point = 40,
@@ -152,7 +155,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 26,
 		humidity_point = 72,
@@ -181,7 +184,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 21,
 		humidity_point = 72,
@@ -225,7 +228,7 @@ local function register_biomes()
 		depth_filler = 4,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 4,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = -4,
 		heat_point = 31,
 		humidity_point = 30,
@@ -254,7 +257,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 3,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 28,
 		humidity_point = 30,
@@ -301,7 +304,7 @@ local function register_biomes()
 		depth_filler = 4,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 4,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 31,
 		humidity_point = 35,
@@ -323,7 +326,7 @@ local function register_biomes()
 		filler_depth = 2,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 1,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = -7,
 		heat_point = 31,
 		humidity_point = 15,
@@ -356,7 +359,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 13,
 		humidity_point = 79,
@@ -399,7 +402,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 26,
 		humidity_point = 45,
@@ -429,7 +432,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:dirt",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 26,
 		humidity_point = 22.5,
@@ -473,7 +476,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 47,
 		humidity_point = 73,  --was 70
@@ -516,7 +519,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = -2,
 		heat_point = 33,
 		humidity_point = 44,  --was 68
@@ -559,7 +562,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = -3,
 		heat_point = 33,
 		humidity_point = 51,
@@ -588,7 +591,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 20,
 		humidity_point = 49,
@@ -617,7 +620,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 20,
 		humidity_point = 44,
@@ -647,7 +650,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 57,
 		humidity_point = 0,  --was 0
@@ -676,7 +679,7 @@ local function register_biomes()
 		depth_filler = 1,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 26,
 		humidity_point = 0,
@@ -720,7 +723,7 @@ local function register_biomes()
 		depth_filler = 2,
 		node_riverbed = "mcl_core:redsand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 88,
 		humidity_point = 20,
@@ -779,7 +782,7 @@ local function register_biomes()
 		depth_filler = 2,
 		node_riverbed = "mcl_core:redsand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 64,
 		humidity_point = 37,
@@ -822,7 +825,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = -2,
 		heat_point = 50,
 		humidity_point = 46,
@@ -852,7 +855,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 55,
 		humidity_point = 46,
@@ -895,7 +898,7 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = -2,
 		heat_point = 90,
 		humidity_point =  91,
@@ -923,7 +926,7 @@ local function register_biomes()
 		depth_filler = 2,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 90,
 		humidity_point = 87,
@@ -954,7 +957,7 @@ local function register_biomes()
 		depth_filler = 4,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 90,
 		humidity_point = 90,
@@ -998,8 +1001,8 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = 20,
-		y_max = -4,
+		y_min = OCEAN_MIN,
+		y_max = -5,
 		heat_point = 60,
 		humidity_point = 99,
 	})
@@ -1043,12 +1046,28 @@ local function register_biomes()
 		depth_filler = 3,
 		node_riverbed = "mcl_core:sand",
 		depth_riverbed = 2,
-		y_min = mcl_vars.mg_overworld_min,
+		y_min = OCEAN_MIN,
 		y_max = 0,
 		heat_point = 99,
 		humidity_point = 99,
 	})
 
+	-- Deep Ocean
+	-- Special biome below all other ocean biomes, used for generating gravel
+	minetest.register_biome({
+		name = "deep_ocean",
+		node_top = "mcl_core:gravel",
+		depth_top = 2,
+		node_filler = "mcl_core:gravel",
+		depth_filler = 2,
+		node_riverbed = "mcl_core:gravel",
+		depth_riverbed = 2,
+		y_min = mcl_vars.mg_overworld_min,
+		y_max = DEEP_OCEAN_MAX,
+		heat_point = 50,
+		humidity_point = 50,
+	})
+
 end
 
 -- Register biomes of non-Overworld biomes