TPコマンドのマニアックな使い方。
かなり限定的な用途ですが自分用備忘録として。
『^(キャレット)』による相対指定
『~(チルダ)』は座標値を指定する記号であるのに対して、『^(キャレット)』はカメラの向き(自分の視界)に対して相対的な位置を指定することが出来る。
(同じ指定でもカメラの向きによって結果が変わる。)
~~~は現在地点
~1~~は現在地点に対して東(x+)に1ブロック
~-1~~は現在位置に対して西(x-)に1ブロック
~~1~は現在位置に対して上(y+)に1ブロック
~~-1~は現在位置に対して下(y-)に1ブロック
~~~1は現在位置に対して南(z+)に1ブロック
~~~-1は現在位置に対して北(z-)に1ブロック
^^^は相対的に変化なし
^1^^は視界に対して左方向に1ブロック
^-1^^は視界に対して右方向に1ブロック
^^1^は視界に対して上方向に1ブロック
^^-1^は視界に対して下方向に1ブロック
^^^1は視界に対して前方に1ブロック
^^^-1は視界に対して後方に1ブロック
視線を揃えたTP
プレイヤー1(P1)をプレイヤー2(P2)の位置へTP。
同時にプレイヤー1の視線をプレイヤー2の視線と同じ向きに揃える。
/execute␣as␣P2␣at␣@s␣run␣tp␣P1␣~~~␣facing␣^^^1
【意味】
“execute as”でP2をコマンドの実行者とし、
“at @s” で実行者(P2)の位置情報を”~”及び”^”で参照できるようにする。
tpでP1をP2の位置(~~~)へ移動。
facingでP1の視線をP2の視界前方1ブロック先(^^^1)に向かせる。
TP時の位置と向きを保存して復帰させる
①プレイヤー1(P1)の現在地(地点A)と向きを保存する。
②プレイヤー1を移動先(地点B)へTP。
③プレイヤー1を地点A時点での位置と向きへ復帰させる。
①/execute␣as␣P1␣at␣@s␣run␣tp␣@e[name=save]␣~~~␣facing␣^^^1
②/tp␣P1␣xyz(←地点B座標)
③/execute␣as␣@e[name=save]␣at␣@s␣run␣tp␣P1␣~~~␣facing␣^^^1
【意味】
※事前に位置情報保存用のアーマースタンド(名前「save」)を準備する。
①execute as及びatでP1の位置情報(~~~)を参照。
tpでアーマースタンド(save)をP1の位置(~~~)へ移動。
facingでアーマースタンドの向きをP1の視界前方1ブロック先(^^^1)に向かせる。
②tpでP1を任意の座標へ移動。
③execute as及びatでアーマースタンド(save)の位置情報(~~~)を参照。
tpでP1をアーマースタンド(save)の位置(~~~)へ移動。
facingでP1の向きをアーマースタンド(save)の向き(^^^1)に合わせる。