[B+C] Add method for getting target blocks using HashSet<Material> as opposed to HashSet<Byte> for transparent types

Issue:
With magic values deprecated, there's no way to currently get a LivingEntity's target block or blocks in line of sight without making your own method to do so.

Justification:
This makes it so instead of writing out a method yourself to get a target block or line of sight to avoid using deprecated methods, you can call it as before, albeit using HashSet as opposed to HashSet, and hence no magic values.

PR Breakdown:

This PR adds methods to get target blocks using HashSet for transparent blocks

CraftBukkit PR:

Bukkit/CraftBukkit#1246

JIRA Ticket:

[https://bukkit.atlassian.net/browse/BUKKIT-4799](JIRA Ticket #4799)