Minecraft 找要塞、古城與生態域的指令:查到座標並傳送過去

摘要

Minecraft 內建的尋找指令能列出最近的要塞、古城、村莊或櫻花樹林的座標,但舊教學的寫法在新版只會得到錯誤訊息。只要改用目前的寫法與名稱,就能查到座標並傳送過去,地獄與終界的結構也能直接從主世界查詢。

文章目錄

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 就能一次查全部。輸入後,聊天欄會顯示最近的座標與距離:

聊天欄顯示最接近的要塞位於 1392, ~, -1040,距離 1736 個方塊,莽原村莊位於 -320, ~, 720,櫻花樹林位於 -251, 93, -572

中括號裡的三個數字依序是 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 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: 時會顯示語法錯誤:

基岩版伺服器視窗的查詢結果,要塞在 82, (y?), -830,在主世界查 fortress 顯示 No valid structure found,生態域沒有加 minecraft: 時顯示語法錯誤,加上後顯示櫻花樹林在 -480, 104, -1312

基岩版和 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 個結構,都能在對應的維度查到座標。

接著可以做什麼

上一篇Minecraft 伺服器世界備份與還原:複製資料夾就能留下存檔,損毀時回到備份時的狀態Games下一篇Minecraft Pixelmon 伺服器架設:和朋友在同一個世界玩寶可夢模組Games
Ted Liou

Ted Liou

現役軟體工程師,Unity、AI 技術開發經驗分享與諮詢。