After a lot of trial and error I finally managed to create a datapack with a custom dimension with 2 custom biomes, a custom structure and a custom tree. Placement of stuff is still a bit wonky and I haven't figured out yet how to make the structures rarer.

Posted Jul 9, 2020, 8:29 PM UTC
285
You can download the datapack here if you want. Use the command
/execute in custom:custom_biomes run tp @s 5 63 5to get to the custom dimension.Note that you need to use snapshot 20w28a for this to work.