File file=new File(plugin.getDataFolder(),"image/test.png"); //location of the image BufferedImage image = null; try { image= ImageIO.read(file); } catch (IOException e) { e.printStackTrace(); } Image particles = new Image(image,1); LivingEntity entity = player.getWorld().spawn(player.getLocation(), Zombie.class); entity.setCustomName("TestNextBot"); //entity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 10000, 1, false, false), false); new BukkitRunnable() { @Override public void run() { Vector dist = entity.getEyeLocation().getDirection(); dist.multiply(-0.5); Location location=entity.getEyeLocation().add(dist).subtract(0,0.5,0); Map particle = particles.getParticles(location,25,location.getYaw()); ParticleType redstone = ParticleType.of("REDSTONE"); for(Location spot:particle.keySet()) { redstone.spawn(player.getWorld(), spot, 1, particle.get(spot)); } } }.runTaskTimerAsynchronously(plugin, 1, 5);