第189章 ,/.

Minecraft指令手册 你好MC 1200 字 18小时前

test,之前见过,意为“探测”、“检测”。通过test,可以探测一个变量的分数是否在一个区间内。我们就得通过它,来防止欠账的事情发生。

(注意,test子命令在Java1.13更新中被移除。现在仅Java1.12.2及以下版本和基岩版拥有该子命令)

现在已经有了“$”这个货币,并且作者有100万$(游戏里)。假设现在有一个物品,价值120万$(什么东东这么贵)。如果这个记分板商店就是一个scoreboard—players—remove加上/give,那么作者也会买成功,但是$变成了-20万$(欠了20万美元)。

但是,Minecraft里可没有自带还债机制,所以作者能够一直扣下去。

为了防止这种事情的发生,我们就需要用到test子命令。其格式是:

... test <目标选择器><计分项><最小值>[<最大值>]

注意,在Java版有test的时候,格式确实如上,“最大值”参数是选填的。但在基岩版中,“最大值”参数是必填的。

假设我们要使用test检测玩家“李四250”是否能够购买这个120万美元的东西,我们就需要执行指令:

/scoreboard players test 李四250 $ *

其中,最大值被替换为了星号。这个“星号”是什么意思呢?

当最小值填*时,代指-;当最大值填*时,代指。

也就是说,这个/scoreboard players test 李四250 $ *,实际上是/scoreboard players test 李四250 $ 。

所以这条指令的意思是:

检测玩家“李四250”在$计分项上的分数是否大于等于(并小于)。

如果成功,那么游戏会提示“分数xxx在到范围内”。

如果失败,则会在“在”字前加个“不”字,并将整个消息的颜色改为红色。

在命令方块中检测成功也会输出信号,进而激活接下来的命令方块。

我们记分板商店的原理之一就是这个。命令方块如下摆放即可做成简单的记分板商店:

A→B→C