第六十七章 更高级的locate
(此章节于2022年7月13日重写)
近日,Mojang在Minecraft Java1.19.1版本中添加的Player Rebr /orting System(玩家举报系统)引起了轩然大波,许多Minecraft玩家认为这是Minecraft将要走向下坡路的前兆。
但这和我们暂时没有关系,相反,1.19荒野更新中的一些关于指令的更新更需要得到我们的注意。比如1.19版本中,Mojang对指令/locate的更新。
在第二十一章,我们了解到了/locate指令的用法,也就是如下:
Java1.19版本前
/locate <结构名>
基岩1.19.10版本前
/locate <结构名>[仅在未生成的区块中查找:布尔值]
看起来相当的简单,Mojang也这么认为。但Mojang不只是认为这条指令简单,他们还认为这条指令简单到过于简陋。于是,在Minecraft Java1.19和Minecraft Bedrock Edition 1.19.10更新中,Mojan对/locate指令进行了大更新,变成了如下模样:
Java1.19及之后版本
/locate biome <生物群系ID>
/locate br /oi <兴趣点ID>
/locate structure <结构ID>
基岩版1.19.10及之后版本
/locate biome <生物群系ID>
/locate structure <结构ID>[仅在未生成的区块中查找:布尔值]
(注:基岩版的locate尚在更新中,有可能会发生变化)
看起来仍然相当的简单。
首先,/locate原来的功能,也就是『定位特殊的建筑(结构)』,被移植到了structure子命令中,这里我们就不细讲了。然后,Mojang将/locatebiome这条指令合并到了/locate,变成了biome子命令。最后,Mojang添加了一个新的子命令,叫做br /oi,可以用于查找兴趣点。
唉,什么是兴趣点?它有什么用?为什么会让我们兴趣?
待会我们会讲到,先让我们来看看这个/locatebiome命令又是什么。
/locatebiome
作用:寻找指定生物群系
存在版本:Java1.16-1.19快照
需要权限等级:2
需要作弊:否
格式:
/locatebiome <生物群系ID>
/locatebiome这条指令添加于1.16版本,其功能类似于当时的/locate指令,可以查找最近的生物群系并返回其位置。
也是很简单,但功能由于和locate太类似,Mojang就让它合并过来了。
现在我们再来看看br /oi子命令。
上面说了,br /oi子命令可以查找兴趣点。兴趣点是什么?
兴趣点(br /oint of interest),是在Minecraft Java 1.14加入的一个东西,主要指的是能被村民或其他生物认领的方块(注:这是作者自己的定义,官方目前没有给出定义)。也就是说,并不(只)是你会对这东西感兴趣,而是村民以及其他的一些生物会对这东西感兴趣。
有哪些方块是兴趣点呢?
截止目前(Java1.19.1),有如下兴趣点:
\\能被村民认领的\\
高炉(armorer)
烟熏炉(butcher)
制图台(cartograbr /her)
酿造台(cleric)
堆肥桶(farmer)
木桶(fisherman)
制箭台(fletcher)
床(home)
炼药锅(leatherworker)
讲台(librarian)
切石机(mason)
钟(meeting)
织布机(shebr /herd)
锻造台(toolsmith)
砂轮(weabr /onsmith)
\\跟蜜蜂有关的\\
蜂巢(bee_nest)
蜂箱(beehive)
\\跟玩家有关的\\
避雷针(lightning_rod)
磁石(lodestone)
下界传送门(nether_br /ortal)
举个例子。比如我们要寻找最近的下界传送门,就可以运行如下指令:
/locate br /oi minecraft:nether_br /ortal
蛮简单的,这个兴趣点看起来好像很高大上,实际上也没什么嘛。
现在,新版本的/locate算是介绍完了。但还有一些问题:
在Java新版本中,各种村庄的ID被拆分了,虽然这对我们搜索特定种类的村庄有很大帮助,但万一我们仅仅只是想找个村庄该怎么办?
答案很简单:用标签。
还记得我们在『本书第一次大修新增章①』中提到的标签吧?在Minecraft Java 1.18.2更新中,Mojang开始允许/locate和/locatebiome指令使用标签进行查找,就算/locate经过了如此大的更新,这个功能也没砍。
那有哪些标签,怎么使用呢?
对于结构来说:
cats_sbr /awn_as_black(会生成黑色的猫)
cats_sbr /awn_in(会生成猫)
dolbr /hin_located(会有海豚)
eye_of_ender_located(会有末地传送门)
mineshaft(是矿井)
ocean_ruin(位于海里的废墟)
on_ocean_exbr /lorer_mabr /s(在海洋探险家地图上的)
on_treasure_mabr /s(在宝藏地图上的)
on_woodland_exbr /lorer_mabr /s(在林地探险家地图上的)
ruined_br /ortal(是破败的传送门)
shibr /wreck(是船的废墟)
village(是村庄)
对于生物群系来说:
非常多,不列了,自己去Minecraft Wiki上查
对于兴趣点来说:
acquirable_job_site(村民的工作站)
bee_home(蜜蜂的家)
village(跟村庄有关的)
比如,我们要查找最近的村庄,我们可以这么做:
/locate #minecraft:village (Java1.18.2)
/locate structure #minecraft:village (Java1.19及之后)
我们要查找最近的山地类生物群系,我们可以这么做
/locatebiome #minecraft:is_mountain (Java1.18.2)
/locate biome #minecraft:is_mountain (Java1.19及之后)
那么本章就到这里了。接下来,我们将正式开始学习execute的使用。