I ran across a setting in one of the json files that would allow for deeper ground. Could set more layers of dirt, grass, stone, and even what level water generates at.
I think it would be cool to have thinker layers for dirt and stone. It feels really thin with the default settings.
OK, so did some messing around with the settings.
TopLayerThickness is the number of layers of dirt/grass. Default is 4, so that's 3 Dirt, 1 Grass.
HeightTerrain is the overall "ground level" of the world. So if you have HeightTerrain at 50 and TopLayer at 4, that's 1 Grass, 3 Dirt, 46 Stone before you hit bedrock, digging straight down.
TopLayer will subtract layers of Stone from the HeightTerrain number. So if you have TopLayer set the same or higher than Height, it will be all dirt with 1 layer of grass. Interesting to note that the highest "ground level" (i.e. not hills, etc) will not go higher than HeightTerrain even if you have TopLayer set higher than HeightTerrain.
HeightOcean is exactly what it sounds like. The Y level the ocean is generated at. However, that also changes what Y level shores generate at. Shores will always begin generation on the same Y level as HeightOcean (assuming the ShoreHeight setting is not changed also). You could make a literal water world with sparse islands scattered around (hills, mountains, etc).
I'm unsure how much HeightOceanFloor really matters currently. We can't drown, and the only thing I could find that it changes is how low the ocean floor is set. Default setting is 8, so that's 8 blocks above bedrock.
I couldn't tell what IslandWidthHalf and IslandHeightHalf did. When I changed either of these, it wouldn't load the world. Same thing happened if I changed the starting position.
So, all of that said, here's my suggestion --
TopLayerThickness = 8-12
HeightOcean = 24
HeightOceanFloor = 8
HeightTerrain = 32-40
All the rest as their defaults.
Seems legit