第一中文网

第七十二章 存储子命令 (第3/4页)

天才一秒记住【第一中文网】地址:www.dyzww.cc

令收不到数据以外,其他的store子命令将会获取到最后一个条件子命令的数据。

但需要注意,虽然store子命令只能获取到最后一个条件子命令的数据,但是这不代表其他条件子命令没有作用。如果前面的条件子命令发现条件不符合的话,那么store就会无法获取到任何数据而不更改分数。

我们再来看看第二个例子。假设现在还是有2个掉落物,3头牛,1个玩家,请你猜一猜,运行第二个例子会发生什么?

答案是:item_count、cow_count和player_count的分数均会变为1

当一个带有run子命令的execute指令中含有多个store和条件子命令时,store子命令仅仅只会获取到run子命令运行的数据,并不会获取到其他条件子命令的数据。

你听懂了吗?

在本章的最后,我们来稍微了解一下store的这个storage子命令。

storage子命令(store)和predicate子命令(if|unless)都是在Java1.15版本中被添加的,并不是Java1.13一开始就有的。有趣的是,这两个东西都和数据包有较大关系。谓词我们已经知道了,那这个storage子命令又是什么呢?

正如我对这条子命令的描述一样,这条子命令可以将返回的值存储到硬盘上。更确切地说,是存储到指定的存储容器中(这是minecraft wiki的说法)。

硬盘?存储容器?都是什么鬼!

待会你就知道是什么鬼了。让我们先来看看这东西的格式:

... store <返回类型> storage <目标存储容器Id><Nbt路径><数据类型><倍率>...

举个简单的例子:

\/execute store result storage minecraft:distance to_the_nearest_village double 1.0 run locate structure #minecraft:village

这条指令适用于Java1.19及以上版本,效果是:将执行地点与最近村庄的距离以double双精度浮点数类型存储到名为『minecraft:distance』容器内的to_the_nearest_village标签。

如果你的存档是个全新的,那么你在运行上述指令后,首先游戏将会给你创建一个叫做『minecraft:distance』的存储容器,这个存储容器以Nbt树状结构存储数据,并放置于你的存档目录下的data文件夹内的mand_storage_minecraft.dat文件中,具体路径如下:

存档根目录\/data\/mand_storage_minecraft.dat.data.contents.distance

其中,前面的『存档根目录\/data\/mand_storage_minecraft.dat』是文件路径,后面的『data.contents.distance』是Nbt路径。

如果你看不懂也没关系,你只需要了解一件事情:计分板数据也是差不多这样子存储的——计分板存储在data文件夹下面的另外一个叫做scoreboard.dat的文件中。

然后,游戏会在这个叫做『minecraft:distance』的存储容器内部,在Nbt根目录创建一个to_the_nearest_village标签,并以double的形

本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!

如遇章节错误,请点击报错(无需登陆)

新书推荐

都市超品仙医 活在两个世界 大秦:这个太子总想着造反 与其说瞎话不如 穿越万界:神功自动满级 诛神乾坤 多子多福,仙女都被他抢了怎么办