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(); } ImageRender particles = new ImageRender(image,1); particles.setAnchor(20, 10); particles.setDisplayRatio(0.1); LivingEntity entity = player.getWorld().spawn(player.getLocation(), Zombie.class); entity.setCustomName("Test"); //entity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 10000, 1, false, false), false); new BukkitRunnable() { @Override public void run() { Vector dist = player.getEyeLocation().getDirection(); dist.multiply(-0.5); Location location=player.getEyeLocation().add(dist).subtract(0,0.5,0); Map particle = particles.getParticles(location,25,location.getYaw()); for(Location spot:particle.keySet()) { player.sendMessage(spot.toString()); Color color=particle.get(spot); //spawn particle at location "spot" with color "color" player.getWorld().spawnParticle(Particle.REDSTONE,spot,1, new Particle.DustOptions(color, 1)); } } }.runTaskTimerAsynchronously(plugin, 1, 5);