From 3a45da8f8fae50c4b1bf0a8659414bc643c2f360 Mon Sep 17 00:00:00 2001 From: MicrocontrollersDev Date: Fri, 31 Jul 2026 22:58:36 -0700 Subject: [PATCH 1/3] chore: replace modifyconstants --- .../mixin/client/Mixin_MultiplyDeathParticles.java | 5 ++--- .../client/particles/Mixin_ApplyMultiplierToArrows.java | 7 +++---- .../client/particles/Mixin_ApplyMultiplierToEmitters.java | 5 ++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/polyfrost/overflowparticles/mixin/client/Mixin_MultiplyDeathParticles.java b/src/main/java/org/polyfrost/overflowparticles/mixin/client/Mixin_MultiplyDeathParticles.java index a7ccab3..46574ea 100644 --- a/src/main/java/org/polyfrost/overflowparticles/mixin/client/Mixin_MultiplyDeathParticles.java +++ b/src/main/java/org/polyfrost/overflowparticles/mixin/client/Mixin_MultiplyDeathParticles.java @@ -1,5 +1,6 @@ package org.polyfrost.overflowparticles.mixin.client; +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; @@ -10,9 +11,7 @@ import org.polyfrost.overflowparticles.client.utils.ParticleSpawner; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Constant; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyConstant; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(LivingEntity.class) @@ -21,7 +20,7 @@ public Mixin_MultiplyDeathParticles(EntityType arg, Level arg2) { super(arg, arg2); } - @ModifyConstant(method = "makePoofParticles", constant = @Constant(intValue = 20)) + @ModifyExpressionValue(method = "makePoofParticles", at = @At(value = "CONSTANT", args = "intValue=20")) private int overflowparticles$applyMultiplier(int constant) { ParticleConfig config = PerParticleConfigManager.getConfigByType(VanillaParticles.EXPLOSION_NORMAL); if (config.getMultiplier() == 1) { diff --git a/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToArrows.java b/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToArrows.java index c15db12..73c696e 100644 --- a/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToArrows.java +++ b/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToArrows.java @@ -1,6 +1,7 @@ package org.polyfrost.overflowparticles.mixin.client.particles; //? if >=1.21.11 { +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import net.minecraft.world.entity.projectile.arrow.AbstractArrow; //?} else { /*import net.minecraft.world.entity.projectile.AbstractArrow; @@ -11,14 +12,12 @@ import org.polyfrost.overflowparticles.client.utils.ParticleSpawner; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Constant; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyConstant; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(AbstractArrow.class) public class Mixin_ApplyMultiplierToArrows { - @ModifyConstant(method = "tick", constant = @Constant(intValue = 4, ordinal = 0)) + @ModifyExpressionValue(method = "tick", at = @At(value = "CONSTANT", args = "intValue=4", ordinal = 0)) private int multiplier(int constant) { ParticleConfig config = PerParticleConfigManager.getConfigByType(VanillaParticles.CRITICAL); if (config.getMultiplier() == 1) { @@ -28,7 +27,7 @@ private int multiplier(int constant) { return (int) (constant * config.getMultiplier()); } - @ModifyConstant(method = "tick", constant = @Constant(doubleValue = 4.0D)) + @ModifyExpressionValue(method = "tick", at = @At(value = "CONSTANT", args = "doubleValue=4.0D")) private double multiplier1(double constant) { ParticleConfig config = PerParticleConfigManager.getConfigByType(VanillaParticles.CRITICAL); if (config.getMultiplier() == 1) { diff --git a/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java b/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java index e55dc42..f554ab3 100644 --- a/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java +++ b/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java @@ -1,5 +1,6 @@ package org.polyfrost.overflowparticles.mixin.client.particles; +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import net.minecraft.client.particle.TrackingEmitter; import net.minecraft.core.particles.ParticleOptions; import org.polyfrost.overflowparticles.client.config.ParticleConfig; @@ -11,16 +12,14 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Constant; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyConstant; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(TrackingEmitter.class) public class Mixin_ApplyMultiplierToEmitters { @Shadow @Final private ParticleOptions particleType; - @ModifyConstant(method = "tick", constant = @Constant(intValue = 16)) + @ModifyExpressionValue(method = "tick", at = @At(value = "CONSTANT", args = "16")) private int multiplier(int constant) { ParticleInfo type = ParticleRegistry.of(this.particleType.getType()); if (type == null) { From ad6eb660d0cb0d67ef60e6f7f2c0d5e1af828cf6 Mon Sep 17 00:00:00 2001 From: MicrocontrollersDev Date: Fri, 31 Jul 2026 23:05:47 -0700 Subject: [PATCH 2/3] in my haste --- .../mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java b/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java index f554ab3..e8f37c2 100644 --- a/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java +++ b/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToEmitters.java @@ -19,7 +19,7 @@ public class Mixin_ApplyMultiplierToEmitters { @Shadow @Final private ParticleOptions particleType; - @ModifyExpressionValue(method = "tick", at = @At(value = "CONSTANT", args = "16")) + @ModifyExpressionValue(method = "tick", at = @At(value = "CONSTANT", args = "intValue=16")) private int multiplier(int constant) { ParticleInfo type = ParticleRegistry.of(this.particleType.getType()); if (type == null) { From 99dbf65815d85800465ea4ac6095c57b36887561 Mon Sep 17 00:00:00 2001 From: MicrocontrollersDev Date: Fri, 31 Jul 2026 23:09:08 -0700 Subject: [PATCH 3/3] who puts preprocessed version imports at the top?? --- .../mixin/client/particles/Mixin_ApplyMultiplierToArrows.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToArrows.java b/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToArrows.java index 73c696e..fc123bc 100644 --- a/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToArrows.java +++ b/src/main/java/org/polyfrost/overflowparticles/mixin/client/particles/Mixin_ApplyMultiplierToArrows.java @@ -1,11 +1,11 @@ package org.polyfrost.overflowparticles.mixin.client.particles; //? if >=1.21.11 { -import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import net.minecraft.world.entity.projectile.arrow.AbstractArrow; //?} else { /*import net.minecraft.world.entity.projectile.AbstractArrow; *///?} +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import org.polyfrost.overflowparticles.client.config.ParticleConfig; import org.polyfrost.overflowparticles.client.config.PerParticleConfigManager; import org.polyfrost.overflowparticles.client.particles.VanillaParticles;