天才一秒记住【第一中文网】地址:www.dyzww.cc
:
在下界的(1,22,1)处,放置了一个钻石块,但理想情况下应该是在主世界放置。
这是怎么回事?答案很简单:因为positioned只会修改坐标,不会修改维度。如果你真的要使得在下界也能够让主世界的村民脚下生钻,有两种方法:
1\/execute as @e[type=villager] run setblock ~~-1 ~ minecraft:diamond_block \\\\将positioned as替换为as\\\\
2\/execute positioned as @e[type=villager] in minecraft:overworld run setblock ~~-1 ~ minecraft:diamond_block \\\\加上in子命令,指定维度位置是主世界\\\\
最后,我们只剩下了一个修饰子命令:align
align这个子命令比较特殊,它并不是说修改维度位置为某个实体所处的维度,也不是说修改旋转角度为某个方块的朝向,而是对执行位置中的坐标小修小补:对小数向下取整,对整数保留不变,将坐标改为方块坐标。其语法如下:
... align <坐标组合>...
其中,『坐标组合』参数可以填写任意的xyz。注意啊,这里不是填写具体的数字,而是就填写xyz这三个字母的任意组合,甚至缺个x缺个y之类的都可以,只是不能重复而已。
比如:
\/execute align xyz run tp @s ~~~
假设你原本的坐标是(-105.315,-57.,-25.875),使用上述指令后你会传送到(-106,-58,-26),也就是将你的xyz三个坐标分别向下取整再传送。
上面这条指令你也可以写成:
\/execute align yzx run tp @s ~~~
\/execute align zxy run tp @s ~~~
都可以,就是不能这么写:
\/execute align 1 1 1 run tp @s ~~~
\/execute align xxyyzz run tp @s ~~~
这样子是不行的。
如果你只想对x坐标和z坐标进行向下取整,只需要去掉一个y就可以了:
\/execute align xz ...
现在,8条修饰子命令都已经学完了,让我们来将它们一齐运用一下:
\/execute in minecraft:the_nether positioned as @s run tp @s ~~~
这将会把你传送到地狱,并使得坐标不会变化。假设你原本在主世界是(1,1,1),使用这条指令你只会跑到下界的(1,1,1),x和z轴并不会除以8。
为何?让我们来使用『流水线思维』分析一下:
At First——你自己、(1,1,1)、主世界、你自己的旋转角度、feet
in——你自己、(0.125,1.0,125)、地狱、你自己的旋转角度、feet
\\\\in修改了维度位置到地狱,并且由于是从主世界到地狱,x和z轴就被分别除以8\\\\
positioned——你自己、(1,1,1)、地狱、你自己的旋转角度、feet
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!