Skip to content

/tp 传送

传送实体到指定坐标或目标实体,支持旋转、朝向与方块检查

命令
官方•Dingding OvO · 2026-08-12

传送实体到指定坐标或目标实体,可同时设置朝向。基岩版中 /tp 是 /teleport 的别名,两者完全等价;自 1.19.50 起,传送到位于其它维度的实体不再需要实验性开关。

原理

/tp 不像生物行走或玩家飞行那样逐游戏刻更新坐标,而是在命令执行的那一刻,直接把实体数据中的「位置」与「朝向」两个字段改写为指定值。因此传送是瞬时的状态变更:它不计算从起点到终点的路径,不触发沿途的碰撞判定,也不会被地形或障碍物阻挡。基岩版在命令参数层用单精度浮点数存储坐标(Java 版为双精度),这意味着坐标的数值范围与精度都与 Java 版存在差异。

传送与区块系统紧密耦合。大多数命令只能作用于已经生成的区块,但 /tp 可以把实体送进尚未生成的区块:游戏会在传送发生的前一刻即时生成目标区块,这也是玩家被传到远处时会短暂卡顿的原因。由于传送绕过了常规的移动与碰撞管线,默认情况下它不会阻止你把实体放进方块内部、虚空或半空中,只有配合 checkForBlocks 参数才会在传送前做一次目的地占位检查。

朝向控制分为两组机制。旋转参数 yRot(水平偏航)与 xRot(垂直俯仰)直接写入实体的朝向字段,取值范围分别为 -180180 与 -9090,其中俯仰 -90 表示正上方、90 表示正下方。自 1.19.70 起,旋转角度以命令执行者为基准解析,此前则以被传送者为基准。facing 是一种派生机制:它先取得朝向坐标或朝向实体的位置,计算出方向向量,再据此设置朝向,省去手动换算角度的麻烦。

/tp 默认只在当前维度内按坐标传送,跨维度传送到某个坐标需要借助 /execute in <维度> run tp ...;但「传送到实体位置」这一用法可以直接跨维度完成,基岩版 1.19.50 起无需再开启实验性开关。此外,命令会返回成功计数——传送到实体时,计数为被传送实体数加 1——这个返回值可被条件命令方块读取,用于构建「传送成功后再执行后续逻辑」的命令链。

语法

/tp 与 /teleport 在基岩版中完全等价,以下以 /tp 展示全部形式。当省略 <被传送者> 时,默认传送命令执行者。

传送到坐标:

/tp <位置> [检查方块]

/tp <被传送者> <位置> [检查方块]

传送到坐标并指定朝向:

/tp <位置> [水平旋转] [垂直旋转] [检查方块]

/tp <被传送者> <位置> [水平旋转] [垂直旋转] [检查方块]

传送到坐标并面向某处(facing):

/tp <位置> facing <朝向位置> [检查方块]

/tp <被传送者> <位置> facing <朝向位置> [检查方块]

/tp <位置> facing <朝向实体> [检查方块]

/tp <被传送者> <位置> facing <朝向实体> [检查方块]

传送到实体位置:

/tp <目的地实体>

/tp <被传送者> <目的地实体> [检查方块]

参数

  • <被传送者> — 目标选择器,指定要传送的实体(如 @p、@a、@s、@e[type=zombie])。可解析为多个实体;省略时默认为命令执行者。
  • <位置> — 三维坐标 x y z,即传送目的地。支持绝对坐标、相对坐标(~)与局部坐标(^),基岩版使用单精度浮点数。
  • <目的地实体> — 目标选择器,指定要传送到的那个实体。必须解析为单个实体(指名玩家必须在线)。
  • [水平旋转] — 偏航角 yaw(-180~180,也接受 ~ 相对值)。0 朝南(+Z),90 朝西,180 朝北,-90 朝东。
  • [垂直旋转] — 俯仰角 pitch(-90~90,也接受 ~ 相对值)。-90 表示正上方,90 表示正下方,0 表示水平。
  • [检查方块] — 布尔值 true 或 false。设为 true 时,仅当目标位置不与「实体无法穿入的方块」重叠才执行传送(允许落在花朵或半空中);默认 false,即不检查、直接传送。
  • <朝向位置> — 三维坐标 x y z,配合 facing 指定传送后视线朝向的位置。
  • <朝向实体> — 目标选择器,配合 facing 指定传送后视线朝向的实体;必须解析为单个实体,基岩版中始终朝向该实体脚部。

维度 ID

/tp 本身不接受维度参数,跨维度按坐标传送要通过 /execute in <维度> run tp ... 完成。基岩版的维度 ID 如下:

维度维度 ID
主世界overworld
下界nether
末地the_end

示例

传送到指定坐标:

/tp @s 100 64 100

将命令执行者传送到世界坐标 (100, 64, 100)。若该位置尚未生成区块,游戏会先生成对应区块。

传送到另一名玩家:

/tp @s Steve

将命令执行者传送到玩家 Steve 的当前位置,并将其水平朝向设为与 Steve 一致。Steve 必须在线,否则命令解析失败。

把最近玩家拉到自己身边:

/tp @p @s

将距离命令执行者最近的玩家传送到执行者所在位置,常用于多人场景下的「拉人」操作。

原地改变朝向:

/tp @s ~ ~ ~ 180 0

不改变位置,仅将执行者朝向改为水平旋转 180 度(面向北方)、垂直旋转 0 度(平视)。

用 facing 让玩家面向目标坐标:

/tp @p 100 64 100 facing 200 64 200

将最近的玩家传送到 (100, 64, 100),并让他的视线朝向 (200, 64, 200)。

跨维度传送到下界:

/execute in nether run tp @s ~ 64 ~

以执行者当前的水平坐标,将其传送到下界同一水平位置、高度 64 处。跨维度按坐标传送必须借助 /execute。

带方块检查的抬升传送:

/tp @s ~ ~10 ~ true

将执行者向上传送 10 格;若目标位置被方块占据,命令会失败而不传送,避免卡进方块窒息。

基岩版注意

  • 需要 OP 等级 1,且必须在开启了作弊的世界中使用。
  • /tp 是 /teleport 的别名,两者在基岩版中完全等价。
  • 基岩版支持 facing 朝向子命令(自 1.2.0 起)与 checkForBlocks 方块检查参数(自 1.13.0 起)。
  • 与 Java 版的差异:坐标在命令参数层为单精度浮点数(Java 版为双精度);facing 朝向实体时基岩版始终朝向实体脚部,Java 版还可用 eyes/feet 锚点选择朝向部位;基岩版没有 facingAnchor 锚点参数。
  • 版本兼容:1.19.50 起跨维度传送到实体不再需要实验性开关;1.19.70 起旋转角度改以命令执行者为基准解析;坐标上限为 30,000,000(自 1.2.5 起,超出会静默失败且不报错)。
  • 在基岩版中,传送正在骑乘或被骑乘的实体会解除其骑乘关系(待验证,具体解除时机随版本可能有差异)。
  • 传送到未生成区块会即时生成该区块,频繁远程传送可能引起卡顿。

常见问题

/tp 和 /teleport 有什么区别?

在基岩版中没有区别,/tp 就是 /teleport 的别名,两者语法与行为完全一致。旧教程中「两者不同」的说法针对的是 Java 版 1.13 之前的历史版本。

为什么传送后游戏会卡一下?

因为目标位置的区块尚未生成。传送前游戏需要即时生成该区块及其地形,这段同步加载过程会造成短暂的卡顿。频繁远程传送会放大这一影响。

如何传送到另一个维度?

跨维度按坐标传送必须借助 /execute,例如 /execute in nether run tp @s ~ 64 ~ 会把执行者送到下界。而「传送到实体位置」可以直接跨维度,无需额外处理。

为什么传送后卡在方块里或掉进虚空?

默认情况下 /tp 不检查目的地是否被方块占据。想避免卡进方块,可以在命令末尾加 true 启用 checkForBlocks 检查,或自行确认目的地坐标安全。

相关命令

  • /execute — 用 in 子命令跨维度传送,或用 as、at 改变命令的执行上下文。
  • /ride — 管理实体的骑乘关系,传送通常会解除骑乘。
  • /summon — 在目标位置生成实体,可与 /tp 配合搭建传送门或出生点。
  • /tag — 给实体添加标签,便于用选择器筛选特定实体后再传送。