package land.chipmunk.chipmunkmod.mixin;

import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.particle.ElderGuardianParticle;
import net.minecraft.client.particle.Particle;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraft.util.RandomSource;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(ElderGuardianParticle.Provider.class)
public class ElderGuardianParticleProviderMixin {
    @Inject(
            method = "createParticle(Lnet/minecraft/core/particles/SimpleParticleType;Lnet/minecraft/client/multiplayer/ClientLevel;DDDDDDLnet/minecraft/util/RandomSource;)Lnet/minecraft/client/particle/Particle;",
            at = @At("RETURN"),
            cancellable = true
    )
    private void createParticle (
            final SimpleParticleType simpleParticleType,
            final ClientLevel clientWorld,
            final double d,
            final double e,
            final double f,
            final double g,
            final double h,
            final double i,
            final RandomSource random,
            final CallbackInfoReturnable<Particle> cir
    ) {
        // slash scare command
        cir.setReturnValue(null);
    }
}
