Since 1.16, the way minecraft handles world generation has been shifting towards being based on json files in data packs rather than making you write code. Eventually I'd like to write my own tutorials on this but for now I'll try to collect a list of resources made by people that understand it much better than me.
If you have questions about world gen specifically, the Minecraft Worldgen Discord Server might have someone who can help.
I'm not sure how much has changed since 1.18 so you may be able to consult the list of links for 1.18 World Gen Resources. I'll try to update this page at some point.
In 1.19, the BiomeLoadingEvent has been removed, use Biome Modifiers instead.