package net.minecraft.client.particle; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.core.particles.SimpleParticleType; @Environment(EnvType.CLIENT) public class SonicBoomParticle extends HugeExplosionParticle { protected SonicBoomParticle(ClientLevel level, double x, double y, double z, double quadSizeMultiplier, SpriteSet sprites) { super(level, x, y, z, quadSizeMultiplier, sprites); this.lifetime = 16; this.quadSize = 1.5F; this.setSpriteFromAge(sprites); } @Environment(EnvType.CLIENT) public static class Provider implements ParticleProvider { private final SpriteSet sprites; public Provider(SpriteSet sprites) { this.sprites = sprites; } public Particle createParticle(SimpleParticleType type, ClientLevel level, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) { return new SonicBoomParticle(level, x, y, z, xSpeed, this.sprites); } } }