diff --git a/README.md b/README.md
index 786e64e0b60aee15d9e6644c4b356adda407c225..a8f9c7536d2d3eb692f2c2ae16e3acc4fec3b624 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,13 @@ Ethereal Mapgen mod for Minetest (works on all except v6)
 
 ## Changelog
 
+### 1.22
+
+ - Added coral and silver sand to mapgen (0.4.15 only)
+ - Replaced ethereal:green_dirt with default:dirt_with_grass for mortrees compatibility
+ - Mesa biomes are now topped with dirt with dry grass (redwood saplings grow on dry grass)
+ - Added bonemeal support for moretree's saplings
+
 ### 1.21
 
  - Saplings need clear space above to grow (depending on height of tree)
@@ -18,7 +25,6 @@ Ethereal Mapgen mod for Minetest (works on all except v6)
  - Added default Abm overrides
  - Added 4 new plants from baked clay mod to mapgen
  - Added swamp biome to outskirts of bamboo areas
- - Added coral and silver sand to mapgen (0.4.15 only)
 
 ### 1.20
 
diff --git a/dirt.lua b/dirt.lua
index f68f46d3146ed7792153ba089666143bd68fbd32..e99f13abfe8c7363e81d4e704ad4733ea4502493 100644
--- a/dirt.lua
+++ b/dirt.lua
@@ -4,7 +4,7 @@ local S = ethereal.intllib
 -- override default dirt (to stop caves cutting away dirt)
 minetest.override_item("default:dirt", {is_ground_content = ethereal.cavedirt})
 
--- green dirt
+--[[ green dirt
 minetest.register_node("ethereal:green_dirt", {
 	description = S("Green Dirt"),
 	tiles = {
@@ -23,7 +23,8 @@ minetest.register_node("ethereal:green_dirt", {
 	sounds = default.node_sound_dirt_defaults({
 		footstep = {name = "default_grass_footstep", gain = 0.25},
 	}),
-})
+})]]
+minetest.register_alias("ethereal:green_dirt", "default:dirt_with_grass")
 
 -- dry dirt
 minetest.register_node("ethereal:dry_dirt", {
diff --git a/mapgen.lua b/mapgen.lua
index f2fd48291b8a26eb9a2fb4bb87dbfb2485fd02a5..7842911fc0ba8ccbd7ed9b5267ff298fd388c2aa 100644
--- a/mapgen.lua
+++ b/mapgen.lua
@@ -106,7 +106,8 @@ add_biome("bamboo", nil, "ethereal:bamboo_dirt", 1, "default:dirt", 3,
 add_biome("bamboo_ocean", nil, "default:sand", 1, "default:sand", 2,
 	nil, nil, nil, nil, nil, -192, 2, 45, 75, ethereal.bamboo)
 
-add_biome("mesa", nil, "bakedclay:orange", 1, "bakedclay:orange", 15,
+--add_biome("mesa", nil, "bakedclay:orange", 1, "bakedclay:orange", 15,
+add_biome("mesa", nil, "default:dirt_with_dry_grass", 1, "bakedclay:orange", 15,
 	nil, nil, nil, nil, nil, 1, 71, 25, 28, ethereal.mesa)
 
 add_biome("mesa_ocean", nil, "default:sand", 1, "default:sand", 2,
@@ -236,7 +237,8 @@ local add_schem = function(a, b, c, d, e, f, g)
 end
 
 -- redwood tree
-add_schem({"bakedclay:orange"}, 0.0025, {"mesa"}, 1, 100, path .. "redwood.mts", ethereal.mesa)
+--add_schem({"bakedclay:orange"}, 0.0025, {"mesa"}, 1, 100, path .. "redwood.mts", ethereal.mesa)
+add_schem({"default:dirt_with_dry_grass"}, 0.0025, {"mesa"}, 1, 100, path .. "redwood.mts", ethereal.mesa)
 
 -- banana tree
 add_schem({"ethereal:grove_dirt"}, 0.015, {"grove"}, 1, 100, ethereal.bananatree, ethereal.grove)
@@ -360,6 +362,8 @@ add_node({"bakedclay:red", "bakedclay:orange"}, 0.015, {"mesa"}, 1, 100, {"defau
 -- dry grass
 add_node({"default:dirt_with_dry_grass"}, 0.25, {"savannah"}, 1, 100, {"default:dry_grass_2",
 	"default:dry_grass_3", "default:dry_grass_4", "default:dry_grass_5"}, nil, nil, nil, ethereal.savannah)
+add_node({"default:dirt_with_dry_grass"}, 0.10, {"mesa"}, 1, 100, {"default:dry_grass_2",
+	"default:dry_grass_3", "default:dry_grass_4", "default:dry_grass_5"}, nil, nil, nil, ethereal.mesa)
 
 -- flowers & strawberry
 add_node({"ethereal:green_dirt"}, 0.025, {"grassy"}, 1, 100, {"flowers:dandelion_white",
diff --git a/sapling.lua b/sapling.lua
index c5ee62f34755ed4c271ed1563b73507899c8fb1f..293081b22253d2f882fe62432401cb690167c797 100644
--- a/sapling.lua
+++ b/sapling.lua
@@ -189,7 +189,8 @@ ethereal.grow_sapling = function (pos, node)
 		ethereal.grow_willow_tree(pos)
 
 	elseif node.name == "ethereal:redwood_sapling"
-	and under == "bakedclay:red" then
+	--and under == "bakedclay:red" then
+	and under == "default:dirt_with_dry_grass" then
 		ethereal.grow_redwood_tree(pos)
 
 	elseif node.name == "ethereal:orange_tree_sapling"