spigot stuff
//block iterator with while loop
Location location = player.getEyeLocation(); // get the player's eye location so we can get the blocks in their line of sight
BlockIterator blocksToAdd = new BlockIterator(location, Y-Offset Double, Distance); //intialize the blockiterator and name it blocksToAdd
Location blockToAdd; //intialize a location called blockToAdd
while(blocksToAdd.hasNext()) {
blockToAdd = blocksToAdd.next().getLocation(); //set blockToAdd to the next block's location from the iterator
if (blockToAdd.getblock.getType() != Material.AIR || !shotprojectiledata.containsKey(projectlie)) { //check that if the trail hits a wall or has hit a player the effect will stop by exiting the while loop
break;
}
player.getWorld().playEffect(blockToAdd, Effect.EFFECT, DATA); //play an effect (optional)
//anything else you want to do
}
}