This week's snapshot introduces experimental support for custom biomes in data packs. This work has involved redoing some of the internal plumbing of things behind the scene, so it might be a bit leaky. We hope no important parts drip out, but if they do, pick them back up for us, please.
As always, make sure to make backups if you try a world in a snapshot.
Changes in 20w28a
Villagers now emit green particles when joining a village, setting a home bed, or acquiring a job site/profession
Brewing stands can now be crafted with blackstone
Tweaked bartering loot
Totems of undying now give the fire resistance status affect for 40 seconds when activated
Technical Changes in 20w28a
Custom worlds now support custom biomes
Dedicated servers can now rate limit clients
Customized world generation
There is now experimental support for a worldgen folder in data packs
worldgen/biome can contain biome definitions
worldgen/configured_carver can contain definitions for world carver settings
worldgen/configured_feature can contain definitions for feature placements
worldgen/configured_structure_feature can contain definitions for structure placements
worldgen/configured_surface_builder can contain definitions for surfaces
worldgen/processor_list can contain sets of block processors
worldgen/template_pool can contain pool definitions for jigsaw structures
Custom biomes can now be used in the single biome/caves/floating islands world types (add the data pack containing the biome first)
Custom biomes can now be used in custom dimension generators
Dedicated server packet limit
Dedicated servers can now kick clients that consistently send too many packets within a second
Controlled with the rate-limit settings in server.properties