`js
function createParticleLine(caster, target, ring, radius, horizontalSpread, verticalSpread) {
const casterPos = caster.location;
const targetPos = target.location;
const direction = targetPos.subtract(casterPos).normalize();
const numParticles = Math.max(1, ring);
for (let i = 0; i < numParticles; i++) {
const distance = casterPos.distance(targetPos);
const particlePos = casterPos.add(direction.multiply(distance * (i / numParticles)));
// Calculate the random horizontal and vertical offsets.
const horizontalOffset = Math.random() * horizontalSpread - (horizontalSpread / 2);
const verticalOffset = Math.random() * verticalSpread - (verticalSpread / 2);
// Calculate the final particle position.
const finalPos = particlePos.add(new Vector3(horizontalOffset, verticalOffset, 0));
const particleEffect = new ParticleEffect("minecraft:dust", new Vector3(1, 1, 1));
particleEffect.createParticle(finalPos);
}
}
`