天才一秒记住【第一中文网】地址:www.dyzww.cc
(本章已于2022年7月16日重写)
现在,我们只剩下了一个存储子命令,即store。
这个store可不是商店,而是一个动词,意为『储存』。
和if子命令一样,store子命令也有许多子命令。截止1.19版本,store子命令一共有5个子命令,但在这我们只能讲一个。
为什么?你仔细看看这五个子命令,斟酌一下你的水平,然后你就会发现在这里我们的确也只能讲一个。
这五个子命令分别是:
block ——将值存储到方块实体(方块Nbt)中
bossbar ——将值存储到boSS栏中
entity ——将值存储到实体Nbt中
score ——将值存储到计分板中
storage ——将值存储到硬盘中
额,其实storage子命令我们也可以稍微讲一下......
在开讲之前,让我们先回顾一下第六十一章的内容。在那一章,我们了解到指令的返回结果有五种类型:
1指令执行成功的次数(Successcount)
2指令的查询结果(queryResult)
3受到该指令影响的物品数量(AffectedItems)
4受到该指令影响的实体数量(AffectedEntities)
5受到该指令影响的方块数量(Affectedblocks)
但mojang可能觉得这五种太多了,而且2、3、4、5分得那么细也没啥用。于是,在Java1.13版本中,后四类合并成了一类,加上原先『指令执行成功的次数』,就变成了两大类型:
1指令执行成功的次数(success)
2指令返回的结果(result)
其中,前者可以被我们的比较器探测到并输出为红石信号强度。
回到store子命令上。虽然现在指令执行的结果只剩下两大类型,但也是有分类的嘛。所以说,store子命令的格式如下:
... store <返回类型>(block|bossbar|entity|score|storage)...
比如:
... store result block ...
这将会指定将指令执行所返回的结果(一般是run子命令执行的结果)存储到方块实体(方块Nbt)中。
考虑到我们尚未真正开始学习Nbt,因此这里我们就不讲block、bossbar和entity了,就仔细学习一下score,并稍微讲一下storage即可。
store的score子命令,其格式如下:
... store <返回类型> score <分数持有者><计分项>...
很简单吧?至少比\/stats指令要简单许多。我们只需要指定返回类型,然后指定要存储到谁在哪个计分项上的分数即可。我们不需要考虑会不会受到其他指令的影响,也不需要考虑要在开始存储之后停止存储,甚至不需要考虑指定的分数持有者是否在被指定的计分项追踪。
举个简单的例子:
\/execute as @a store result score @s ore_count run clear @s #forge:ores 0
在装了Forge模组加载器的情况下,运行上述指令将会将所有玩家背包内的矿石数量储存到每名玩家的ore_c
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!