③受到该指令影响的物品数量(AffectedItems)
④受到该指令影响的实体数量(AffectedEntities)
⑤受到该指令影响的方块数量(AffectedBlocks)
我们使用/stats指令时,必须要指定我们到底想要让/stats指令获取什么类型的执行结果,因为每一种执行结果的值都可能不一样。
比如使用clear指令检测玩家背包内有多少个指定物品时,如果我们获取的是SuccessCount结果类型,那么只会是1或0;而如果我们获取的是AffectedItems,获取到的就是物品的数量。
使用/stats时,不仅要指定需要获取什么,还要指定两个重要的东西:
①从哪儿获取?
②输出到哪儿?
/stats指令可以跟踪指定的方块和实体来获取执行在它们身上的指令的结果。看到“跟踪”两字没有?没错,/stats指令并不是立马就获取到执行指令的结果,而是先跟踪指定的目标,比如一个命令方块,只要这个命令方块执行了指令,它就会将指令的结果输出到指定的计分项当中。
/stats指令会将得到的值输出到指定的计分项并修改该计分项中指定目标的分数。比如/stats获取到的结果是13,它就会修改分数到13(除非指定的计分项是只读计分项)。
这就是/stats的使用方法,看起来还是蛮简单的。现在就让我们实践一下,熟悉一下具体的操作流程。
假设这是一个命令方块,它位于坐标12,24,81处——>?
我们要获取整个服务器现在一共有多少名玩家,首先就需要准备一个计分项以及一个正在被该计分项追踪的目标。请注意,必须是在该计分项上有分数的目标,否则/stats会无法修改分数(因为/stats指令只能修改分数而不能添加追踪目标)!
假设你已经准备好一个叫做information的计分项和一个正在被该计分项追踪的虚假玩家players。现在,运行下面的指令:
/stats block 12 24 81 set SuccessCount players information
此时游戏会返回信息:将SuccessCount项统计信息储存在了players的information上。这样子写可能会误导一些玩家,实际上这时候才开始追踪,并没有开始获取结果并修改记分板上的分数。
为了方便观察,你可以把information计分项显示在侧边栏或其他地方,然后在?命令方块处输入: