Async - Minecraft Entity Multi-Threading Mod ⚙️
Async improves entity performance by processing entities in parallel across multiple CPU cores and threads.
Important❗
Async is currently in alpha testing and is experimental. Its use may lead to incorrect entity behavior and crashes.
What is Async? 🤔
Async enhances the performance of entity processing. The mod leverages multithreading, which allows multiple CPU cores to improve performance when handling a large number of entities.
💡 Key Benefits:
- ⚡ Improved TPS: Maintains stable tick times even with a large number of entities.
- 🚀 Multithreading: Utilizes multiple CPU cores for parallel entity processing.
- 🎲 Async Random Ticks (Experimental): Processes random ticks asynchronously for better performance.
📋 Requirements
- Minecraft: 26.1 or newer
- Java: 25 or newer
- Loader: Fabric, Quilt or NeoForge
- Dependency: Fabric API (on Fabric/Quilt)
📊 Performance Comparison (9000 Villagers)
| Configuration | TPS | MSPT |
|---|---|---|
| Lithium + Async | 20 | 41.8 |
| Lithium (without Async) | 4.4 | 225.4 |
| Purpur | 5.72 | 176.18 |
🛠️ Test Configuration
- Processor: AMD Ryzen 9 7950X3D
- RAM: 64 GB (16 GB allocated to the server)
- Minecraft Version: 1.21.4
- Number of Entities: 9000
- Entity Type: Villagers
Mod List
Concurrent Chunk Management Engine, Fabric API, FerriteCore, Lithium, ScalableLux, ServerCore, StackDeobfuscator, TT20 (TPS Fixer), Tectonic, Very Many Players, Fabric Carpet.⚠️ Incompatible Mods
- ❌ Moonrise - Known incompatibility
- ❌ Open Parties and Claims - Known incompatibility
- ⚠️ ...and there may be conflicts with other mods.
If you encounter issues with other mods, please report them on our GitHub or Discord.
🔧 Commands
Configuration
/async config toggle— Enables or disables the mod in-game (no server restart required). Use this command to instantly see how Async improves your server./async config reload— Reloads the configuration from disk./async config setAsyncEntitySpawn [true|false]— Enables or disables parallel mob spawn processing (disabled by default). Without an argument, shows the current value. Warning: Not compatible with Carpet mod lagFreeSpawning rule./async config setAsyncRandomTicks [true|false]— Enables or disables async random ticks processing (experimental feature, disabled by default). Without an argument, shows the current value./async config synchronizedEntities— Lists entities that are currently processed synchronously. Defaults tominecraft:tnt,minecraft:itemandminecraft:experience_orb./async config synchronizedEntities add <entity|namespace:*>— Adds an entity type, or every entity of a namespace, to synchronized processing./async config synchronizedEntities remove <entity|namespace:*>— Removes an entity type, or every entity of a namespace, from synchronized processing.
Statistics
/async stats— Displays mod status, async spawn and random tick states, the total entity count, and the number of threads in use./async stats entity— Shows the number of entities per world, along with how many of them are processed asynchronously./async stats entity <number>— Additionally shows the top<number>(1-100) entity types by count in descending order, each marked asasyncorsync. For example,/async stats entity 10displays the top 10 most numerous entity types./async stats entity <number> <ticks>— Records for<ticks>ticks, then displays the top<number>entity types with their average mspt usage.
⚙️ Configuration
Async can also be configured through its config file:
disabled— Fully disables the mod.maxThreads— Number of threads to use. Defaults to-1(auto)enableAsyncSpawn— Parallel mob spawn processing.enableAsyncRandomTicks— Async random ticks (experimental).synchronizedEntities— Entity types that must be ticked on the main thread.
📥 Download
The mod is available on Modrinth
🔄 Minecraft Version Support
Full support is provided only for the latest version of Minecraft. Support for older Minecraft snapshots is not planned.
📭 Feedback
Our tracker for feedback and bug reports is available on GitHub:
You can also chat with us on Discord:
🙌 Acknowledgements
This mod is based on code from MCMTFabric, which in turn was based on JMT-MCMT. Huge thanks to Grider and jediminer543 for their invaluable contributions!
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 |
# 👾 New Mod Update 👾
## 🐛 Bug Fixes
- Fixed hopper minecarts crashing with
IndexOutOfBoundsExceptionfrom a race in Lithium's shared entity-movement trackers - Fixed hoppers crashing with
IllegalClassLoadErrorfrom a mixin-package helper class being referenced directly in Lithium's entity-movement trackers - Fixed a race between async mob spawning and scoreboard team assignment that could desync a player's team and kick them (Incendium)
- Fixed piglins and other mobs crashing the server with
NoClassDefFoundErrorwhen the nearest-item, nearest-living-entity and nearest-player sensors ticked - Fixed server deadlocks between the tick pool and the server thread during entity locking and off-thread chunk loading
- Fixed a race in
ServerLevel#tickChunkover the shared random state when async random ticks are enabled - Fixed a lock-order deadlock between chunk section locks and Lithium's entity-movement tracking locks that could freeze or kick clients
- Fixed an
IndexOutOfBoundsExceptionrace in Lithium's block-change tracker - Fixed a lock-order-inversion deadlock in Lithium's block-change tracker
- Fixed an
IllegalClassLoadErrorin Lithium's block-change tracker - Fixed a chunk-wait contention timeout that could stall the tick thread
- Fixed an
ItemEntityListconcurrency race in Lithium's item stacking - Fixed the crash when re-entering a chunk full of hopper minecarts through a nether portal: minecarts are now always ticked on the main thread
## ⚡ Changes
- Marked Accelerated Recoiling as an incompatible mod: it keeps single-threaded entity-collision state that parallel ticking corrupts, which spammed
IllegalStateException: Unbalanced section view release
# 👾 New Mod Update 👾
## 🐛 Bug Fixes
- Fixed hopper minecarts crashing with
IndexOutOfBoundsExceptionfrom a race in Lithium's shared entity-movement trackers - Fixed hoppers crashing with
IllegalClassLoadErrorfrom a mixin-package helper class being referenced directly in Lithium's entity-movement trackers - Fixed a race between async mob spawning and scoreboard team assignment that could desync a player's team and kick them (Incendium)
- Fixed piglins and other mobs crashing the server with
NoClassDefFoundErrorwhen the nearest-item, nearest-living-entity and nearest-player sensors ticked - Fixed server deadlocks between the tick pool and the server thread during entity locking and off-thread chunk loading
- Fixed a race in
ServerLevel#tickChunkover the shared random state when async random ticks are enabled - Fixed a lock-order deadlock between chunk section locks and Lithium's entity-movement tracking locks that could freeze or kick clients
- Fixed an
IndexOutOfBoundsExceptionrace in Lithium's block-change tracker - Fixed a lock-order-inversion deadlock in Lithium's block-change tracker
- Fixed an
IllegalClassLoadErrorin Lithium's block-change tracker - Fixed a chunk-wait contention timeout that could stall the tick thread
- Fixed an
ItemEntityListconcurrency race in Lithium's item stacking - Fixed the crash when re-entering a chunk full of hopper minecarts through a nether portal: minecarts are now always ticked on the main thread
## ⚡ Changes
- Marked Accelerated Recoiling as an incompatible mod: it keeps single-threaded entity-collision state that parallel ticking corrupts, which spammed
IllegalStateException: Unbalanced section view release
# 👾 New Mod Update 👾
## 🐛 Bug Fixes
- Fixed hopper minecarts crashing with
IndexOutOfBoundsExceptionfrom a race in Lithium's shared entity-movement trackers - Fixed hoppers crashing with
IllegalClassLoadErrorfrom a mixin-package helper class being referenced directly in Lithium's entity-movement trackers - Fixed a race between async mob spawning and scoreboard team assignment that could desync a player's team and kick them (Incendium)
- Fixed piglins and other mobs crashing the server with
NoClassDefFoundErrorwhen the nearest-item, nearest-living-entity and nearest-player sensors ticked - Fixed server deadlocks between the tick pool and the server thread during entity locking and off-thread chunk loading
- Fixed a race in
ServerLevel#tickChunkover the shared random state when async random ticks are enabled - Fixed a lock-order deadlock between chunk section locks and Lithium's entity-movement tracking locks that could freeze or kick clients
- Fixed an
IndexOutOfBoundsExceptionrace in Lithium's block-change tracker - Fixed a lock-order-inversion deadlock in Lithium's block-change tracker
- Fixed an
IllegalClassLoadErrorin Lithium's block-change tracker - Fixed a chunk-wait contention timeout that could stall the tick thread
- Fixed an
ItemEntityListconcurrency race in Lithium's item stacking - Fixed the crash when re-entering a chunk full of hopper minecarts through a nether portal: minecarts are now always ticked on the main thread
## ⚡ Changes
- Marked Accelerated Recoiling as an incompatible mod: it keeps single-threaded entity-collision state that parallel ticking corrupts, which spammed
IllegalStateException: Unbalanced section view release
# 👾 New Mod Update 👾
## 🐛 Bug Fixes
- Fixed hopper minecarts crashing with
IndexOutOfBoundsExceptionfrom a race in Lithium's shared entity-movement trackers - Fixed hoppers crashing with
IllegalClassLoadErrorfrom a mixin-package helper class being referenced directly in Lithium's entity-movement trackers - Fixed a race between async mob spawning and scoreboard team assignment that could desync a player's team and kick them (Incendium)
- Fixed piglins and other mobs crashing the server with
NoClassDefFoundErrorwhen the nearest-item, nearest-living-entity and nearest-player sensors ticked - Fixed server deadlocks between the tick pool and the server thread during entity locking and off-thread chunk loading
- Fixed a race in
ServerLevel#tickChunkover the shared random state when async random ticks are enabled - Fixed a lock-order deadlock between chunk section locks and Lithium's entity-movement tracking locks that could freeze or kick clients
- Fixed an
IndexOutOfBoundsExceptionrace in Lithium's block-change tracker - Fixed a lock-order-inversion deadlock in Lithium's block-change tracker
- Fixed an
IllegalClassLoadErrorin Lithium's block-change tracker - Fixed a chunk-wait contention timeout that could stall the tick thread
- Fixed an
ItemEntityListconcurrency race in Lithium's item stacking - Fixed the crash when re-entering a chunk full of hopper minecarts through a nether portal: minecarts are now always ticked on the main thread
## ⚡ Changes
- Marked Accelerated Recoiling as an incompatible mod: it keeps single-threaded entity-collision state that parallel ticking corrupts, which spammed
IllegalStateException: Unbalanced section view release
# 👾 New Mod Update 👾
## 🐛 Bug Fixes
- Fixed hopper minecarts crashing with
IndexOutOfBoundsExceptionfrom a race in Lithium's shared entity-movement trackers - Fixed hoppers crashing with
IllegalClassLoadErrorfrom a mixin-package helper class being referenced directly in Lithium's entity-movement trackers - Fixed a race between async mob spawning and scoreboard team assignment that could desync a player's team and kick them (Incendium)
- Fixed piglins and other mobs crashing the server with
NoClassDefFoundErrorwhen the nearest-item, nearest-living-entity and nearest-player sensors ticked - Fixed server deadlocks between the tick pool and the server thread during entity locking and off-thread chunk loading
- Fixed a race in
ServerLevel#tickChunkover the shared random state when async random ticks are enabled - Fixed a lock-order deadlock between chunk section locks and Lithium's entity-movement tracking locks that could freeze or kick clients
- Fixed an
IndexOutOfBoundsExceptionrace in Lithium's block-change tracker - Fixed a lock-order-inversion deadlock in Lithium's block-change tracker
- Fixed an
IllegalClassLoadErrorin Lithium's block-change tracker - Fixed a chunk-wait contention timeout that could stall the tick thread
- Fixed an
ItemEntityListconcurrency race in Lithium's item stacking - Fixed the crash when re-entering a chunk full of hopper minecarts through a nether portal: minecarts are now always ticked on the main thread
## ⚡ Changes
- Marked Accelerated Recoiling as an incompatible mod: it keeps single-threaded entity-collision state that parallel ticking corrupts, which spammed
IllegalStateException: Unbalanced section view release
# 👾 New Mod Update 👾
## 🐛 Bug Fixes
- Fixed hopper minecarts crashing with
IndexOutOfBoundsExceptionfrom a race in Lithium's shared entity-movement trackers - Fixed hoppers crashing with
IllegalClassLoadErrorfrom a mixin-package helper class being referenced directly in Lithium's entity-movement trackers - Fixed a race between async mob spawning and scoreboard team assignment that could desync a player's team and kick them (Incendium)
- Fixed piglins and other mobs crashing the server with
NoClassDefFoundErrorwhen the nearest-item, nearest-living-entity and nearest-player sensors ticked - Fixed server deadlocks between the tick pool and the server thread during entity locking and off-thread chunk loading
- Fixed a race in
ServerLevel#tickChunkover the shared random state when async random ticks are enabled - Fixed a lock-order deadlock between chunk section locks and Lithium's entity-movement tracking locks that could freeze or kick clients
- Fixed an
IndexOutOfBoundsExceptionrace in Lithium's block-change tracker - Fixed a lock-order-inversion deadlock in Lithium's block-change tracker
- Fixed an
IllegalClassLoadErrorin Lithium's block-change tracker - Fixed a chunk-wait contention timeout that could stall the tick thread
- Fixed an
ItemEntityListconcurrency race in Lithium's item stacking - Fixed the crash when re-entering a chunk full of hopper minecarts through a nether portal: minecarts are now always ticked on the main thread
## ⚡ Changes
- Marked Accelerated Recoiling as an incompatible mod: it keeps single-threaded entity-collision state that parallel ticking corrupts, which spammed
IllegalStateException: Unbalanced section view release
## 🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed dead entities staying visible to clients as unremovable ghosts
- Fixed mob farms spawning much slower with
enableAsyncSpawn - Fixed
ArrayIndexOutOfBoundsExceptionduring async spawning - Fixed the ender dragon no longer landing or shooting fireballs
- Fixed chunk corruption on save caused by unsynchronized palette access
- Fixed one failing chunk cancelling the remaining spawn attempts in a tick
- Fixed a crash with mods that cache the ticking chunk list (ServerCore)
- Fixed
enableAsyncSpawnrebuilding the spawn state on the main thread every tick on large worlds - Fixed a race in Lithium's block change trackers that could lose trackers or throw during a block change
- Fixed hopper minecarts writing to a container while another mob hauled from it, losing or duplicating items
- Fixed entities continuing to tick past the barrier when the server thread was interrupted
- Fixed natural spawning silently going quiet in some dimensions
- Fixed mob spawning skipping ticks: spawn state is now rebuilt on the main thread every tick instead of an async recompute that could lag or be skipped
## ⚡ Improvements
- Improved block reads: the palette no longer takes a lock to read
- Improved mob spawning: thread-local random, and the mob cap check no longer serializes every worker
- Improved thread pool utilization and reduced barrier overhead
- Reduced lock contention with Lithium, VMP and C2ME
- Default thread count now scales down from the logical thread count, leaving room for the main thread and GC
- Simplified async spawning to dispatch each tick's batch as a single background task instead of splitting it across the pool
- Improved async chunk access with a per-thread last-chunk cache and safer fallback when the worker pool is unavailable
- Improved the parallel tick barrier: the main thread now helps drain the work queue instead of idling while workers finish
## 🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed dead entities staying visible to clients as unremovable ghosts
- Fixed mob farms spawning much slower with
enableAsyncSpawn - Fixed
ArrayIndexOutOfBoundsExceptionduring async spawning - Fixed the ender dragon no longer landing or shooting fireballs
- Fixed chunk corruption on save caused by unsynchronized palette access
- Fixed one failing chunk cancelling the remaining spawn attempts in a tick
- Fixed a crash with mods that cache the ticking chunk list (ServerCore)
- Fixed
enableAsyncSpawnrebuilding the spawn state on the main thread every tick on large worlds - Fixed a race in Lithium's block change trackers that could lose trackers or throw during a block change
- Fixed hopper minecarts writing to a container while another mob hauled from it, losing or duplicating items
- Fixed entities continuing to tick past the barrier when the server thread was interrupted
- Fixed natural spawning silently going quiet in some dimensions
- Fixed mob spawning skipping ticks: spawn state is now rebuilt on the main thread every tick instead of an async recompute that could lag or be skipped
## ⚡ Improvements
- Improved block reads: the palette no longer takes a lock to read
- Improved mob spawning: thread-local random, and the mob cap check no longer serializes every worker
- Improved thread pool utilization and reduced barrier overhead
- Reduced lock contention with Lithium, VMP and C2ME
- Default thread count now scales down from the logical thread count, leaving room for the main thread and GC
- Simplified async spawning to dispatch each tick's batch as a single background task instead of splitting it across the pool
- Improved async chunk access with a per-thread last-chunk cache and safer fallback when the worker pool is unavailable
- Improved the parallel tick barrier: the main thread now helps drain the work queue instead of idling while workers finish
## 🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed dead entities staying visible to clients as unremovable ghosts
- Fixed mob farms spawning much slower with
enableAsyncSpawn - Fixed
ArrayIndexOutOfBoundsExceptionduring async spawning - Fixed the ender dragon no longer landing or shooting fireballs
- Fixed chunk corruption on save caused by unsynchronized palette access
- Fixed one failing chunk cancelling the remaining spawn attempts in a tick
- Fixed a crash with mods that cache the ticking chunk list (ServerCore)
- Fixed
enableAsyncSpawnrebuilding the spawn state on the main thread every tick on large worlds - Fixed a race in Lithium's block change trackers that could lose trackers or throw during a block change
- Fixed hopper minecarts writing to a container while another mob hauled from it, losing or duplicating items
- Fixed entities continuing to tick past the barrier when the server thread was interrupted
- Fixed natural spawning silently going quiet in some dimensions
- Fixed mob spawning skipping ticks: spawn state is now rebuilt on the main thread every tick instead of an async recompute that could lag or be skipped
## ⚡ Improvements
- Improved block reads: the palette no longer takes a lock to read
- Improved mob spawning: thread-local random, and the mob cap check no longer serializes every worker
- Improved thread pool utilization and reduced barrier overhead
- Reduced lock contention with Lithium, VMP and C2ME
- Default thread count now scales down from the logical thread count, leaving room for the main thread and GC
- Simplified async spawning to dispatch each tick's batch as a single background task instead of splitting it across the pool
- Improved async chunk access with a per-thread last-chunk cache and safer fallback when the worker pool is unavailable
- Improved the parallel tick barrier: the main thread now helps drain the work queue instead of idling while workers finish
## 🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed dead entities staying visible to clients as unremovable ghosts
- Fixed mob farms spawning much slower with
enableAsyncSpawn - Fixed
ArrayIndexOutOfBoundsExceptionduring async spawning - Fixed the ender dragon no longer landing or shooting fireballs
- Fixed chunk corruption on save caused by unsynchronized palette access
- Fixed one failing chunk cancelling the remaining spawn attempts in a tick
- Fixed a crash with mods that cache the ticking chunk list (ServerCore)
- Fixed
enableAsyncSpawnrebuilding the spawn state on the main thread every tick on large worlds - Fixed a race in Lithium's block change trackers that could lose trackers or throw during a block change
- Fixed hopper minecarts writing to a container while another mob hauled from it, losing or duplicating items
- Fixed entities continuing to tick past the barrier when the server thread was interrupted
- Fixed natural spawning silently going quiet in some dimensions
- Fixed mob spawning skipping ticks: spawn state is now rebuilt on the main thread every tick instead of an async recompute that could lag or be skipped
## ⚡ Improvements
- Improved block reads: the palette no longer takes a lock to read
- Improved mob spawning: thread-local random, and the mob cap check no longer serializes every worker
- Improved thread pool utilization and reduced barrier overhead
- Reduced lock contention with Lithium, VMP and C2ME
- Default thread count now scales down from the logical thread count, leaving room for the main thread and GC
- Simplified async spawning to dispatch each tick's batch as a single background task instead of splitting it across the pool
- Improved async chunk access with a per-thread last-chunk cache and safer fallback when the worker pool is unavailable
- Improved the parallel tick barrier: the main thread now helps drain the work queue instead of idling while workers finish
## 🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed an error receiving a remote entity's packet
- Config fixes (JordanOlivet)
## 🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed an error receiving a remote entity's packet
- Config fixes (JordanOlivet)
## 🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed an error receiving a remote entity's packet
- Config fixes (JordanOlivet)
## 🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed an error receiving a remote entity's packet
- Config fixes (JordanOlivet)
- Port to 26.1.2**
## 🐛 Bug Fixes
- Fixed many bugs
- Fixed statistics calculation issues
- Optimizations
## 📊 Stats
- Fixed incorrect average load stats tracking
- Port to 26.1.2**
## 🐛 Bug Fixes
- Fixed many bugs
- Fixed statistics calculation issues
- Optimizations
## 📊 Stats
- Fixed incorrect average load stats tracking
## 🐛 Bug Fixes
- Fixed many bugs
- Fixed statistics calculation issues
- Optimizations
## 📊 Stats
- Fixed incorrect average load stats tracking
## 🐛 Bug Fixes
- Fixed many bugs
- Fixed statistics calculation issues
- Optimizations
## 📊 Stats
- Fixed incorrect average load stats tracking
- Port to 26.1.2**
## 🐛 Bug Fixes
- Fix compatibility with carpet /log mobcap
## ✨ New Features
- Removed ModCompatible for all unsupported mobs (already synced)
- Added entity support check in async API (in development: all entities from all other mods are not currently supported and will be synced)
- Port to 26.1.2**
## 🐛 Bug Fixes
- Fix compatibility with carpet /log mobcap
## ✨ New Features
- Removed ModCompatible for all unsupported mobs (already synced)
- Added entity support check in async API (in development: all entities from all other mods are not currently supported and will be synced)
## ⚡ Performance
- enableAsyncSpawn default value changed to false (still unstable with some mods)
- Improved chunk processing stability
## ✨ New
- Added new statistics parameter: avg mspt
- Added command argument: /async stats entity count ticks
## 🐛 Bug Fixes
- Fixed bugs with portals
- Fixed errors in entity attributes handling
- Fixed errors in entity section processing
⚡ Performance
enableAsyncSpawn default value changed to false (still unstable with some mods)
Improved chunk processing stability
✨ New
Added new statistics parameter: avg mspt
Added command argument: /async stats entity count ticks
🐛 Bug Fixes
Fixed bugs with portals
Fixed errors in entity attributes handling
Fixed errors in entity section processing
### ⚡ Performance
- Portals optimization
- Spawn and despawn optimization
- Switched to batch entity ticking system
### ✨ New
- Update config
- Update statistics
- Added command permissions
- Added OpenPartiesAndClaims as incompatible mod
- Added synchronization of incompatible mods (Create, Fowlplay)
### 🐛 Bug Fixes
- Fixed deadlocks *~~again~~*
- Fixed bugs with riding entity
- Fixed bugs with entity effects
- Fixed door interaction logic for villagers
BrainMixinrewritten with snapshot-based memory reads- Disabled Lithium
mixin.ai.task.memory_change_counting ChunkHolderMixin,LevelTicksMixin,EntitySectionMixinsynchronization improved
### ⚡ Performance
- Portals optimization
- Spawn and despawn optimization
- Switched to batch entity ticking system
### ✨ New
- Update config
- Update statistics
- Added command permissions
- Added OpenPartiesAndClaims as incompatible mod
- Added synchronization of incompatible mods (Create, Fowlplay)
### 🐛 Bug Fixes
- Fixed deadlocks *~~again~~*
- Fixed bugs with riding entity
- Fixed bugs with entity effects
- Fixed door interaction logic for villagers
BrainMixinrewritten with snapshot-based memory reads- Disabled Lithium
mixin.ai.task.memory_change_counting ChunkHolderMixin,LevelTicksMixin,EntitySectionMixinsynchronization improved
### ⚡ Performance
- Portals optimization
- Spawn and despawn optimization
- Switched to batch entity ticking system
### ✨ New
- Update config
- Update statistics
- Added command permissions
- Added OpenPartiesAndClaims as incompatible mod
- Added synchronization of incompatible mods (Create, Fowlplay)
### 🐛 Bug Fixes
- Fixed deadlocks *~~again~~*
- Fixed bugs with riding entity
- Fixed bugs with entity effects
- Fixed door interaction logic for villagers
BrainMixinrewritten with snapshot-based memory reads- Disabled Lithium
mixin.ai.task.memory_change_counting ChunkHolderMixin,LevelTicksMixin,EntitySectionMixinsynchronization improved
### ⚡ Performance
- Portals optimization
- Spawn and despawn optimization
- Switched to batch entity ticking system
### ✨ New
- Update config
- Update statistics
- Added command permissions
- Added OpenPartiesAndClaims as incompatible mod
- Added synchronization of incompatible mods (Create, Fowlplay)
### 🐛 Bug Fixes
- Fixed deadlocks *~~again~~*
- Fixed bugs with riding entity
- Fixed bugs with entity effects
- Fixed door interaction logic for villagers
BrainMixinrewritten with snapshot-based memory reads- Disabled Lithium
mixin.ai.task.memory_change_counting ChunkHolderMixin,LevelTicksMixin,EntitySectionMixinsynchronization improved
### ⚡ Performance
- Portals optimization
- Spawn and despawn optimization
- Switched to batch entity ticking system
### ✨ New
- Update config
- Update statistics
- Added command permissions
- Added OpenPartiesAndClaims as incompatible mod
- Added synchronization of incompatible mods (Create, Fowlplay)
### 🐛 Bug Fixes
- Fixed deadlocks *~~again~~*
- Fixed bugs with riding entity
- Fixed bugs with entity effects
- Fixed door interaction logic for villagers
BrainMixinrewritten with snapshot-based memory reads- Disabled Lithium
mixin.ai.task.memory_change_counting ChunkHolderMixin,LevelTicksMixin,EntitySectionMixinsynchronization improved
### ⚡ Performance
- Portals optimization
- Spawn and despawn optimization
- Switched to batch entity ticking system
### ✨ New
- Update config
- Update statistics
- Added command permissions
- Added OpenPartiesAndClaims as incompatible mod
- Added synchronization of incompatible mods (Create, Fowlplay)
### 🐛 Bug Fixes
- Fixed deadlocks *~~again~~*
- Fixed bugs with riding entity
- Fixed bugs with entity effects
- Fixed door interaction logic for villagers
BrainMixinrewritten with snapshot-based memory reads- Disabled Lithium
mixin.ai.task.memory_change_counting ChunkHolderMixin,LevelTicksMixin,EntitySectionMixinsynchronization improved
- Fresh update packed with critical fixes!**
### 🐛 Bug Fixes
- 🧬 Fixed attribute-related issues
- 🕒 Fixed entity tick list processing
- 🧠 Fixed client-side logic bugs
- 🗺️ Fixed incorrect refmap
- 👻 Fixed ghost entities remaining after removal
- 🧗 Fixed climbing fall damage calculation
### 🔧 Other Changes
- 🧹 Worked on reducing memory leaks
- Update now for smoother and more stable gameplay! 🚀**