diff --git a/common/src/main/java/org/figuramc/figura/mixin/particle/ParticleEngineMixin.java b/common/src/main/java/org/figuramc/figura/mixin/particle/ParticleEngineMixin.java index 4325778ee..9a0104b50 100644 --- a/common/src/main/java/org/figuramc/figura/mixin/particle/ParticleEngineMixin.java +++ b/common/src/main/java/org/figuramc/figura/mixin/particle/ParticleEngineMixin.java @@ -28,7 +28,7 @@ public abstract class ParticleEngineMixin implements ParticleEngineAccessor { @Unique private final HashMap particleMap = new HashMap<>(); // This fixes a conflict with Optifine having slightly different args + it should be more stable in general, capturing Locals is bad practice - @ModifyVariable(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/ParticleEngine;tickParticle(Lnet/minecraft/client/particle/Particle;)V"), method = "tickParticleList", ordinal = 0) + @ModifyVariable(method = "tickParticleList", at = @At(value = "INVOKE", target = "Ljava/util/Iterator;remove()V", ordinal = 0)) private Particle tickParticleList(Particle particle) { particleMap.remove(particle); return particle; @@ -50,7 +50,6 @@ private Particle tickParticleList(Particle particle) { Iterator> iterator = particleMap.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = iterator.next(); - if ((owner == null || entry.getValue().equals(owner))) { if (entry.getKey() != null) entry.getKey().remove();