Minecraft-Java-Edition

我應該用這個 /tp 命令做什麼?

  • October 2, 2022

我正在嘗試將一個暴徒直接傳送到所選玩家的後面。我曾嘗試使用玩家頭部的相對位置 (^ ^ ^),但這會導致實體在您抬頭時窒息在地下。有沒有辦法在不計算上下(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
  1. at @s:將目前位置移動到 的位置@s,將目前旋轉變為 的旋轉@s,並保證目前尺寸與 的尺寸相同@s
  2. rotated ~ 0.0:保持 Y 旋轉(水平)不變,但將 X 旋轉(垂直)更改為 0.0,這意味著忽略任何垂直旋轉。
  3. tp @e[tag=tp,limit=1] ^ ^ ^-2:將實體傳送到後面兩格的方塊@s。我們在步驟 2 中取消了垂直旋轉,因此只考慮了水平旋轉。

引用自:https://gaming.stackexchange.com/questions/399549