This merge introduces lots of new optimizations and lots of new features and fixes. The list of optimizations is bellow:
New Optimizations
- optimize entity lists allocations
- optimze block entity trackers with lithium HashedRefrenceList
- optimize net.minecraft math sin and cos with lithium CompactSinUtils
- optimze EntitySectionStorage
- optimzed some json storage
- fixed duplicate random var instances being generated
- optimized AsyncTaskHandler by switching it to use LinkedBlockingDeque
- optimized firework saving
- fixed items dropping with give cmd giving duplicate items
- fixed processing chat cmds before player has fully joined
- use MCUtil.asyncExecutor for MAIN_WORKER_EXECUTOR in SystemUtils
- optimized networking usage by not sending useless entity packets
- replace AI goal set with optimized collection
- fixed bug where mc would send fire packets to the client when in fire and had fire res(improves networking for those cases)
- (lithium) optimized cached hashcode in blocks
- skip entity movement updates if the movement was 0
- optmized gamerule storage
- fixed cloning loot parameters
- optmized BiomeAccess predication
- optimized direction/shape vectors by precomputing shape arrays
- optmized elytra checks
- optimized spawn density cap
- optmized math for world noise generation
- optmized chunk serialization
- optimized update hand swinging
- optmized statistics to be smarter
- faster speed checks
- cache iterate outwards
- (lithium) ai.raid optimizations
- use linked map for entity trackers for faster iteration
- reduce ObjectCaching allocation usage
- optmize voxel shapes
- fix hunger saturation depleting on peaceful
- fix mobs attacking themself
- optmize world generation(its a shit ton faster)
- fix brewing stands resetting brewTime when being unloaded
- save json lists async for StoredUserLists
- swap predicate order of collision
- cache block break animation packet
- optimize Sheep.getOffspringColor
- precompute VarInt and VarLong sizes
- more fastutil data structers
- reduce work done by game event system
- optimize world tick scheduler(lithium)
- optimize math round and math hypot
- fix protected public patches
- added smoother teleports
- optimized json list saving bc it saved twice lol
- made entity pathfinding async
- fixed random stroll ai goal to not wander into non-ticking chunks
- fixed sync event calls on async threads
- optimize VarInt and VarLong
- some micro entity optimizations
This merge introduces lots of new optimizations and lots of new features and fixes. The list of optimizations is bellow:
New Optimizations