Topic category: User side tutorials
I've seen a lot of people asking about this, and I was wondering too, so after a bit of thinking and testing, I found a strategy that works.
1: Make your biome. Make a biome with the surface and underground blocks gravel (or sand for warm/lukewarm). Set the trees to Vanilla. Set all the "X's per chunk" (trees, flowers, etc.) to 0 (though if you want giant mushrooms, that would look pretty cool, I guess). Then, and this part is important, set the Base Height to a negative number, and the base height variation to something where if you added it to the base height, it would stay negative (e.g., -0.5, with a variation of 0.2).
Important note: for some reason, the biome won't spawn the "surface" block, and will only spawn one layer of the "underground" block. So, for an example of a default cold ocean, the "underground" block would be gravel, which would get one block of gravel on the surface. If you made a custom grass or something, set the underground block to that grass as well, not just the surface block.
2: Make some structures. Launch a world and make structures for kelp (around 15 high), seagrass, and double seagrass (make sure they're waterlogged). Save and import them. Then create structures for each type. Set the number per 1,000,000 chunks to 1,000,000, and then set the grouping min-max to something around 10-16 for the kelp and seagrass, and 3-5 for the double seagrass. Have all the structures spawn in your biome.
3: Test it. Find your biome. If you were correct with the heights for it, it should be completely underwater, and if you were correct with the structures, there should be kelp and seagrass everywhere.
4 (Optional): Add more seagrass/kelp. If you're unsatisfied with the amount of seagrass and kelp currently in your biome, duplicate the structure you want more of, call it something like "second_X" (X being the name of the first structure), and keep all of the settings the same. This will double the amount of that plant. (E.g, in my mod Brine, the Kelp Cliffs have a lot of kelp, so there are three structures for it).
Thanks for reading, I hope this helped!
Note: also set its parent to Ocean, variants of Ocean, and/or Beach/Stone Shore.
Please note that the kelp generation of this is quite different than Vanilla kelp generation. This pretty much just sticks kelp wherever randomly, whereas with Vanilla, each chunk has a 1/18 chance to generate a tightly-packed group of kelp. It shouldn't matter too much, and will behave fine, but just keep in mind it'll be uglier than Vanilla kelp generation.