
Async
Async improves entity performance by processing entities in parallel across multiple CPU cores and threads.
- Загрузки
- 620K
- Подписчики
- 544
- Обновлён
- 28 июля 2026 г.
- Лицензия
- GPL-3.0-or-later
Опубликован 13 октября 2024 г.
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!
Ченджлог
0.2.4+alpha-26.2Альфа26.2 · 28 июля 2026 г.
👾 New Mod Update 👾
🐛 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
0.2.4+alpha-26.2Альфа26.2 · 28 июля 2026 г.
👾 New Mod Update 👾
🐛 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
0.2.4+alpha-26.1.2Альфа26.1, 26.1.1, 26.1.2 · 28 июля 2026 г.
👾 New Mod Update 👾
🐛 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
0.2.4+alpha-26.1.2Альфа26.1, 26.1.1, 26.1.2 · 28 июля 2026 г.
👾 New Mod Update 👾
🐛 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
0.2.4+alpha-26.2Альфа26.2 · 22 июня 2026 г.
👾 New Mod Update 👾
🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed an error receiving a remote entity's packet
- Config fixes (JordanOlivet)
0.2.4+alpha-26.2Альфа26.2 · 22 июня 2026 г.
👾 New Mod Update 👾
🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed an error receiving a remote entity's packet
- Config fixes (JordanOlivet)
0.2.4+alpha-26.1.2Альфа26.1, 26.1.1, 26.1.2 · 22 июня 2026 г.
👾 New Mod Update 👾
🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed an error receiving a remote entity's packet
- Config fixes (JordanOlivet)
0.2.4+alpha-26.1.2Альфа26.1, 26.1.1, 26.1.2 · 22 июня 2026 г.
👾 New Mod Update 👾
🐛 Bug Fixes
- Fixed incompatibility with VMP
- Fixed an error receiving a remote entity's packet
- Config fixes (JordanOlivet)
Комментарии
Загружаем…