Est-il possible de détecter si un joueur se trouve dans la ligne de mire d'un mob ? Et si oui, cette ligne de vue peut-elle être modifiée pour ne voir que les choses dans un seul axe ? Par exemple, ne voir que ce qui se trouve devant elle, mais pas si elle se trouve à 1 ou plusieurs blocs de distance.
Réponse
Trop de publicités?Je viens de commenter quelque chose à propos de l'utilisation de ^^^ et j'ai presque oublié que le support d'armure existe. Je ne sais pas si c'est le cas, mais je pense que c'est une bonne idée de l'utiliser dans le cadre d'un projet.
vous pouvez le faire avancer quelques fois en utilisant le tp
execute at @e[type=minecraft:zombie, tag=...] if @e[r=10, type=minecraft:armour_stand, tag=...] run tp @e[type=minecraft:armour_stand, tag=...] ^ ^ ^1
Puis, pendant qu'il fait cela, il vérifie s'il est à l'intérieur d'un bloc et retourne à son point de départ si c'est le cas.
execute as @e[type=minecraft:zombie, tag=...] at @e[type=minecraft:armour_stand, tag=...] if block ~ ~ ~ minecraft:air run tp @e[type=minecraft:armour_stand, tag=...] @s
puis vérifiez si le rayon est près/à l'intérieur du joueur, vous pouvez alors courir ce que vous voulez si le mob vous regarde.
execute as @e[type=minecraft:zombie, tag=...] at @e[type=minecraft:armour_stand, tag=...] if entity ~ ~ ~ @a
execute as @e[type=minecraft:zombie, tag=...] at @a unless entity ~ ~ ~ @e[r=1, type=minecraft:zombie, tag=...]