Hey! Big thanks for making Particle Tweaks — I really love how it makes particles feel, it's basically a permanent install for me at this point. Just wanted to drop a small compatibility note, nothing serious at all.
Environment
- Minecraft: 1.21.11
- Mod loader: Fabric
- Particle Tweaks: 3.0.1-mc1.21.11
- AsyncParticles: installed
What's happening
With Particle Tweaks + AsyncParticles both enabled, AsyncParticles occasionally prints a "Negative color value" warning in the log. The game runs totally fine — no crash, particles look normal in-game, nothing visually off — it's really just a little bit of log noise. Posting more as an FYI than as a bug report.
Stuff I tried
-
Particle Tweaks enabled → warning shows up every now and then.
-
Particle Tweaks removed → warning is gone.
-
Set every option in particletweaks.json5 to false → warning still shows up. So it doesn't seem tied to any specific toggle — maybe something in an always-loaded scale/movement mixin? Not sure.
A wild guess (probably wrong, feel free to ignore)
I noticed AsyncParticles seems to do a pretty strict check on color channels during render-state extraction, and the value it complains about is super tiny (like -0.014) — so I was kind of wondering if maybe somewhere along the way a particle ends up with a hair-below-zero color value that then gets caught on the AsyncParticles side. If that ever turns out to be the case, I imagine something like clamping RGB/alpha to 0.0..1.0 right before render might be enough? But honestly I have no idea if that's actually what's going on — just throwing the thought out there in case it's useful.
Log
[AsyncParticleRenderer-1/WARN]: Negative color value -0.014193296 detected. This may cause unexpected behavior. You can ignore it if nothing is broken.
java.lang.IllegalStateException:
at knot//fabric.fun.qu_an.minecraft.asyncparticles.client.core.VertexHelper.getColor(VertexHelper.java:66)
at knot//net.minecraft.class_9848.localvar$zfe000$asyncparticles$modifyColor(class_9848.java:513)
at knot//net.minecraft.class_9848.method_61326(class_9848.java)
at knot//net.minecraft.class_9848.method_61318(class_9848.java:245)
at knot//net.minecraft.class_3940.method_60375(class_3940.java:76)
at knot//net.minecraft.class_3940.method_60373(class_3940.java:72)
at knot//net.minecraft.class_3940.method_3074(class_3940.java:62)
at knot//net.minecraft.class_11940.mixinextras$bridge$method_3074$6(class_11940.java)
at knot//net.minecraft.class_11940.wrapOperation$zzb000$asyncparticles$wrapExtract(class_11940.java:1529)
at knot//net.minecraft.class_11940.method_74276(class_11940.java:25)
at knot//net.minecraft.class_702.mixinextras$bridge$method_74276$37(class_702.java)
at knot//net.minecraft.class_702.mdada029$asyncparticles$lambda$onExtractRenderState$0$0(class_702.java:1533)
at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1403)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Again, really not a big deal — everything works, just a bit of log chatter. Thanks again for all the work on Particle Tweaks! 🙏
Hey! Big thanks for making Particle Tweaks — I really love how it makes particles feel, it's basically a permanent install for me at this point. Just wanted to drop a small compatibility note, nothing serious at all.
Environment
What's happening
With Particle Tweaks + AsyncParticles both enabled, AsyncParticles occasionally prints a "Negative color value" warning in the log. The game runs totally fine — no crash, particles look normal in-game, nothing visually off — it's really just a little bit of log noise. Posting more as an FYI than as a bug report.
Stuff I tried
Particle Tweaks enabled → warning shows up every now and then.
Particle Tweaks removed → warning is gone.
Set every option in
particletweaks.json5tofalse→ warning still shows up. So it doesn't seem tied to any specific toggle — maybe something in an always-loaded scale/movement mixin? Not sure.A wild guess (probably wrong, feel free to ignore)
I noticed AsyncParticles seems to do a pretty strict check on color channels during render-state extraction, and the value it complains about is super tiny (like
-0.014) — so I was kind of wondering if maybe somewhere along the way a particle ends up with a hair-below-zero color value that then gets caught on the AsyncParticles side. If that ever turns out to be the case, I imagine something like clamping RGB/alpha to0.0..1.0right before render might be enough? But honestly I have no idea if that's actually what's going on — just throwing the thought out there in case it's useful.Log
Again, really not a big deal — everything works, just a bit of log chatter. Thanks again for all the work on Particle Tweaks! 🙏