Releases: CaffeineMC/lithium
Lithium 0.6.6 for Minecraft 1.16.5
This release fixes a problem with mobs pathfinding through lava when there is no better path. It also includes a backport bugfix from the 1.17 branch. No further releases for 1.16 are planned unless new critical bugs are reported.
Fixes
- fix: reordering of PathNodeType calculation causing lava to be treated as PathNodeType.DANGER_FIRE
- fix: tick stealing in positive direction on chunk unloading is different from vanilla (backport from 1.17 branch)
You should not download the api package below unless you are a developer trying to compile against Lithium's API
Lithium 0.6.5 for Minecraft 1.16.5
This release fixes a problem with explosions when they destroy end crystals that are currently involved in resummoning an ender dragon.
Fixes
- fix: explosions not destroying end portal, bedrock and torch blocks that were created by the same explosion destroying end crystals that are summoning an ender dragon
You should not download the api package below unless you are a developer trying to compile against Lithium's API
Lithium 0.7.0 for Minecraft 1.17
This is the first release of Lithium for Minecraft 1.17. It contains new hopper related optimizations and fixes a bug in Lithium's tick scheduler patches. Furthermore an API that allows other mods to signal special behavior of their modded inventories is included.
Additions
- new: Several hopper related optimizations, including:
- Inventory modification tracking: Skip item transfers when transfer is guaranteed to fail.
- Entity movement tracking by section: Skip searching for entities when entity interactions are guaranteed to fail.
- Signal strength caching: Cache comparator signal strength of inventories until they are modified.
- Inventory caching: Skip searching for inventories in the world when it guaranteed to interact with the previous inventory again.
- Item transfer optimizations: Avoid stream code, avoid unnecessarily copying item stacks
Changes
- change: remove patches that are incompatible with Minecraft 1.17
Fixes
- fix: tick stealing in positive direction on chunk unloading is different from vanilla
You should not download the api package below unless you are a developer trying to compile against Lithium's API
Lithium 0.6.4 for Minecraft 1.16.5
This release fixes a memory leak in Lithium's inactive navigations optimization that is meant to skip notifying mobs about block updates they do not care about anyways.
It is recommended that all server administrators upgrade to this release if possible.
Additions
- new: block entity ticking optimizations
Fixes
- fix: memory leak in inactive navigations when mob pathfinding is interrupted by a block change followed by the mob disappearing
You should not download the api package below unless you are a developer trying to compile against Lithium's API
Lithium 0.6.3 for Minecraft 1.16.5
This releases fixes a bug in Lithium's tick scheduler patches that made block ticks scheduled at y=0 to never be unloaded, resulting in those scheduled ticks causing lag and saved chunks missing their scheduled ticks at y=0. Furthermore mod compatibility improvements and new optimizations are included.
It is recommended that all server administrators upgrade to this release if possible. We believe that this bug potentially enables a denial-of-service attack vector which could be performed by players placing millions of ticking blocks in dimensions that do not have a bedrock floor, such as the End.
Additions
- new: TNT explosions use less memory and do not destroy air blocks, improving performance and reducing the packet size
- new: Lazily evaluate rarely used values in EntityShapeContext
- new: Avoid indirection in BlockPos offset methods
- new: Compacted sine function table to reduce cache misses
- new: Precompute retracting piston shapes and cache moving block shapes
- new: Use cached sea level in chunk generator (thanks to SuperCoder7979)
Changes
- change: Improved compatibility of explosion optimizations with other mods
Fixes
- fix: Unload and save ticks scheduled at y=0 when unloading chunks
- fix: Removed POI search optimizations, which could calculate the closest matching POI incorrectly, leading to wrong nether portal linking
You should not download the api package below unless you are a developer trying to compile against Lithium's API
Lithium 0.6.1 for Minecraft 1.16.2-1.16.5
This release is a small upgrade over Lithium 0.6 and adds support for Minecraft 1.16.5 while at it. There are changes and fixes in this release, and it's advised that players upgrade to the latest releases as they come out.
Additions
- new: Use fast getChunk in ChunkRegion (thanks to SuperCoder7979)
- new: Optimize block entity ticking and unloading (thanks to Maity)
- new: Optimize pathfinding updates caused by block changes
- new: Optimize collision checks of cuboid shapes
- new: Speed up large /fill commands
- new: Replace the sine table in MathHelper with a more compact implementation
Changes
- change: Use an optimized int->obj map type in DataTracker
Fixes
- fix: Use XYZ order for iterating over blocks for path-finding around dangers
- fix: Do not skip applying mod overrides when generating the config file
- fix: Use the same tiletick limit 65536 from vanilla instead of 65565
You should not download the api
package below unless you are a developer trying to compile against Lithium's APIs.
Lithium 0.6.0 for Minecraft 1.16.4
This release adds an API that other mods can use to interact with Lithium but without requiring Lithium to be installed. Also more biome noise caching (worldgen optimization, thanks to @Gegy ) has been added and a bug regarding mob AI pathfinding outside the world has been fixed.
Additions
- new: Apply thread-local cache to InitLayer and MergingLayer #130
- new: Improve performance of path-finding patches, allow mods to override behavior
- new: Added Lithium API
Fixes
- fix: Crash when Bees pathfind above build limit #150
You should not download the dev
or sources
packages below unless you are a developer hacking on the code.
Lithium 0.5.6 for Minecraft 1.16.3
This release fixes a number of problems in Lithium 0.5.5 which affect vanilla behavior. It is recommended that all players upgrade to this release if they are currently using Lithium 0.5.5.
Fixes
- fix: Disable entity fluid check consolidation patches, fixes a number of problems involving fluid interactions with other entities (#144, #142)
- fix: Collision resolution of clipped block shapes now matches vanilla for exotic configurations (#143)
You should not download the dev
or sources
packages below unless you are a developer hacking on the code.
Lithium 0.5.5 for Minecraft 1.16.3
This release is a small upgrade over Lithium 0.5.4 and adds support for Minecraft 1.16.3 while at it. There are no pressing changes or fixes in this release, but it's advised that players generally upgrade to the latest releases as they come out.
Additions
- new: Many additional optimizations for entity path-finding by avoiding the scan for dangerous blocks where unnecessary (#136)
- new: Added patches to reduce memory allocations when using Composter blocks
Changes
- change: Mark
optifabric
as incompatible with Lithium due to numerous serious issues in recent updates. We can't reasonably debug issues with it anymore now that there are multiple active forks all sharing the same mod identifier, though we never really made a special effort to try and be compatible with it in the first place.
Fixes
- fix: Fixed a problem where our hashed list implementation would degrade performance in some scenarios (primarily mob spawning)
You should not download the dev
or sources
packages below unless you are a developer hacking on the code.
Lithium 0.5.4 for Minecraft 1.16.2
This release fixes two issues that appeared with Lithium 0.5.3 for Minecraft 1.16.2. It's recommended that users upgrade to this version to avoid transient issues.
Fixes
- fix: Correct issues with player chunk map tick optimizations, resolves world load issues after changing dimensions (#124)
- fix: Use less aggressive redirect for suffocation checks, solves an incompatibility with Pehkui (#125)
You should not download the dev
or sources
packages below unless you are a developer hacking on the code.