(本章已于2022\/7\/20~21日重写)
在前面两章,我们迅速的学习了一下结构方块的大致使用方法。但这结构方块跟指令有什么关系呢?结构方块也就只有一个玩家无法使用的『数据模式』才能和指令扯上边。
虽然结构方块和指令没有什么直接的关系,但在基岩版却有一条指令和结构方块的功能很有关系。它就是:\/structure
\/structure
作用:和结构方块差不多。储存、加载或删除已保存的结构。
存在版本:基岩版1.16.100-今
需要权限等级:基岩版-1
需要作弊:是
格式:
\\\\储存\\\\
\/structure save <结构名称><起点坐标><终点坐标>[存储方式]
\/structure save <结构名称><起点坐标><终点坐标>[保存实体:布尔值][存储方式][保存方块:布尔值]
\\\\加载\\\\
\/structure load <结构名称><区域基点>[旋转角度][镜像方式][加载实体:布尔值][加载方块:布尔值][结构完整度][种子]
\/structure load <结构名称><区域基点>[旋转角度][镜像方式][动画模式][动画时长][加载实体:布尔值][加载方块:布尔值][结构完整度][种子]
\\\\删除\\\\
\/structure delete <结构名称>zuqi.org 葡萄小说网
仔细看一下上面的格式,你就会发现除了\/structure指令多了一个delete的功能外,其他的功能结构方块都有。所以我们这边就不需要详细的学习了,我们只需要讲一下一些参数即可。
和结构方块不一样的是,structure选取结构是采用类似于\/fill指令的『<起点坐标><终点坐标>』,即指定两个坐标来选取区域,比如下面的例子:
\/structure save grass ~1 ~1 ~1 ~-1 ~-1 ~-1
这将会把执行地点周围3x3x3的空间全部保存起来到内存中。
而structure加载结构就像\/clone指令选取要复制到的位置,都是采取指定『区域基点』坐标的方式。这『区域基点』也就是指你要复制到的区域中,xyz三个轴值最小的地方,也就是所谓的『下西北角』。
『存储方式』参数可以填写两个值:memory(保存在内存中[默认])和disk(保存至磁盘)。比如:
\/structure save grass ~1 ~1 ~1 ~-1 ~-1 ~-1 memory
这将会把执行地点周围3x3x3的空间全部保存起来到内存中。
需要注意的是,如果你在内存中和磁盘中都保存了同样名称的结构,游戏在加载或保存过程中,如果未指定是从『内存』还是从『磁盘』,游戏就会优先选取内存中的结构。比如你将一个村民的家保存到磁盘中的『home』结构,然后将你的家保存到内存中的『home』结构,如果运行下面的指令:
\/structure load home ~~~
这将会加载出你的家,而不是村民的家。只有当你退出重进游戏之后,上述指令才会加载出村民的家。
『旋转角度』参数有些特别,它并不是直接填写度数,而是填写『0_degrees』、『90_degrees』、『180_degrees』和『270_degrees』。举个例子:
\/structure load home ~~~ 270_degrees
假如你还没有退出重进游戏,那么上面的指令将会加载出你的家,并且会以结构的中心顺时针旋转270°。
『镜像方式』参数和execute的align子命令有些类似,它能够填写四个值:『none』(没有镜像)、『x』(对于x轴镜像)、『z』(对于z轴镜像)、『xz』(对于x和z轴镜像)。当然,它并不能填写『zx』,也就是不能乱排。举个例子:
\/structure load home ~~~ 270_degrees xz
这将会加载出一个相对于x、z轴镜像的,顺时针旋转270°的你家。
『加载\/保存实体:布尔值』和『加载\/保存方块:布尔值』两个参数就不必说了,填写true(开启)或false(关闭)即可。
『结构完整度』参数和结构方块的『结构完整度』一模一样,都是填写一个0~100(含)的数。『种子』参数就更不必说,随便写都行,反正游戏会帮你转化。比如:
\/structure load home ~~~ 270_degrees xz true true 90 what_is_up
这将会加载出一个相对于x、z轴镜像的,顺时针旋转270°的,只有90%完整度的,种子为『what_is_up』的你家。
『动画模式』参数可以填写两个值:block_by_block(按照方块放置)yer_byyer(按照层数放置),并不能选『无』。只不过你不填写『动画模式』参数的话,不就不会有动画了吗。『动画时长』参数也是指定加载动画的时长,单位也是秒。举个例子:
\/structure load home ~~~ 0_degrees none block_by_block 20
这将会在20秒内一个方块一个方块地把你房子搭建出来。
最后,让我们尝试删除保存着你房子的结构,来实现不重进游戏也能够加载村民的房子:
\/structure delete home
然后你就会发现一件事情——村民的房子也被删掉了。
没错,delete子命令不会管你是内存还是磁盘,只要有叫这个名称的结构就会删掉。也就是说,运行上述指令,会同时删除掉内存和磁盘中的home结构。
这就是本章的全部内容了。
附表:\/structure历史
基岩版
1.16.100——加入了\/structure
1.16.210——\/structure新增了delete子命令,可以删除已保存结构