第189章 ,/.

Minecraft指令手册 你好MC 2057 字 21小时前

上一章我们提到了进度系统,也提到了修改进度的指令:/advancement。

那么在JAVA1.12版本之前,也就是成就还未移除的时候,那个时候的玩家它们该怎样通过指令获得或移除成就呢?

在JAVA beta1.5版本,成就系统正式加入到了Minecraft,尽管在当时成就系统的功能并不完善。

但直到1.7.2版本更新之前,成就系统仍然跟指令没有任何关系。也就是说,在当时,成就系统是一个独立的系统。

1.7.2版本更新,这个独立的系统被打破了。

1.7.2 13w36a更新,更新了成就系统,且将成就系统和指令系统第一次进行连接。其中,除了成就和计分板连上了关系,Mojang还对成就添加了一个新的指令:/achievement。

这是什么指令?和/advancement。差不多,是可以控制指定玩家成就的指令。

那么具体就来看看这条指令到底该怎么用吧。

/achievement

作用:对指定玩家进行赋予或移除成就的操作。

使用权限下限:管理员(OP)

是否可使用命令方块执行:是

格式:

/achievement <成就id|*>[目标选择器:玩家]

首先和/advancement一样,是选择give(赋予)还是take(移除)的操作。

然后就不一样了,因为这里直接就上成就id了。

等等,那个“*”是干啥用的?

全选啊!所以/achievement give *@s就可以让你一秒钟获得全部成就了。

只不过不填目标选择器也行,因为目标选择器是非必填项,不填默认是执行者自己,填了就是指定玩家了。

但是,如果填成就id,是不是和/advancement一样,只获得这个成就呢?

其实不然,比如直接使用/achievement达成“获得升级”成就,那么你不会只获得这个成就,还会获得上游的全部成就,也就是:

“打开物品栏——>获得木头——>制作工作台——>采矿时间到——>获得升级”这一连串的成就,即/advancement的until操作效果。而如果按照看/advancement的眼光来看/achievement,那么/achievement只有until和everything的操作。

那么问题来了,成就id到底有哪些呢?

在Minecraft Wiki里有对成就id的格式有简单说明:

achievement.成就名(其中“成就名”为有效的成就标识符)

但如果我们找到“成就”这个词条,只会出现基岩版的成就。在这里有包括成就图标、成就名(中文)、游戏内描述、实际需求(若异)、Xbox点数以及奖杯(PS),可偏偏就是没有成就标识符。

而在成就/JAVA版词条就更寒酸了,就几张图片和历史,完全就把JAVA版的成就当成空气一样看待。

而唯二的成就id就只有在/achievement词条里有:achievement.overkill(赶尽杀绝)和achievement.openInventory(打开物品栏)。

其他的成就id就像Notch的离开Mojang一样也离开了Minecraft,在Minecraft Wiki连个影子都看不到。

真的是这样吗?

别忘了,上面这些词条都是进过中文翻译的,而Mojang经常使用英文来作为一个方块或物品的id,那么我们或许可以不要转换语言?

但令人震惊的是,Minecraft Wiki的语言竟然转换不回去!那么该怎么办呢?

看来,Minecraft Wiki也并不怎么全面啊,所以我们要把目光移向别的地方。

2016年8月29日,在Minecraft JAVA版1.11.2都还未更新时,百度用户steven8967将Minecraft 中文Wiki的“成就”词条全部复制到了百度百科下“成就”词条中的一个义项。令人震惊的是,这个已经创建了将近4年的词条,浏览量竟然不过万!所以,直到现在,这个词条义项的内容并没有发生过多大改变,它完好无损地保留了2016年8月29日的Minecraft 中文Wiki词条的内容!在其中我们发现,这个列表不止有现在Minecraft 中文Wiki成就词条的大部分内容,还包括了PS的奖杯类型和JAVA版的成就id!

通过这个词条,我们成功获得了Minecraft JAVA的所有成就id(百度百科牛逼!):

小主,

打开物品栏——openInventory

获得木头——mineWood

这是?工作台!——buildWorkBench

采矿时间到!——buildPickaxe