ParticleTimer(WonderBow plugin) {
        this.plugin = plugin;
        this.plugin.getServer().getScheduler().scheduleSyncRepeatingTask(this.plugin, new Runnable() {
            @Override
            public void run() {
                tick++;
                Iterator<ParticleTrack> iterator = tracking.iterator();
                while (iterator.hasNext()) {
                    ParticleTrack t = iterator.next();
                    if (!t.getEntity().isValid()) {
                        iterator.remove();
                        continue;
                    }
                    int frequency = t.getFrequency();
                    if (frequency <= 1 || tick % frequency == 0) {
                        broadcastEffect(t.getParticle().toString(), t.getEntity().getLocation(), t.getParticle().getData(), t.getParticle().getCount());
                        if (t.isFinished()) {
                            iterator.remove();
                        }
                    }
                }
            }
        }, 1, 1);
    }