第72章 更高級的locate
- Minecraft指令手冊
- 你好MC
- 1461字
- 2020-02-07 19:18:22
(此章節于2022年7月13日重寫)
近日,Mojang在Minecraft Java1.19.1版本中添加的Player Reporting 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 poi <興趣點ID>
/locate structure <結構ID>
基巖版1.19.10及之后版本
/locate biome <生物群系ID>
/locate structure <結構ID>[僅在未生成的區塊中查找:布爾值]
(注:基巖版的locate尚在更新中,有可能會發生變化)
看起來仍然相當的簡單。
首先,/locate原來的功能,也就是『定位特殊的建筑(結構)』,被移植到了structure子命令中,這里我們就不細講了。然后,Mojang將/locatebiome這條指令合并到了/locate,變成了biome子命令。最后,Mojang添加了一個新的子命令,叫做poi,可以用于查找興趣點。
唉,什么是興趣點?它有什么用?為什么會讓我們興趣?
待會我們會講到,先讓我們來看看這個/locatebiome命令又是什么。
/locatebiome
作用:尋找指定生物群系
存在版本:Java1.16-1.19快照
需要權限等級:2
需要作弊:否
格式:
/locatebiome <生物群系ID>
/locatebiome這條指令添加于1.16版本,其功能類似于當時的/locate指令,可以查找最近的生物群系并返回其位置。
也是很簡單,但功能由于和locate太類似,Mojang就讓它合并過來了。
現在我們再來看看poi子命令。
上面說了,poi子命令可以查找興趣點。興趣點是什么?
興趣點(point of interest),是在Minecraft Java 1.14加入的一個東西,主要指的是能被村民或其他生物認領的方塊(注:這是作者自己的定義,官方目前沒有給出定義)。也就是說,并不(只)是你會對這東西感興趣,而是村民以及其他的一些生物會對這東西感興趣。
有哪些方塊是興趣點呢?
截止目前(Java1.19.1),有如下興趣點:
\\能被村民認領的\\
高爐(armorer)
煙熏爐(butcher)
制圖臺(cartographer)
釀造臺(cleric)
堆肥桶(farmer)
木桶(fisherman)
制箭臺(fletcher)
床(home)
煉藥鍋(leatherworker)
講臺(librarian)
切石機(mason)
鐘(meeting)
織布機(shepherd)
鍛造臺(toolsmith)
砂輪(weaponsmith)
\\跟蜜蜂有關的\\
蜂巢(bee_nest)
蜂箱(beehive)
\\跟玩家有關的\\
避雷針(lightning_rod)
磁石(lodestone)
下界傳送門(nether_portal)
舉個例子。比如我們要尋找最近的下界傳送門,就可以運行如下指令:
/locate poi minecraft:nether_portal
蠻簡單的,這個興趣點看起來好像很高大上,實際上也沒什么嘛。
現在,新版本的/locate算是介紹完了。但還有一些問題:
在Java新版本中,各種村莊的ID被拆分了,雖然這對我們搜索特定種類的村莊有很大幫助,但萬一我們僅僅只是想找個村莊該怎么辦?
答案很簡單:用標簽。
還記得我們在『本書第一次大修新增章①』中提到的標簽吧?在Minecraft Java 1.18.2更新中,Mojang開始允許/locate和/locatebiome指令使用標簽進行查找,就算/locate經過了如此大的更新,這個功能也沒砍。
那有哪些標簽,怎么使用呢?
對于結構來說:
cats_spawn_as_black(會生成黑色的貓)
cats_spawn_in(會生成貓)
dolphin_located(會有海豚)
eye_of_ender_located(會有末地傳送門)
mineshaft(是礦井)
ocean_ruin(位于海里的廢墟)
on_ocean_explorer_maps(在海洋探險家地圖上的)
on_treasure_maps(在寶藏地圖上的)
on_woodland_explorer_maps(在林地探險家地圖上的)
ruined_portal(是破敗的傳送門)
shipwreck(是船的廢墟)
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的使用。