Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Lithium

Lithium

No-compromises game logic optimization mod. Well suited for clients and servers of all kinds. Now available for Fabric and NeoForge!

36.97M
16.1k
Optimization

Compatibility

Minecraft: Java Edition

1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.2–1.16.5

Platforms

Fabric
NeoForge
Quilt

Supported environments

Client-side
Server-side
Client and server (optional)

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Join Discord server
Donate on Patreon

Creators

CaffeineMC
CaffeineMCOrganization

jellysquid3
jellysquid3 Original Author
2No2Name
2No2Name Project Lead

Details

Licensed LGPL-3.0-only
Published 4 years ago
Updated last week
DescriptionChangelogVersions

Show all versions

1
4
5
6

Lithium 0.11.1

by 2No2Name on Mar 15, 2023
Download

Lithium 0.11.1 fixes a few mod compatibility issues and includes some new performance improvements. You can check out all configuartion options at description of all optimizations here.

Additions

  • new: collections.fluid_submersion: Use faster collection and avoid FluidTag equality tests

Fixes

  • fix: several mod compatibility issues

Changes

  • change: avoid Stream API in fire/lava check in Entity movement code
  • change: split alloc.enum_values package to allow disabling single mixins

Lithium 0.11.0

by 2No2Name on Mar 7, 2023
Download

This release is a backport for 1.19.2.

Lithium 0.11.0 fixes a tiny difference in the collision code that was noticeable in some tnt duper designs. Furthermore a few bug fixes and mod compatibility improvements are included. Besides all of that, Lithium now uses a new system internally for the available configuration options. Now you can check out a description of all optimizations here.

Additions

  • new: remove vanilla temperature caching
  • new: add automatically generated lithium-mixin-config.md
  • new: testcase: closing fence gate updates llama pathfinding
  • new: Lithium API for hopper-like item transfer cooldown

Fixes

  • fix: remove incorrect chunk ticket creation (#449) by ishland*
  • fix: block.hopper.worldedit_compat: update hopper caching when placing block entities when world edit is loaded
  • fix: block.hopper: broken interaction with modded non-BlockEntity Inventory blocks
  • fix: incorrect ordering of collisions causing non-vanilla entity movement behavior
  • fix: alloc.blockstate: allow State withTables using non Block/Fluid types
  • fix: world.block_entity_ticking.sleeping: crash when /perf command prints position of sleeping block entity

Changes

  • change: lithium config mod override parsing can be used with and without mixin. prefix
  • change: use @Intrinsic annotation to improve mod compatibility
  • change: rename chunk.block_counting to util.block_tracking
  • change: entity.collisions.movement: check block below entity before other collisions
  • change: rename ai.poi.poi.tasks to ai.poi.tasks
  • change: move mixin.world.block_entity_retrieval to mixin.util.block_entity_retrieval
  • change: switch from old LithiumConfig system to mixin-config annotation system
  • change: add null check in ChunkAwareBlockCollisionSweeper
  • change: implement unused onEntryRemoved method in BitSet optimization for POI Storage
  • change: entity.collisions.movement: handle external changes to list of collision shapes correctly
  • change: disable ai.nearby_entity_tracking because it reduces performance in normal worlds
  • change: ItemEntity and Inventory entities only notify movement trackers when hopper optimizations are present
  • change: split ai.nearby_entity_tracking into ai.nearby_entity_tracking.goals and util.entity_movement_tracking

Lithium 0.11.0

by 2No2Name on Mar 4, 2023
Download

Lithium 0.11.0 fixes a tiny difference in the collision code that was noticeable in some tnt duper designs. Furthermore a few bug fixes and mod compatibility improvements are included. Besides all of that, Lithium now uses a new system internally for the available configuration options. Now you can check out a description of all optimizations here.

Additions

  • new: remove vanilla temperature caching
  • new: add automatically generated lithium-mixin-config.md
  • new: testcase: closing fence gate updates llama pathfinding
  • new: Lithium API for hopper-like item transfer cooldown

Fixes

  • fix: remove incorrect chunk ticket creation (#449) by ishland*
  • fix: block.hopper.worldedit_compat: update hopper caching when placing block entities when world edit is loaded
  • fix: block.hopper: broken interaction with modded non-BlockEntity Inventory blocks
  • fix: incorrect ordering of collisions causing non-vanilla entity movement behavior
  • fix: alloc.blockstate: allow State withTables using non Block/Fluid types
  • fix: world.block_entity_ticking.sleeping: crash when /perf command prints position of sleeping block entity

Changes

  • change: remove redundant FluidState caching in BlockStates that was added to vanilla in 22w42a
  • change: lithium config mod override parsing can be used with and without mixin. prefix
  • change: use @Intrinsic annotation to improve mod compatibility
  • change: rename chunk.block_counting to util.block_tracking
  • change: entity.collisions.movement: check block below entity before other collisions
  • change: rename ai.poi.poi.tasks to ai.poi.tasks
  • change: move mixin.world.block_entity_retrieval to mixin.util.block_entity_retrieval
  • change: switch from old LithiumConfig system to mixin-config annotation system
  • change: add null check in ChunkAwareBlockCollisionSweeper
  • change: implement unused onEntryRemoved method in BitSet optimization for POI Storage
  • change: entity.collisions.movement: handle external changes to list of collision shapes correctly
  • change: disable ai.nearby_entity_tracking because it reduces performance in normal worlds
  • change: ItemEntity and Inventory entities only notify movement trackers when hopper optimizations are present
  • change: split ai.nearby_entity_tracking into ai.nearby_entity_tracking.goals and util.entity_movement_tracking

Lithium 0.10.4

by 2No2Name on Dec 8, 2022
Download

Lithium 0.10.4

by 2No2Name on Dec 8, 2022
Download

Lithium 0.10.4 fixes a critical issue that causes heightmaps to store wrong values when placing or breaking blocks. It might have affect beacons, mob spawning and more. After fixing the bug the wrong values will still be in the world save. If you notice wrong heightmap behavior in some locations, placing and breaking a normal block (e.g. stone) above the location will update the heightmap to the correct value.

Fixes

  • fix: combined_heightmap_update always using y & 15 as height causing incorrect heightmap

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.10.3

by 2No2Name on Dec 7, 2022
Download

Lithium 0.10.3 is the first release for 1.19.3. Changes from 0.10.2:

Additions

  • new: world.combined_heightmap_update: update the four heightmaps together when placing/breaking blocks

Fixes

  • fix: block.hopper: hoppers not reacting when placing/breaking inventories without block updates
  • fix: block.hopper: hopper not notified about inventory changes anymore after placing comparator next to output inventory of hopper
  • fix: world.tick_scheduler: chunk tick scheduler peek returning wrong scheduled tick in some cases leading to wrong ticking order
  • fix: world.tick_scheduler: chunk tick scheduler broken after loading a structure block

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.10.3

by 2No2Name on Dec 7, 2022
Download

Lithium 0.10.3 fixes a few issues and adds a new heightmap optimization, which reduces lag from breaking blocks.

Additions

  • new: world.combined_heightmap_update: update the four heightmaps together when placing/breaking blocks

Fixes

  • fix: block.hopper: hoppers not reacting when placing/breaking inventories without block updates
  • fix: block.hopper: hopper not notified about inventory changes anymore after placing comparator next to output inventory of hopper
  • fix: world.tick_scheduler: chunk tick scheduler peek returning wrong scheduled tick in some cases leading to wrong ticking order
  • fix: world.tick_scheduler: chunk tick scheduler broken after loading a structure block

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.10.3

by 2No2Name on Dec 7, 2022
Download

This release is a backport for 1.18.2. Changes from 0.10.2 backport:

Fixes

  • fix: block.hopper: hoppers not reacting when placing/breaking inventories without block updates
  • fix: block.hopper: hopper not notified about inventory changes anymore after placing comparator next to output inventory of hopper
  • fix: world.tick_scheduler: chunk tick scheduler peek returning wrong scheduled tick in some cases leading to wrong ticking order
  • fix: world.tick_scheduler: chunk tick scheduler broken after loading a structure block

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.10.2

by 2No2Name on Nov 11, 2022
Download

This release is a backport for 1.18.2 from Lithium 0.10.2 for 1.19.2. The previous release for 1.18.2 was Lithium 0.7.10 . This backport includes many new optimizations, bugfixes and new bugs. For a list of changes, check out the changelogs of the versions 0.8 and above:

Changelogs

  • https://github.com/CaffeineMC/lithium-fabric/releases?q=0.8+OR+0.9+OR+0.10&expanded=true

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.10.2

by 2No2Name on Nov 10, 2022
Download

Lithium 0.10.2 fixes two issues with the hopper optimizations.

Changes

  • change: add note about backups to LithiumConfig

Fixes

  • fix: util.inventory_change_listening: ClassCastException with modded inventories or with mixin.block.hopper=false causing inventory deletion
  • fix: block.hopper: incompatibility with SidedInventory Hoppers, e.g. from Copper-Hopper mod

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.10.1

by 2No2Name on Oct 29, 2022
Download

Lithium 0.10.1 fixes a few issues with the previously improved hopper optimizations.

Fixes

  • fix: invalidate path node type caching on data pack reload
  • fix: block.hopper: multiple hoppers fighting over double inventory causing hoppers to wake each other up
  • fix: block.hopper: concurrent modification during iteration causing cache invalidation to be skipped

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.10.0

by 2No2Name on Oct 19, 2022
Download

Lithium 0.10.0 fixes a few mod compatibility issues and a small memory leak. The Lithium PathNodeType API is removed, as Fabric-API now supports registering Blocks with custom PathNodeTypes.

Changes

  • change: ai.pathing: improved PathNode caching, better mod compatibility (fabric-api) and reduced code duplication
  • change: simplify locked hopper sleeping mixin
  • change: block.hopper: replace effective overwrite redirect with inject

Fixes

  • fix: block.hopper: set mixin priority to be before fabric-transfer-api-v1
  • fix: hopper sleeping causing fabric api item transfer to be skipped
  • fix: use set instead of list to avoid duplicated entries and memory leak with sleeping hoppers

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.9.1

by 2No2Name on Oct 12, 2022
Download

Lithium 0.9.1 fixes a critical issue with hoppers that stopped reacting to entities after being lazy loaded.

Fixes

fix: sleeping hoppers that become lazy loaded aren't woken up from entity movements (Thanks to QPCrummer)

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.9.0

by 2No2Name on Oct 12, 2022
Download

Lithium 0.9.0 is a large update that includes new block entity optimizations and fixes several issues. The block entity optimizations improve the performance of hoppers, shulker boxes, campfires, furnaces and brewing stands by skipping their tick when they can't do anything. Futhermore several small behavior changes were fixed and mod compatibility was improved.

Additions

  • new: hopper, shulker box, campfire, furnace and brewingstand sleeping
  • new: aggressive hopper sleeping with comparator, entity movement and inventory change tracking
  • new: avoid sending comparator updates when there is no comparator nearby
  • new: optimized hopper minecart item entity search
  • new: system for hopper sleeping
  • new: block entity ticker caches whether it is inside the world border
  • new: use fastutil hashmap as blockentity ticker collection

Changes

  • change: avoid implementing LithiumInventory in LockableContainerBlockEntityMixin (mod compatibility)
  • change: stationary storage minecarts on rails no longer notify hoppers in every tick
  • change: chest boats inside stationary minecarts do not trigger the movement tracking system all the time
  • change: replace suffocation overwrite with inject (mod compatibility)

Fixes

  • fix: math.sine_lut: slightly off sin() and cos() results
  • fix: unpushable_cramming: crash when entity ids are not unique (related to Hypixel/Wynncraft server)
  • fix: entity.skip_equipment_change_check: mob crossbow changes not sent to clients
  • fix: entity.fast_powder_snow_check: use landing instead of stepping block state
  • fix: block.hopper: run loot generation on chest boats when converting to lithium stack list

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.8.3

by 2No2Name on Aug 7, 2022
Download

Lithium 0.8.3 for 1.19.2 and 1.19.1

Changes

  • Update to 1.19.2 and relax version lock to allow 1.19.1

You can support me on patreon: https://www.patreon.com/2No2Name

Lithium 0.8.3

by 2No2Name on Jul 29, 2022
Download

Lithium 0.8.3 is the second release for 1.19.1! It includes a bugfix too!

Fixes

  • fix: update chunk serialization patch to new mappings

You can donate on patreon: https://www.patreon.com/2No2Name

Lithium 0.8.1

by 2No2Name on Jul 9, 2022
Download

Lithium 0.8.1 is a bugfix release. It includes a fix for the nether portal linking issues near invalid portal POIs.

Fixes

  • fix: ai.poi: POI without matching BlockState breaks nearest valid POI search

You can donate on patreon: https://www.patreon.com/2No2Name

Lithium 0.8.0

by 2No2Name on Jun 9, 2022
Download

Lithium 0.8.0 is our first release for Minecraft 1.19. The release includes a new tick scheduler optimization and updates the optimizations from the previous version.

Additions

  • new: world.tick_scheduler optimization

Changes

  • change: remove incompatible LongJumpTask optimization
  • change: refactor hopper optimization

Fixes

  • fix: item stack modification notification now supports item shadowing

You can donate on patreon: https://www.patreon.com/2No2Name

Lithium 0.7.10

by 2No2Name on May 22, 2022
Download

The changelog is available on GitHub right here.

Lithium 0.7.9

by 2No2Name on Mar 2, 2022
Download

The changelog is available on GitHub right here.

1
4
5
6

Modrinth is open source.

main@4b75cb8

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.