public SpeedRune(Location loc, double rSize) {
        this.location = loc;
        this.size = rSize;
        runnable = new BukkitRunnable() {

            private int ticksLived;

            @Override
            public void run() {
                if (ticksLived % 10 == 0) {
                    sendParticles();
                }
                if (ticksLived++ >= 7 * 20) {
                    cancel();
                }
                if (ticksLived % 20 == 0) {
                    for (LivingEntity entity : location.getWorld().getEntitiesByClass(LivingEntity.class)) {
                        if (!(entity instanceof Monster)) {
                            Location loc = entity.getLocation();
                            if (loc.distance(location) <= size && loc.getBlockY() >= location.getBlockY()
                                    && loc.getBlockY() <= location.getBlockY() + 2) {
                                entity.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 5 * 20 * 60, 1), true);
                            }
                        }
                    }
                }
            }
        };
        runnable.runTaskTimer(RuneApi.getPlugin(), 0, 1);
    }