I created a predicate to detect when the player is looking at a Villager with a specific tag.
Here's how you could replicate the error:
IMAGE 1 = Works fine when the villager is not in contact with any blocks.
(Red circle shows that the F3 panel correctly detects that I am looking at a villager)
(Green circle: Flame particles work only when the predicate is detected as true)
IMAGE 2 = But, when I put a block on his head, and point anywhere in his hitbox, the predicate stops working even though I am looking at him.
(The red circle shows that the F3 panel detects that I AM looking at the villager)
(Green circle: no more particles. Predicate is false)
IMAGE 3 = If the stone block is not on his head but on his body, the predicate DOES work.
BONUS IMAGE 4 = Also, for some reason, when I look at the stone block while that stone block is on his body, the predicate is TRUE, BUT, the F3 panel doesn't detect that I'm looking at the villager.
Linked issues
Attachments
Comments 2
After further checking, this duplicates MC-226487
'looking_at' requires that both entities have line of sight to eachother to return true. This is why the villager which is suffocating does not display the same result.