Worldgen features, more block features, alot of rewrites
New:
Structure API along with ingame Structure Block for saving/loading ingame
Worldgen API for generating features with json config support (default has ore, geode, spring and structure and more)
Color API for Color conversions, creation, and more
ItemPredicate for weak stack checks
Transaction and Batch query support for Database
MySQL implementation for Database
A few other useful methods for queries and batch queries
From-scratch Energy API with EnergyUnit support and builtin Energy Network
Loot table API rewritten to be datadriven, can also be now used to replace or merge with vanilla tables
More hooks for CustomBlock, and more properties for it
Almost all loaders can now be used to load relevant object from jar or a folder
Changes:
Particle API now uses ColorProvider instead of Gradient
Tag API now uses ItemPredicate, and has overall been rewritten
DataComponent uses Type instead of ID, this also removes all reflection related to data component API (thus making it faster than before)
CustomBlock#place no longer resets placed blocks state (this also means if calling via API, the vanilla block should be placed before calling CustomBlock#place)
Try utility has been entirely rewritten, any usages must update to new format
insert() no longer refers to INSERT_OR_REPLACE, use new replace() chain
All database operations (player statistics, block manager etc) now use optimized db calls (transactions, batch calls, async calls)
Removal:
Gradient has been removed (replaced by ColorProvider)