I made a projectile extending the AbstractHurtingProjectile class. The relevant code and video showing the error are shown below. I want my projectile to be able to pass through blocks and hit multiple entities, it should only despawn after a certain amount of time. For some reason, it does not hit entities in the situations shown below. It can't hit the bottom of the entity if there are blocks in the way, even though the projectile has been shown to damage an entity through blocks as long as I aim body level. Also, it can't hit entities through blocks if I shoot from above or below. Why is my projectile behaving like this? I am at my wit's end. (Ignore the chat I put that there for debugging purposes)
Video demonstrating issues
Class that defines projectile behavior:
Item class that shoots projectile when right-clicked (lines 37 and 53-56 are the relevant ones):
Class where I register the projectile entity: