27パターン方向検知

投稿者:ヘイホーの叫び
投稿日:2024/7/24
ジャンル:技術・機構
環境:通常
情報番号:11

構文
実行者: <subject>
判定対象: <object>
オブジェクティブ名: result

/scoreboard players set <subject> result 0
/execute
as <subject>
at @s
anchored eyes
facing entity <object> eyes
positioned as @s
positioned ^ ^ ^3
rotated as @s
positioned ^4 ^ ^
unless entity @s[r=5]
run
scoreboard players add @s result 18
/execute
as <subject>
at @s
anchored eyes
facing entity <object> eyes
positioned as @s
positioned ^ ^ ^3
rotated as @s
positioned ^4 ^ ^
if entity @s[rm=5,r=5]
run
scoreboard players add @s result 9
/execute
as <subject>
at @s
anchored eyes
facing entity <object> eyes
positioned as @s
positioned ^ ^ ^3
rotated as @s
positioned ^ ^4 ^
unless entity @s[r=5]
run
scoreboard players add @s result 6
/execute
as <subject>
at @s
anchored eyes
facing entity <object> eyes
positioned as @s
positioned ^ ^ ^3
rotated as @s
positioned ^ ^4 ^
if entity @s[rm=5,r=5]
run
scoreboard players add @s result 3
/execute
as <subject>
at @s
anchored eyes
facing entity <object> eyes
positioned as @s
positioned ^ ^ ^3
rotated as @s
positioned ^ ^ ^4
unless entity @s[r=5]
run
scoreboard players add @s result 2
/execute
as <subject>
at @s
anchored eyes
facing entity <object> eyes
positioned as @s
positioned ^ ^ ^3
rotated as @s
positioned ^ ^ ^4
if entity @s[rm=5,r=5]
run
scoreboard players add @s result 1

説明
resultを3進数へ変換した時、
各桁がそれぞれxyz軸に関する判定結果を返します。
2: その軸に関して+
1: その軸に関して0
0: その軸に関して-

ex) result = 15 の場合…
15(10) = 120(3) より、
判定対象は (x, y, z) = (0, +, -) の方向に存在
この場合、真後ろ斜め上方向にいる、ということになります

注意点
視点が同座標にあるとバグります
最終更新:2024年12月25日 14:49
|新しいページ |検索 |ページ一覧 |RSS |@ウィキご利用ガイド |管理者にお問合せ
|ログイン|