文章目錄

Minecraft 內建的尋找指令能列出要塞、古城、村莊或櫻花樹林最近的座標,我們不用四處探索,就能直接前往這些地方。但照舊教學輸入結構的英文名稱時,遊戲只會回傳錯誤訊息,因為這個指令的寫法已經改過,Java 版和基岩版的名稱也不一樣。只要改用目前的寫法與名稱,就能查到座標並傳送過去。
本文的測試環境是 Windows 11,Java 版用 26.3,基岩版用 1.26.61.1 的官方伺服器。
指令權限
尋找與傳送都屬於作弊指令。Java 版建立新世界時,可以直接把「允許指令」切換成開啟:

已經建立的世界也不用重開,在世界裡按 Esc 開啟遊戲選單,選擇「世界選項」,就能在「一般」區塊開啟「允許指令」,再按「套用變更」。但極限模式的世界無法開啟。

基岩版要在建立或編輯世界時開啟「啟用作弊」,官方文件寫明開啟後這個世界會停用成就。
如果是在 Java 版伺服器上玩,就在伺服器視窗輸入 op 玩家名稱,把玩家設成管理員。沒有權限時,指令即使寫對了,聊天欄也會顯示「未知或不完整的指令,錯誤如下」:

Java 版的尋找指令
從 1.19 起,舊的 locate 改成 locate structure,locatebiome 也改成 locate biome。權限確認後,打開聊天欄就能依要找的東西輸入下面的指令:
| 要找的東西 | 指令 |
|---|---|
| 結構,例如要塞 | /locate structure minecraft:stronghold |
| 一組結構,例如村莊 | /locate structure #minecraft:village |
| 生態域,例如櫻花樹林 | /locate biome minecraft:cherry_grove |
名稱前面的 minecraft: 可以省略。# 代表一組結構,例如村莊分成平原、沙漠、莽原、雪原與針葉林五種,用 #minecraft:village 就能一次查全部。輸入後,聊天欄會顯示最近的座標與距離:

中括號裡的三個數字依序是 X、Y、Z。結構的 Y 會顯示 ~,結果只有水平位置。生態域的 Y 大多只是我們目前的高度,只有蒼鬱洞窟、深淵這類地底生態域才是地底的高度。指令回報的結果也不一定是距離最短的一個,覺得太遠時可以換個位置再查一次。
結構與生態域的名稱
下面的名稱都實際查詢過,Java 版的名稱可以再加上 minecraft:。表中的維度是找得到這個結構的維度:
| 結構 | 維度 | Java 版 | 基岩版 |
|---|---|---|---|
| 要塞 | 主世界 | stronghold |
stronghold |
| 村莊 | 主世界 | #village |
village |
| 遠古城市(古城) | 主世界 | ancient_city |
ancient_city |
| 林地府邸 | 主世界 | mansion |
mansion |
| 海底遺跡 | 主世界 | monument |
monument |
| 礦坑 | 主世界 | #mineshaft |
mineshaft |
| 沉船 | 主世界 | #shipwreck |
shipwreck |
| 海底廢墟 | 主世界 | #ocean_ruin |
ruins |
| 埋藏寶藏 | 主世界 | buried_treasure |
buried_treasure |
| 劫掠者前哨 | 主世界 | pillager_outpost |
pillager_outpost |
| 試煉密室 | 主世界 | trial_chambers |
trial_chambers |
| 已破壞的傳送門 | 主世界、地獄 | #ruined_portal |
ruined_portal |
| 地獄要塞 | 地獄 | fortress |
fortress |
| 堡壘遺蹟 | 地獄 | bastion_remnant |
bastion_remnant |
| 終界城市 | 終界 | end_city |
end_city |
沙漠神殿、叢林遺跡與沼澤小屋只有 Java 版查得到,名稱是 desert_pyramid、jungle_pyramid 與 swamp_hut。基岩版則用 temple。
常查的生態域如下,基岩版一定要在名稱前面加上 minecraft::
| 生態域 | 維度 | Java 版 | 基岩版 |
|---|---|---|---|
| 櫻花樹林 | 主世界 | cherry_grove |
cherry_grove |
| 蒼白之園 | 主世界 | pale_garden |
pale_garden |
| 蘑菇地 | 主世界 | mushroom_fields |
mushroom_island |
| 冰刺 | 主世界 | ice_spikes |
ice_plains_spikes |
| 黑森林 | 主世界 | dark_forest |
roofed_forest |
| 繁花森林 | 主世界 | flower_forest |
flower_forest |
| 竹林 | 主世界 | bamboo_jungle |
bamboo_jungle |
| 惡地 | 主世界 | badlands |
mesa |
| 沼澤 | 主世界 | swamp |
swampland |
| 雪原 | 主世界 | snowy_plains |
ice_plains |
| 蒼鬱洞窟 | 主世界 | lush_caves |
lush_caves |
| 深淵 | 主世界 | deep_dark |
deep_dark |
| 地獄荒原 | 地獄 | nether_wastes |
hell |
| 靈魂砂谷 | 地獄 | soul_sand_valley |
soulsand_valley |
| 終界高地 | 終界 | end_highlands |
the_end |
地獄與終界的查詢
尋找指令只會查我們目前所在的維度,因此站在主世界查地獄要塞時會得到找不到的訊息。如果還沒有過去,就在指令前面加上 execute in 指定維度,人不用移動:
1/execute in minecraft:the_nether run locate structure minecraft:fortress
2/execute in minecraft:the_end run locate structure minecraft:end_city
生態域也用相同的方式查詢,例如 /execute in minecraft:the_nether run locate biome minecraft:crimson_forest。
傳送到查到的座標
查到座標後,把游標移到綠色的座標上,會顯示「按此傳送」。點一下座標,聊天欄就會填入 /tp @s 1392 ~ -1040,按 Enter 送出後就會傳送過去:

指令裡的 ~ 代表維持目前的高度,如果目前的位置比目的地的地面低,就會卡進方塊並持續扣血。因此我們可以依目的地改用下面的指令,並把數字換成自己查到的座標:
| 目的地 | 指令 | 到達的高度 |
|---|---|---|
| 只要到達水平位置 | /tp @s -320 ~ 720 |
不變 |
| 主世界的地面 | /spreadplayers -320 720 0 1 false @s |
地面,例如村莊的 Y 70 |
| 地獄裡的地面 | /execute in minecraft:the_nether run spreadplayers -416 -720 0 1 under 120 false @s |
Y 120 以下的地面,例如 Y 88 |
| 終界裡的地面 | /execute in minecraft:the_end run spreadplayers -3424 -5760 0 1 false @s |
地面,例如 Y 60 |
spreadplayers 前兩個數字是目的地的 X 與 Z,後面的參數不用改,目的地還沒生成時也找得到地面。要塞與古城都在地底,我們要先傳送到地面,再往下挖。地獄的 Y 127 是基岩,不加 under 120 時會停在基岩上方,因此地獄一定要加上這個參數。
如果已經卡進方塊,就輸入上表的 spreadplayers 回到地面,或輸入 /gamemode creative 切換成創造模式,扣血就會停止。
到達後再輸入一次相同的尋找指令,站在結構的位置時,距離會顯示 0。
錯誤訊息與處理方式
輸入舊教學的寫法或打錯名稱時,訊息會隨原因不同:
| 輸入的內容 | 訊息 | 處理方式 |
|---|---|---|
/locate Stronghold |
指令的引數不正確(Incorrect argument for command) | 加上 structure,並改用表中的名稱 |
/locatebiome minecraft:cherry_grove |
未知或不完整的指令,錯誤如下(Unknown or incomplete command) | 改成 /locate biome,或確認權限 |
/locate structure Stronghold |
引數結尾應為空白字元,但發現有尾隨資料(Expected whitespace to end one argument) | 名稱全部改成小寫 |
/locate structure village |
沒有類型為 “minecraft:village” 的結構(There is no structure with type) | 村莊要寫 #village |
/locate biome cherry |
無法找到類型為 ‘minecraft:worldgen/biome’ 的元素(Can’t find element) | 生態域的名稱不完整,要寫 cherry_grove |
/locate structure fortress |
無法在附近找到類型為 “minecraft:fortress” 的結構(Could not find a structure of type) | 目前的維度沒有這個結構,要指定維度 |
基岩版的差異
基岩版同樣有 /locate structure 與 /locate biome,寫法列在官方文件。下圖是在基岩版伺服器視窗執行的結果,結構的 Y 顯示成 (y?),生態域沒有加 minecraft: 時會顯示語法錯誤:

基岩版和 Java 版的寫法差異如下:
| 要找的東西 | Java 版 | 基岩版 |
|---|---|---|
| 生態域 | /locate biome cherry_grove |
/locate biome minecraft:cherry_grove |
| 村莊 | /locate structure #village |
/locate structure village |
| 地獄的結構 | /execute in minecraft:the_nether run locate structure fortress |
/execute in nether run locate structure fortress |
| 終界的結構 | /execute in minecraft:the_end run locate structure end_city |
/execute in the_end run locate structure end_city |
基岩版生態域的 Y 就是地面的高度,因此可以直接傳送,例如 /tp @s -480 104 -1312。結構的名稱要全部小寫。維度不對、名稱打錯與大寫都會得到相同的 No valid structure found,遇到這個訊息時要逐一檢查。
實測紀錄
Java 版與基岩版的種子碼都是 20261106,但兩邊生成的世界不同,座標不能互相套用。我把 Java 版 26.3 內建的 52 個結構與 67 個生態域,以及基岩版官方文件列出的 17 個結構與 87 個生態域,都在三個維度各查一次。Java 版的結構全部查得到,生態域只有 the_void 查不到。基岩版的結構全部查得到,查不到的 26 個生態域多半是 desert_hills 這類舊名稱。
總結
尋找指令要依結構與生態域分開寫並使用目前版本的名稱,查到座標後再傳送過去。Java 版 26.3 內建的 52 個結構與基岩版官方列出的 17 個結構,都能在對應的維度查到座標。