天才一秒记住【第一中文网】地址:www.dyzww.cc
悉一下具体的操作流程。
假设这是一个命令方块,它位于坐标12,24,81处——>?
我们要获取整个服务器现在一共有多少名玩家,首先就需要准备一个计分项以及一个正在被该计分项追踪的目标。请注意,必须是在该计分项上有分数的目标,否则\/stats会无法修改分数(因为\/stats指令只能修改分数而不能添加追踪目标)!
假设你已经准备好一个叫做information的计分项和一个正在被该计分项追踪的虚假玩家players。现在,运行下面的指令:
\/stats block 12 24 81 set Successcount players information
此时游戏会返回信息:将Successcount项统计信息储存在了players的information上。这样子写可能会误导一些玩家,实际上这时候才开始追踪,并没有开始获取结果并修改记分板上的分数。
为了方便观察,你可以把information计分项显示在侧边栏或其他地方,然后在?命令方块处输入:
testfor @a
最后拉下拉杆。假设此时在线玩家为3,你就会发现players的分数变成3了!
如果你拉下拉杆后服务器又进入一名玩家,此时你再次运行命令方块,你就会发现players的分数又变为4了!
使用起来是不是很简单?别看用的时候很简单,清理的时候可别搞错了。
使用\/stats指令追踪一个方块或实体,如果我们没有及时停止追踪,游戏就会一直追踪下去!因此,请你最好在指令执行完成后再加一句:
\/stats block 12 24 81 clear Successcount
这句指令的意思是:停止追踪?命令方块的Successcount类结果信息
清除时请注意一点,结果类型一定要一样!因为每一个追踪项都是精细到结果类型的,结果类型填错了就变成清理其他追踪项,这点一定要注意!如果你忘记了结果类型,只能把五个类型全部清一遍(mojang没有提供查询追踪项的方式)。
这就是\/stats指令的用法。使用\/stats指令,你可以跟踪获取到方块执行指令的结果、玩家执行指令的结果和作用在跟踪目标上的\/execute子命令运行的结果,并根据这些结果修改记分板上的分数。
对了,使用\/stats时请注意一点,跟踪的目标有没有被其他正处于循环当中的execute指令影响到,如果有的话,获取到的结果就会被污染!!!
现在你会用\/stats了吗?我们下一章见。
stats历史
Java
1.8——加入了\/stats指令
1.13——移除了\/stats指令,改用更先进的\/execute存储子命令。关于\/execute在Java1.13更新后的使用方式,我们下一卷会讲到。