diff --git a/mapgen.lua b/mapgen.lua
index d20671af8aafcb87183630b770b4e4d8684c3633..0e228f3e1ad9bdae85c1331ca8d2581655e6f507 100644
--- a/mapgen.lua
+++ b/mapgen.lua
@@ -48,16 +48,40 @@ add_biome("underground", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
 	-31000, -192, 50, 50, 1)
 
 add_biome("mountain", "default:snowblock", "default:snow", 1, "default:snowblock", 2,
-	"default:stone", "default:ice", nil, nil, nil, 225, 31000, 15, 35, 1)
-
-add_biome("mountainfiller", "default:snowblock", "default:snow", 1, "default:snowblock", 2,
-	"default:stone", "default:ice", nil, nil, nil, 225, 31000, 0, 0, 1)
+	"default:stone", "default:ice", nil, nil, nil, 311, 31000, 0, 50, 1)
 
 add_biome("desert", nil, "default:desert_sand", 1, "default:desert_sand", 3,
-	"default:desert_stone", nil, nil, nil, nil, 4, 23, 95, 0, ethereal.desert)
+	"default:desert_stone", nil, nil, nil, nil, 4, 23, 95, 5, ethereal.desert)
 
 add_biome("desert_ocean", nil, "default:sand", 1, "default:sand", 2,
-	"default:desert_stone", nil, nil, nil, nil, -192, 3, 95, 0, ethereal.desert)
+	"default:desert_stone", nil, nil, nil, nil, -192, 3, 95, 5, ethereal.desert)
+
+add_biome("sandstone", nil, "default:sandstone", 1, "default:sandstone", 1,
+	"default:sandstone", nil, nil, nil, nil, 7, 78, 75, 2, ethereal.sandstone)
+
+add_biome("sandstone_ocean", nil, "default:sand", 1, "default:sand", 2,
+	nil, nil, nil, nil, nil, -192, 6, 75, 2, ethereal.sandstone)
+
+add_biome("savannah", nil, "default:dirt_with_dry_grass", 1, "default:dirt", 3,
+	nil, nil, nil, nil, nil, 2, 67, 84, 24, ethereal.savannah)
+
+add_biome("savannah_ocean", nil, "default:sand", 1, "default:sand", 2,
+	nil, nil, nil, nil, nil, -192, 1, 84, 24, ethereal.savannah)
+
+add_biome("fiery", nil, "ethereal:fiery_dirt", 1, "default:dirt", 3,
+	nil, nil, nil, nil, nil, 5, 50, 100, 0, ethereal.fiery)
+
+add_biome("fiery_ocean", nil, "default:sand", 1, "default:sand", 2,
+	nil, nil, nil, nil, nil, -192, 4, 100, 0, ethereal.fiery)
+
+add_biome("caves_dunes", nil, "default:gravel", 3, "air", 8,
+	nil, nil, nil, nil, nil, 32, 120, 10, 2, ethereal.caves)
+
+add_biome("caves", nil, "default:desert_stone", 3, "air", 8,
+	nil, nil, nil, nil, nil, 4, 32, 10, 2, ethereal.caves)
+
+add_biome("caves_ocean", "default:gravel", "default:sand", 3, "air", 8,
+	nil, nil, nil, nil, nil, -14, 3, 10, 2, ethereal.caves)
 
 add_biome("glacier", "default:snowblock", "default:snowblock", 1,
 	"default:snowblock", 3, "default:ice", "default:ice", 10, nil, "default:ice", 351, 31000, 0, 95, ethereal.glacier)
@@ -86,6 +110,7 @@ add_biome("candythreehalf", nil, "mtcandy:dotted_green", 1,
 add_biome("candyfour", nil, "mtcandy:daisy", 1,
 	"mtcandy:dotted_pink", 3, "mtcandy:milk_choco", nil, 10, nil, nil, 28, 42, 0, 0, ethereal.glacier)
 ]]
+
 add_biome("stone_grassland", nil, "ethereal:green_dirt", 1, "default:stone", 3,
 	nil, nil, nil, nil, nil, 1, 85, 35, 56, 1)
 
@@ -111,37 +136,25 @@ add_biome("grassytwo_ocean", nil, "default:sand", 1, "default:sand", 2,
 	nil, nil, nil, nil, nil, -192, 1, 29, 98, ethereal.grassytwo)
 
 add_biome("alpine", nil, "default:dirt_with_snow", 1, "default:dirt", 2,
-	nil, nil, 1, "default:ice", nil, 122, 230, 15, 85, ethereal.alpine)
-
-add_biome("alpinefiller", nil, "default:dirt_with_snow", 1, "default:dirt", 2,
-	nil, nil, 1, "default:ice", nil, 122, 230, 0, 0, ethereal.alpine)
+	nil, nil, 1, "default:ice", nil, 221, 310, 4, 65, ethereal.alpine)
 
 add_biome("snowy", nil, "ethereal:cold_dirt", 1, "default:dirt", 2,
-	nil, nil, nil, nil, nil, 80, 121, 16, 35, ethereal.snowy)
-
-add_biome("snowyfiller", nil, "ethereal:cold_dirt", 1, "default:dirt", 2,
-	nil, nil, nil, nil, nil, 80, 121, 0, 0, ethereal.snowy)
+	nil, nil, nil, nil, nil, 120, 220, 16, 35, ethereal.snowy)
 
 add_biome("frost", nil, "ethereal:crystal_dirt", 1, "default:dirt", 7,
-	nil, "default:ice", 1, nil, "default:ice", 60, 85, 9, 42, ethereal.frost)
+	nil, "default:ice", 1, nil, "default:ice", 130, 185, 9, 42, ethereal.frost)
 
 add_biome("frost_ocean", nil, "default:silver_sand", 1, "default:silver_sand", 2,
-	nil, nil, nil, nil, nil, -192, 1, 9, 42, ethereal.frost)
+	nil, nil, nil, nil, nil, 90, 129, 9, 42, ethereal.frost)
 
 add_biome("grassy", nil, "ethereal:green_dirt", 1, "default:dirt", 3,
-	nil, nil, nil, nil, nil, 4, 112, 50, 40, ethereal.grassy)
+	nil, nil, nil, nil, nil, 6, 119, 50, 40, ethereal.grassy)
 
 add_biome("grassy_dunes", nil, "defaut:sand", 1, "defaut:gravel", 3,
 	nil, nil, nil, nil, nil, 5, 5, 50, 40, ethereal.grassy)
 
 add_biome("grassy_ocean", nil, "defaut:sand", 2, "default:gravel", 1,
-	nil, nil, nil, nil, nil, -310, 3, 50, 40, ethereal.grassy)
-
-add_biome("caves", nil, "default:desert_stone", 3, "air", 8,
-	nil, nil, nil, nil, nil, 4, 32, 68, 16, ethereal.caves)
-
-add_biome("caves_ocean", "default:gravel", "default:sand", 3, "air", 8,
-	nil, nil, nil, nil, nil, -14, 3, 68, 16, ethereal.caves)
+	nil, nil, nil, nil, nil, -310, 4, 50, 40, ethereal.grassy)
 
 add_biome("grayness", nil, "ethereal:gray_dirt", 1, "default:dirt", 3,
 	nil, nil, nil, nil, nil, 1, 4, 85, 92, ethereal.grayness)
@@ -164,10 +177,10 @@ add_biome("jumble", nil, "ethereal:green_dirt", 1, "default:dirt", 3,
 add_biome("jumble_ocean", nil, "default:sand", 1, "default:sand", 2,
 	nil, nil, nil, nil, nil, -192, 1, 25, 50, ethereal.jumble)
 
-add_biome("junglee", nil, "ethereal:jungle_dirt", 1, "default:dirt", 3,
+add_biome("junglee", nil, "ethereal:jungle_dirt", 1, "default:dirt", 6,
 	nil, nil, nil, nil, nil, 3, 71, 85, 82, ethereal.junglee)
 
-add_biome("junglee_ocean", nil, "default:sand", 1, "default:sand", 2,
+add_biome("junglee_ocean", nil, "default:gravel", 3, "default:clay", 4,
 	nil, nil, nil, nil, nil, -192, 2, 85, 82, ethereal.junglee)
 
 add_biome("grove", nil, "ethereal:grove_dirt", 1, "default:dirt", 3,
@@ -176,38 +189,20 @@ add_biome("grove", nil, "ethereal:grove_dirt", 1, "default:dirt", 3,
 add_biome("grove_ocean", nil, "default:sand", 1, "default:sand", 2,
 	nil, nil, nil, nil, nil, -192, 2, 45, 35, ethereal.grove)
 
-add_biome("mushroom", nil, "ethereal:mushroom_dirt", 1, "default:dirt", 3,
+add_biome("mushroom", nil, "ethereal:mushroom_dirt", 1, "default:dirt", 8,
 	nil, nil, nil, nil, nil, 3, 14, 45, 55, ethereal.mushroom)
 
-add_biome("mushroom_ocean", nil, "default:sand", 1, "default:sand", 2,
-	nil, nil, nil, nil, nil, -192, 2, 45, 85, ethereal.mushroom)
-
-add_biome("sandstone", nil, "default:sandstone", 1, "default:sandstone", 1,
-	"default:sandstone", nil, nil, nil, nil, 3, 40, 86, 0, ethereal.sandstone)
-
-add_biome("sandstone_ocean", nil, "default:sand", 1, "default:sand", 2,
-	nil, nil, nil, nil, nil, -192, 2, 86, 0, ethereal.sandstone)
+add_biome("mushroom_ocean", nil, "default:silver_sand", 1, "default:silver_sand", 8,
+	nil, nil, nil, nil, nil, -192, 2, 45, 55, ethereal.mushroom)
 
 add_biome("quicksand", nil, "ethereal:quicksand2", 3, "default:gravel", 1,
 	nil, nil, nil, nil, nil, 1, 1, 50, 38, ethereal.quicksand)
 
 add_biome("plains", nil, "ethereal:dry_dirt", 1, "default:dirt", 3,
-	nil, nil, nil, nil, nil, 3, 82, 45, 33, ethereal.plains)
+	nil, nil, nil, nil, nil, 3, 86, 35, 32, ethereal.plains)
 
 add_biome("plains_ocean", nil, "default:sand", 1, "default:sand", 2,
-	nil, nil, nil, nil, nil, -192, 2, 45, 33, ethereal.plains)
-
-add_biome("savannah", nil, "default:dirt_with_dry_grass", 1, "default:dirt", 3,
-	nil, nil, nil, nil, nil, 2, 67, 74, 24, ethereal.savannah)
-
-add_biome("savannah_ocean", nil, "default:sand", 1, "default:sand", 2,
-	nil, nil, nil, nil, nil, -192, 1, 74, 24, ethereal.savannah)
-
-add_biome("fiery", nil, "ethereal:fiery_dirt", 1, "default:dirt", 3,
-	nil, nil, nil, nil, nil, 5, 50, 100, 0, ethereal.fiery)
-
-add_biome("fiery_ocean", nil, "default:sand", 1, "default:sand", 2,
-	nil, nil, nil, nil, nil, -192, 4, 100, 0, ethereal.fiery)
+	nil, nil, nil, nil, nil, -192, 2, 35, 32, ethereal.plains)
 
 add_biome("sandclay", nil, "default:sand", 3, "default:clay", 2,
 	nil, nil, nil, nil, nil, 1, 2, 72, 86, ethereal.sandclay)
@@ -256,10 +251,10 @@ minetest.register_decoration({
 add_schem({"ethereal:grove_dirt"}, 0.015, {"grove"}, 1, 100, ethereal.bananatree, ethereal.grove)
 
 -- healing tree
-add_schem({"default:dirt_with_snow"}, 0.005, {"alpine"}, 120, 230, path .. "yellowtree.mts", ethereal.alpine)
+add_schem({"default:dirt_with_snow"}, 0.001, {"alpine"}, 221, 310, path .. "yellowtree.mts", ethereal.alpine)
 
 -- crystal frost tree
-add_schem({"ethereal:crystal_dirt"}, 0.01, {"frost"}, 1, 100, path .. "frosttrees.mts", ethereal.frost)
+add_schem({"ethereal:crystal_dirt"}, 0.01, {"frost"}, 130, 185, path .. "frosttrees.mts", ethereal.frost)
 
 -- giant mushroom
 add_schem({"ethereal:mushroom_dirt"}, 0.02, {"mushroom"}, 1, 100, path .. "mushroomone.mts", ethereal.mushroom)
@@ -277,13 +272,13 @@ add_schem({"ethereal:jungle_dirt"}, 0.032, {"junglee"}, 1, 100, dpath .. "jungle
 add_schem({"ethereal:gray_dirt"}, 0.02, {"grayness","graynesstwo"}, 1, 100, path .. "willow.mts", ethereal.grayness)
 
 -- pine tree (default for lower elevation and ethereal for higher)
-add_schem({"ethereal:cold_dirt"}, 0.025, {"snowy","snowyfiller"}, 10, 40, dpath .. "pine_tree.mts", ethereal.snowy)
-add_schem({"default:dirt_with_snow"}, 0.025, {"alpine"}, 40, 190, path .. "pinetree.mts", ethereal.alpine)
-add_schem({"default:dirt_with_snow"}, 0.015, {"alpine"}, 40, 225, dpath .. "pine_tree.mts", ethereal.alpine)
+add_schem({"ethereal:cold_dirt"}, 0.025, {"snowy","snowyfiller"}, 10, 220, dpath .. "pine_tree.mts", ethereal.snowy)
+add_schem({"default:dirt_with_snow"}, 0.025, {"alpine"}, 221, 260, path .. "pinetree.mts", ethereal.alpine)
+add_schem({"default:dirt_with_snow"}, 0.015, {"alpine"}, 221, 310, dpath .. "pine_tree.mts", ethereal.alpine)
 
 -- default apple tree
 add_schem({"ethereal:green_dirt"}, 0.02, {"jumble"}, 1, 100, dpath .. "apple_tree.mts", ethereal.grassy)
-add_schem({"ethereal:green_dirt"}, 0.03, {"grassy"}, 1, 100, dpath .. "apple_tree.mts", ethereal.grassy)
+add_schem({"ethereal:green_dirt"}, 0.03, {"grassy"}, 1, 180, dpath .. "apple_tree.mts", ethereal.grassy)
 
 -- big old tree
 add_schem({"ethereal:green_dirt"}, 0.001, {"jumble"}, 1, 100, path .. "bigtree.mts", ethereal.jumble)
@@ -396,7 +391,7 @@ add_node({"ethereal:prairie_dirt"}, 0.035, {"prairie"}, 1, 100, {"flowers:dandel
 	"flowers:viola", "ethereal:strawberry_7"}, nil, nil, nil, ethereal.prairie)
 
 -- crystal spike & crystal grass
-add_node({"ethereal:crystal_dirt"}, 0.02, {"frost"}, 1, 100, {"ethereal:crystal_spike",
+add_node({"ethereal:crystal_dirt"}, 0.02, {"frost"}, 130, 185, {"ethereal:crystal_spike",
 	"ethereal:crystalgrass"}, nil, nil, nil, ethereal.frost)
 
 -- red shrub
@@ -407,9 +402,9 @@ add_node({"ethereal:fiery_dirt"}, 0.10, {"fiery"}, 1, 100, {"ethereal:dry_shrub"
 
 -- snowy grass
 add_node({"ethereal:gray_dirt"}, 0.5, {"grayness"}, 1, 100, {"ethereal:snowygrass"}, nil, nil, nil, ethereal.grayness)
-add_node({"ethereal:cold_dirt"}, 0.5, {"snowy","snowyfiller"}, 1, 120, {"ethereal:snowygrass"}, nil, nil, nil, ethereal.snowy)
-add_node({"default:dirt_with_snow"}, 0.5, {"alpine"}, 1, 225, {"ethereal:snowygrass"}, nil, nil, nil, ethereal.alpine)
-add_node({"ethereal:crystalgrass"}, 0.5, {"frost"}, 1, 100, {"ethereal:snowygrass"}, nil, nil, nil, ethereal.frost)
+add_node({"ethereal:cold_dirt"}, 0.5, {"snowy","snowyfiller"}, 1, 220, {"ethereal:snowygrass"}, nil, nil, nil, ethereal.snowy)
+add_node({"default:dirt_with_snow"}, 0.5, {"alpine"}, 221, 310, {"ethereal:snowygrass"}, nil, nil, nil, ethereal.alpine)
+add_node({"ethereal:crystalgrass"}, 0.5, {"frost"}, 130, 185, {"ethereal:snowygrass"}, nil, nil, nil, ethereal.frost)
 
 -- cactus
 add_node({"default:sandstone"}, 0.0025, {"sandstone"}, 1, 100, {"default:cactus"}, 3, nil, nil, ethereal.sandstone)
@@ -459,20 +454,20 @@ add_node({"ethereal:mesa_dirt"}, 0.10, {"mesa"}, 1, 100, {"default:junglegrass"}
 add_node({"ethereal:green_dirt"}, 0.25, {"swamp"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.swamp)
 
 -- grass
-add_node({"ethereal:green_dirt"}, 0.95, {"grassy"}, 1, 115, {"default:grass_5"}, nil, nil, nil, ethereal.grassy)
-add_node({"ethereal:green_dirt"}, 0.95, {"grassytwo","clearing"}, 1, 100, {"default:grass_5"}, nil, nil, nil, ethereal.grassytwo)
-add_node({"ethereal:green_dirt"}, 0.95, {"jumble"}, 1, 115, {"default:grass_2", "default:grass_3",
+add_node({"ethereal:green_dirt"}, 0.95, {"grassy"}, 1, 120, {"default:grass_5"}, nil, nil, nil, ethereal.grassy)
+add_node({"ethereal:green_dirt"}, 0.95, {"grassytwo","clearing"}, 1, 140, {"default:grass_5"}, nil, nil, nil, ethereal.grassytwo)
+add_node({"ethereal:green_dirt"}, 0.95, {"jumble"}, 1, 120, {"default:grass_2", "default:grass_3",
 	"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.jumble)
-add_node({"ethereal:jungle_dirt"}, 0.15, {"junglee"}, 1, 115, {"default:grass_2", "default:grass_3",
+add_node({"ethereal:jungle_dirt"}, 0.15, {"junglee"}, 1, 120, {"default:grass_2", "default:grass_3",
 	"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.junglee)
 add_node({"ethereal:prairie_dirt"}, 0.35, {"prairie"}, 1, 115, {"default:grass_2", "default:grass_3",
 	"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.prairie)
 add_node({"ethereal:grove_dirt"}, 0.65, {"grove"}, 1, 115, {"default:grass_2", "default:grass_3",
 	"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.grove)
-add_node({"ethereal:bamboo_dirt"}, 0.35, {"bamboo"}, 1, 115, {"default:grass_2", "default:grass_3",
+add_node({"ethereal:bamboo_dirt"}, 0.35, {"bamboo"}, 1, 120, {"default:grass_2", "default:grass_3",
 	"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.bamboo)
-add_node({"ethereal:green_dirt"}, 1, {"stone_grassland"}, 1, 115, { "default:grass_5"}, nil, nil, nil, ethereal.bamboo)
-add_node({"ethereal:green_dirt"}, 1, {"sandstone_grassland"}, 1, 115, {"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.bamboo)
+add_node({"ethereal:green_dirt"}, 1, {"stone_grassland"}, 1, 120, { "default:grass_5"}, nil, nil, nil, ethereal.bamboo)
+add_node({"ethereal:green_dirt"}, 1, {"sandstone_grassland"}, 1, 120, {"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.bamboo)
 add_node({"ethereal:green_dirt"}, 0.35, {"swamp"}, 1, 100, {"default:grass_3",
 	"default:grass_4"}, nil, nil, nil, 1)
 
@@ -484,8 +479,8 @@ add_node({"ethereal:grove_dirt","ethereal:jungle_dirt","ethereal:mesa_dirt"}, 0.
 add_node({"ethereal:swamp_dirt"}, 0.1, {"swamp"}, 1, 100, {"ethereal:fern"}, nil, nil, nil, ethereal.swamp)
 
 -- snow
-add_node({"ethereal:cold_dirt"}, 0.6, {"snowy","snowyfiller"}, 4, 120, {"default:snow"}, nil, nil, nil, ethereal.snowy)
-add_node({"default:dirt_with_snow"}, 0.8, {"alpine"}, 40, 225, {"default:snow"}, nil, nil, nil, ethereal.alpine)
+add_node({"ethereal:cold_dirt"}, 0.6, {"snowy","snowyfiller"}, 4, 220, {"default:snow"}, nil, nil, nil, ethereal.snowy)
+add_node({"default:dirt_with_snow"}, 0.8, {"alpine"}, 221, 310, {"default:snow"}, nil, nil, nil, ethereal.alpine)
 add_node({"ethereal:green_dirt"}, 0.8, {"clearing","grassytwo"}, 86, 140, {"default:snow"}, nil, nil, nil, ethereal.alpine)
 add_node({"ethereal:green_dirt"}, 0.4, {"clearing","grassytwo"}, 76, 86, {"default:snow"}, nil, nil, nil, ethereal.alpine)
 add_node({"ethereal:green_dirt"}, 0.1, {"clearing","grassytwo"}, 72, 76, {"default:snow"}, nil, nil, nil, ethereal.alpine)