还真有!那就是:
触发器(Trigger)
在『第四十一章 objectives——管理一个计分项』中,我们曾经了解到trigger准则计分项所具有的特性:
『触发器,类似于dummy,但所有玩家均可修改自己的trigger型计分项』
也就是说,我们可以创建一个trigger准则的计分项,然后指示玩家去修改自己在这个计分项上的分数,进而达到『玩家输入,我们也能检测到并储存』的效果。
那我们到底该怎样正确使用触发器呢?
让我们先创建一个trigger准则的计分项:
/scoreboard objectives add password trigger
这将会创建一个叫做『password』的trigger准则计分项,我们将会使用它来储存玩家的密码。
然后呢,怎么让玩家能够修改?
你应该知道,让玩家使用/scoreboard players set 去修改自己的trigger类计分项的分数是不现实的,因为scoreboard必须要2级权限才能使用。因此,Mojang专门为触发器加入了一条指令:
/trigger
作用:修改执行者自己的trigger计分项上的分数
存在版本:Java1.8-今
需要权限等级:Java-0
需要作弊:否
格式:
/trigger <允许的trigger计分项>
\\使执行者自己在指定计分项上的分数+1\\
/trigger <允许的trigger计分项>(add|set)<值>
\\设置执行者自己在指定计分项上的分数\\
举个例子:
/trigger password set 1
如果password是个已被启用的trigger计分项,那么运行上述指令将会修改执行者自己在password计分项上的分数为1。
等等,『已被启用』是个啥意思?trigger计分项要被修改还得先启用?
没错,Mojang虽然给了我们触发器,但是这个触发器并不是随时随地都能让没权限的玩家自由修改的。要让玩家能够使用触发器,首先你需要使用scoreboard players enable命令来为指定玩家启用触发器:
/scoreboard players enable <目标>
比如:
/scoreboard players enable @s password
就可以让我们自己能够修改一次password。注意啊!不是无限修改,而是只能修改一次!