第九章 tp-传送指令

(此章最后一次大修改于2022年7月9日)

我相信在看这本书的你一定去玩过私人服务器,里面最经常使用的指令就是tp(传送)。

minecraft固有的传送指令是\/tp,其全称实际上是teleport。由于这条指令深究起来很复杂,加上目前还是学习初期,我们就先了解个皮毛就好。

\/tp

作用:将一个实体传送到另一个实体或者是坐标。

需要权限等级:java-2,基岩-1

需要作弊:是

格式:

\/tp [传送目标:目标选择器]<目的地实体:目标选择器>

这可以将选定的目标传送到另一个实体的位置,比如把张三传送到李四的位置。注意,目的地实体不能为多个,即你并不能将张三传送到李四和王五的位置(就算张三不止一个也不能这样干)。如果将传送目标省略,那么将会传送执行者自己(一般是你自己)。

\/tp [传送目标:目标选择器]<一个地点:坐标>[<水平旋转角度><垂直旋转角度>]

这可以将选定的目标传送到一个指定的地点。

那什么是水平旋转角度和垂直旋转角度呢?zuqi.org 葡萄小说网

水平旋转角度(yrot),又叫做y轴旋转角度,指的是实体以y轴为中心,俯视时顺时针的角度。听不懂?没关系,你只需要打开你手机,然后找到一个应用叫做指南针(一般手机有自带)。没有?也没关系,百度地图高德地图之类的总该有吧?或者你现场下一个指南针,甚至自己用磁铁做一个,只要有标上角度就行。

打开指南针,你就会发现在这个指南针的外侧有一圈度数,以正北(0°)开始,顺时针绕一圈360°再回到正北。

这个度数叫做什么呢?叫做真北方位角。相应的,以正南(0°)开始,也是顺时针绕一圈360°再回到正南的,就是真南方位角。

由于我们位于北半球,所以常见的是以正北为0°,也就是采用真北方位角的指南针。但这又和我们水平旋转角度有何关系?

其实,我们的水平旋转角度就是minecraft版的真南方位角——以实体为中心,以正南(z轴正方向)为0°,顺时针下来,实体朝向和正南方向的夹角(也或者说实体在真南方位角体系中朝向的角度),就是该实体的水平旋转角度。

比如你看向正北,你的朝向按照真南方位角来看,就是朝向180°,你的水平旋转角度就是180°;朝向东北,就是朝向225°,你的水平旋转角度就是225°;朝向西南,就是朝向45°,你的水平旋转角度就是45°.......

懂了吧?如果还没懂......网上随便去找一个以正南为0°的指南针的图片,把minecraft的坐标怼上去就清楚了(以后再考虑为这个教程弄点图片)。

另外的垂直旋转角度(xrot),又叫做x轴旋转角度,指的是实体与水平面之间的倾斜角。这个可比水平旋转角度好理解多了,相信你应该能够看懂上面的这句话。只不过需要注意一点,对于有头或有眼睛的实体来说(比如玩家),这东西指的是头的朝向(也就是目光的朝向)与水平面之间的夹角,而不是整个身体(这就是为什么你能够看到一个头倾斜着的玩家,但你绝不可能看到一个身子倾斜着的玩家)

(有没有一种可能,其实minecraft中的玩家朝正下方或正上方看的时候,实际上是平行与地面的,只是mojang懒得做出这样的效果而已)

(唉,这样子就能解释为什么在游戏中,第一人称的玩家看不到自己的下半身了!)

需要注意的是,这个垂直旋转角度虽然以水平面朝向为0°,但和上面的水平旋转角度不一样的是,这东西引入了负值:朝上为负,朝下为正。比如你头朝上45°看天空,那么你的垂直旋转角度就是-45°;你头朝下45°看地板,那么你的垂直旋转角度就是45°。而且,垂直旋转角度肯定不能超过+90°或低于-90°。

懂了吧?在tp中引入垂直旋转角度和水平旋转角度,就可以指定传送目标在传送完成后的朝向(如果未指定,将会不改变朝向,虽然可能没多大作用,但在一些rpg地图或服务器,能够让玩家一传过来就看到重要的告示牌或其他的一些东西,那岂不美哉?)

比如下面的指令:

\/tp ~~~ 90 0

这将会使最近的玩家朝向正西而不改变其位置。

很简单吧?对了,既然坐标有『绝对坐标』和『相对坐标』,那么旋转角度有没有『绝对旋转角度』和『相对旋转角度』呢?

答案是肯定的。

和相对坐标一样,相对旋转角度也是使用符号~代表传送实体本身的朝向,以正数和负数代表角度的增加和减少。比如下面这条指令:

\/tp ~~~~-30 ~1

假设这选中的还是上面那位被迫朝向正西的玩家,那么这条指令将会使他朝向南偏西60°,头微微朝下1°。

简单吧?本章也就到这里了,对于初学者来说这些内容就已经足够了。

上面所述的tp指令适用于基岩版和java版。在java版1.13版本更新之前,tp的指令用法就这么多。而关于1.13版本到底对tp进行了怎样的更新,这些内容以及一些更加复杂的东西会在第六十四章具体讲到。

——————————

\/tp历史

-java版

ssic server

1.7——加入\/tp

indev

0.31——移除了所有命令

alpha

v1.0.16_01——重新加入了\/tp。

正式版

1.3.1——现在允许玩家传送到指定坐标

1.8——加入了朝向参数。

1.9.3——\/tp不能在能将玩家传送到y=-512到512以外的地方。

1.10——y轴限制现在增加到-4096到4096。

1.13——将\/tp和\/teleport同化,\/tp也正式成为\/teleport的别称(缩写)。

-携带版(alpha)

0.16.0——加入了\/tp。

.......

.......

你有没有发现,这个tp指令的旋转角度参数的格式是这样的:

[<水平旋转角度><垂直旋转角度>]

这是什么意思呢?

这个的意思就是,这两个参数都是选填的,但如果你填写了其中的一个,另外一个也就必须填写,即你并不能只填写水平旋转角度或只填写垂直旋转角度,而把另外一个空着。

知道了吧?那么本章到这里就完全结束了。

上一章目录+书架下一章