Thank you all for the replies.
I have tried your solution and it works. However, when I attempt to make a lot of layers I get a weird, unfinished world generation (pictured below).
Here is the custom file I used. I went over it and spotted no mistakes so I feel like it is an issue related to the number of layers I want to generate.
{
"code": "superflatworldgen",
"blockCodes": [
"creativeblock-32", // 3rd warning layer before void. 1 Layer before void. Red coloured block. Last layer.
"creativeblock-34", // 2nd warning layer before void. 2 Layers before void.
"creativeblock-34", // 2nd warning layer before void. 3 Layers before void. Orange coloured block.
"creativeblock-36", // 1st warning layer before void. 4 Layers before void.
"creativeblock-36", // 1st warning layer before void. 5 Layers before void.
"creativeblock-36", // 1st warning layer before void. 6 Layers before void. Yellow coloured block.
"rock-obsidian", // Last layer of obsidian, 10 in total
"rock-obsidian", // Obsidian
"rock-obsidian", // Obsidian
"rock-obsidian", // Obsidian
"rock-obsidian", // Obsidian
"rock-obsidian", // Obsidian
"rock-obsidian", // Obsidian
"rock-obsidian", // Obsidian
"rock-obsidian", // Obsidian
"rock-obsidian", // First layer of obsidian
"rock-basalt", // Last layer of basalt, 10 in total
"rock-basalt", // Basalt
"rock-basalt", // Basalt
"rock-basalt", // Basalt
"rock-basalt", // Basalt
"rock-basalt", // Basalt
"rock-basalt", // Basalt
"rock-basalt", // Basalt
"rock-basalt", // Basalt
"rock-basalt", // First layer of basalt
"rock-chert", // Last layer of chert, 10 in total
"rock-chert", // Chert
"rock-chert", // Chert
"rock-chert", // Chert
"rock-chert", // Chert
"rock-chert", // Chert
"rock-chert", // Chert
"rock-chert", // Chert
"rock-chert", // Chert
"rock-chert", // First layer of chert
"rock-conglomerate", // Last layer of conglomerate, 10 in total
"rock-conglomerate", // Conglomerate
"rock-conglomerate", // Conglomerate
"rock-conglomerate", // Conglomerate
"rock-conglomerate", // Conglomerate
"rock-conglomerate", // Conglomerate
"rock-conglomerate", // Conglomerate
"rock-conglomerate", // Conglomerate
"rock-conglomerate", // Conglomerate
"rock-conglomerate", // First layer of conglomerate
"rock-andesite", // Last layer of andesite, 10 in total
"rock-andesite", // Andesite
"rock-andesite", // Andesite
"rock-andesite", // Andesite
"rock-andesite", // Andesite
"rock-andesite", // Andesite
"rock-andesite", // Andesite
"rock-andesite", // Andesite
"rock-andesite", // Andesite
"rock-andesite", // First layer of andesite
"rock-granite", // Last layer of granite, 10 in total
"rock-granite", // Granite
"rock-granite", // Granite
"rock-granite", // Granite
"rock-granite", // Granite
"rock-granite", // Granite
"rock-granite", // Granite
"rock-granite", // Granite
"rock-granite", // Granite
"rock-granite", // First layer of granite
"rock-limestone", // Last layer of limestone, 10 in total
"rock-limestone", // Limestone
"rock-limestone", // Limestone
"rock-limestone", // Limestone
"rock-limestone", // Limestone
"rock-limestone", // Limestone
"rock-limestone", // Limestone
"rock-limestone", // Limestone
"rock-limestone", // Limestone
"rock-limestone", // First layer of limestone
"soil-medium-none", // Last layer of dirt, 5 in total
"soil-medium-none", // Dirt
"soil-medium-none", // Dirt
"soil-medium-none", // Dirt layer (Regular Medium Soil)
"soil-medium-normal" // Surface layer (Grassy Medium Soil)
]
}
It it supposed to generate a layer of Grass and 4 layers of dirt, follower by 10 thick layers of limestone, granite, andesite, conglomerate, chert, basalt and obsidian.
Finally, I generate a layer of Creative Blocks, to mark the void approaching. It's 3 layers of Yellow, 2 layers of Orange and 1 layer of Red.