Minecraft-Java-Edition
我應該用這個 /tp 命令做什麼?
我正在嘗試將一個暴徒直接傳送到所選玩家的後面。我曾嘗試使用玩家頭部的相對位置 (^ ^ ^),但這會導致實體在您抬頭時窒息在地下。有沒有辦法在不計算上下(y方向)的情況下以這種方式實現它?還是有其他方法可以解決這個問題?
解決方案圍繞使用 傳送它
^ ^ ^ ~ 0
,其中最後兩個是 xy 旋轉(給殭屍與玩家相同的 x 旋轉,但 y 使其為 0),然後立即使用 傳送它^ ^ ^-z
,其中 z 是你的塊數希望暴徒在你身後。工作範例:tag @e[type=minecraft:zombie,limit=1,sort=random] add tp # Tag random zombie execute as @e[tag=tp] at @r run tp @s ^ ^ ^ ~ 0 # Teleport to random player execute as @e[tag=tp] at @s run tp @s ^ ^ ^-2 # Move it back 2 blocks tag @e[tag=tp] remove tp # Untag zombie
讓我們
@s
成為玩家,@e[tag=tp,limit=1]
成為傳送的實體。這是一個帶有一個命令的範例:execute at @s rotated ~ 0.0 run tp @e[tag=tp,limit=1] ^ ^ ^-2
at @s
:將目前位置移動到 的位置@s
,將目前旋轉變為 的旋轉@s
,並保證目前尺寸與 的尺寸相同@s
。rotated ~ 0.0
:保持 Y 旋轉(水平)不變,但將 X 旋轉(垂直)更改為 0.0,這意味著忽略任何垂直旋轉。tp @e[tag=tp,limit=1] ^ ^ ^-2
:將實體傳送到後面兩格的方塊@s
。我們在步驟 2 中取消了垂直旋轉,因此只考慮了水平旋轉。