
1.3M
301
AsyncParticles
Configuration
Settings can be accessed via the ModList/ModMenu.
Troubleshooting
Crash with LodestoneLib
- Set buffer_particles = falseinlodestone-client.toml.
Crashes related to ClassInstanceMultiMap or Level.getEntities(...)
- Please share the logs or crash report on the GitHub issue.
- As a workaround, enable the option:
 Mixin→Make 'ClassInstanceMultiMap' Thread-Safe
Crashes related to Level.getBlockEntity(...)
- Please share the logs or crash report on the GitHub issue.
- As a workaround, enable the option:
 Mixin→Make 'LevelChunk#blockEntities' Thread-Safe
ConcurrentModificationException
The Most Common Cause
This exception typically occurs when particle rendering and ticking concurrently access the same thread-unsafe container.
How to Fix
- Add the fully qualified particle class names to both particle$lockProviderandparticle$lockRequiredin the mod's Mixin settings.
 See the configuration guide for details
Note: This enables fine-grained locking for specific particle types, allowing safe asynchronous execution between the
tick()andrender()methods.
Other Potential Causes
Starting in vX.4.0, the default particle rendering mode has been changed to SYNCHRONOUSLY to prevent rare ConcurrentModificationExceptions when used with mods that access external thread-unsafe containers (e.g., global maps or lists) during particle rendering.
- If you're using an older version (≤ vX.3.0), consider manually setting the mode to SYNCHRONOUSLYin the config screen for improved stability.
- For modpack authors: If you’d like to test whether FASTESTprovides a noticeable FPS boost in your setup, you can switch to it in the config screen—but use with caution, as it may trigger crashes with incompatible mods.
Need Help?
If you’re unsure how to identify or fix the issue, please open a GitHub Issue or start a Discussion.
- In version x.4.0, changed the default particle rendering mode to SYNCHRONOUSLYto avoid rare and confusingConcurrentModificationExceptions when used with certain mods.- If you're still using an older version (≤ x.3.0), you may want to manually set it to SYNCHRONOUSLYin the config screen.
- If you're a modpack author or want to test whether a different rendering mode (e.g., ASYNCHRONOUSLY) provides a noticeable FPS boost in your modpack, you can manually select another enum value in the config screen—use with caution.
 
- If you're still using an older version (≤ x.3.0), you may want to manually set it to 
Features
- Flexible mixin options.
- Minecraft
- Particle culling.
- Async particle tick&rendering(buffer filling).
- Async particle light cache.
- Delayed texture tick by one frame to reduce client tick duration.
- Async rain&snow tick&rendering(buffer filling). (currently only supported in MC1.21.5+)
 
- Valkyrien Skies/Create
- Particles can now collide with ships/contraptions.
 
- Valkyrien Skies/Create + Simple Weather/Pretty Rain/Particle Rain
- Modded weather particles can now collide with ships/contraptions.
 
- Pretty Rain/Particle Rain/Effectual/Particular/Simple Weather
- Async particle gen.
 
Mods Recommended
- ModernFix
- Sodium/Embeddium
- Flerovium
- Startlight/ScalableLux
Mod Compatability
✅ Compatible (Proactively)
- Sodium/Embeddium
- Flerovium
- Iris/Oculus
- Create
- Valkyrien Skies
- Particle Rain/Pretty Rain
- Simple Weather
- Effectual
- Effective
- Particular
- Particle Core
- Will disable most of ParticleCore's optimizations while retaining its other functionalities.
 (Due to incompatibilities with AsyncParticles' asynchronous optimizations.)
 
- Will disable most of ParticleCore's optimizations while retaining its other functionalities.
- ...
❌ Incompatible
- OptiFine
- MadParticle
Credits
Совместимость
Создатели
Детали
Лицензия:LGPL-3.0-only
Опубликован:8 месяцев назад
Обновлён:3 дня назад