Choosing Which Block Replaces Bedrock and Which Layers to Flatten
Flat Bedrock does not just delete bedrock; it replaces the flattened layer with a block you choose. Getting that choice right matters for how usable the result is.
Pick the fill block
In each dimension file, the fillBlock value is the block that takes the place of the bedrock. It uses a namespaced name, so a vanilla block looks like minecraft: followed by the block name. You can point it at a modded block by using that mod's namespace instead. A solid, opaque block gives you a normal-looking floor or ceiling you can build on. A
transparent or non-solid block would leave a hole you could fall through, so avoid those unless that is what you want.
Decide top versus bottom
genTop controls the ceiling layer and genBottom controls the floor layer. Not every dimension has both. The Overworld only has a floor, so only the bottom switch is relevant there. The Nether has both, so you can flatten the roof, the floor, or both independently. Set a switch to false if you want that layer left alone.
Keep the two dimensions separate
Because each dimension has its own file, you can give the Overworld one fill block and the Nether a different one. Change one file without touching the other.
Verify in game
After editing, generate a new chunk or enable retro-generation and look at the layer directly. If the block is wrong, the name is likely misspelled or missing its namespace.