How can you detect when a player is looking at an entity in Minecraft Bedrock? [duplicate]

Solution 1:

On bedrock, you can still achieve a slightly sloppier version:

execute @a[tag=!assassin] ^^^1 detect ~~~ air 0 execute @a[tag=assassin,r=2] ~~~ tp @s @s

Unfortunately, you'll have to copy and paste this command into chain conditional always active blocks attached to the original repeat always active command block, changing ^^^1 to ^^^2, ^^^3 etc. for each consecutive command block.

Set all that up, and any player who runs /tag @s add assassin will become an assassin and able to be frozen.

You'll probably also want to make another repeat always active command block with execute @a[c=1,tag=assassin] ~~~ clone [coordinates of all command blocks including this one] ~ 0 ~ so that the command blocks will move to the players so they can't just leave the area affected by the command block and not be frozen.

Solution 2:

This would be possible in Java Edition, using clever modification of the /execute command. Unfortunately, /execute does not support this in Bedrock Edition, as commands are very limited.

Here is a command that would work in Java Edition:

execute
  as @a                          # For each player,
  at @s                          # start at their feet.
  anchored eyes                  # Looking through their eyes,
  facing <X Y Z>                 # face perfectly at the target
  anchored feet                  # (go back to the feet)
  positioned ^ ^ ^1              # and move one block forward.
  rotated as @s                  # Face the direction the player
                                   is actually facing,
  positioned ^ ^ ^-1             # and move one block back.
  if entity @s[distance=..0.6]   # Check if we're close to the
                                   player's feet.
run
  say I'm facing the target!