本文共1910字,預計閱讀7分鐘
大家好,今天我來繼續寫一篇關於指令教學的文章。做了這麼多影片了,發現文字類創作才是最適合我的。不知道大家有沒有思考或者遇到過一個問題,就是在遊玩MC的時候,尤其是一些地圖作者製作地圖的時候,開始前的劇情需要/say很多文字,而/say命令每個命令方塊只能執行一次,因此就需要大量的命令方塊(脈衝+鏈鎖)或者紅石中繼器,但是這樣的缺點大家都很清楚,就是工程量特別大,那麼有沒有什麼辦法同時執行多條命令呢?答案是有的。
在我的世界Java版1.12更新及我的世界基岩版1.8更新後,都增加了一條指令,叫做/function指令,翻譯為中文就是函式指令。這裡的函式並非數學上的函式,這裡的函式代表執行特定功能,再通俗一點就是一個“指令包”,把多條指令放在這個“指令包”中,然後執行一次指令即可載入這個“指令包”中的所有命令。聽起來非常厲害,製作起來也是非常簡單。但是基岩版受限比較大,製作起來很麻煩。
指令包
Java版使用/functionJava版想要使用這條命令是非常簡單的,不需要檔案管理器,不需要各種各樣的軟體即可做到。首先我們要找到自己想要使用/function指令的那張地圖的路徑,通常是/.minecradr/saves這個路徑
檔案路徑
這裡我想用“指令實驗室”這張地圖來演示,找到地圖存檔後開啟,會發現下面還有很多級目錄,用於存放MC函式的目錄在/date/functions,開啟後我們會發現裡面什麼都沒有,這是很正常的,畢竟我們還沒有載入函式。接下來我們需要在這一級目錄中再建立一個資料夾,名稱隨意,我使用了testfun這個單詞作為命名。儘量是英文命名,中文不一定能執行成功。
再建立一個資料夾
開啟這個資料夾,就可以載入函數了。我們在這個資料夾內新建一個檔案,名稱隨意,型別是mcfunction。有很多電腦無法顯示字尾名,你需要在控制面板中找到資料夾選項,然後把隱藏已知副檔名去掉,就可以顯示出副檔名了。
新建檔案
開啟剛才建立的mcfunction
開啟這個建立的mcfunction後,就可以開始編寫你的“指令包”了。還要多講一點,就是這種型別的檔案直接開啟是不能開啟的,需要使用一些編輯器來開啟,直接右鍵選擇記事本開啟也是可以的,我這裡使用了sublime。mcfunction中的所有命令不能出現斜槓,除了/execute座標後的指令外,都不能使用@s這個目標選擇器。如果寫錯了指令,那麼就不能成功執行了。
/function指令
進入遊戲後輸入/function testfun:test,這條指令表示執行testfun路徑下的test函式,也就是我們剛剛編寫的那個函式。除此之外,在函式路徑後面還可以加一個if引數,表示滿足某種條件即可執行,例如@e[type=pig],但是在1.13之後,/execute指令增加了if這個引數,取消了/function的if引數。
執行成功
我們可以看到函式載入完成,我們得到了若干的藥水效果。如果不能執行成功,可以使用/reload重新整理一下,還是不行就要考慮一下mcfunction有沒有儲存、命令有沒有輸入錯誤。
基岩版使用/function由於我沒有基岩版的一些工具,所以基岩版使用/function只能文字教程了。
你需要準備一個檔案管理器,現在市面上有很多檔案管理器,例如MT管理器。基岩版的存檔應該在/storage/emulated/./games這個路徑下,在這個路徑下新建一個檔案,將json配置檔案放進去。
{
"format_version":1,
"header":{
"description":"提示",//這裡是提示
"name":"名稱",//這裡是包名
"uuid":"94fefc43-bfe8-4893-8046-9150009352e0",
"min_engine_version":[0,0,6],
"version":[0,0,6]
},
"modules":[
{
"description":"1",//這裡是作者
"type":"date",
"uuid":"428440ed-c6d6-44fd-a2c9-f40c244a3ab4",
"version":[0,0,6],
}
]
}
然後找一張圖片作為指令包的圖示,再新建一個functions資料夾,後面就和Java版一樣。在使用的時候,找到世界選項下面的行為包,載入你的function包,即可使用。目前中國版怎麼製作我還不清楚。
那麼這篇文章教程就到這裡,關注我第一時間看到我的更新,感謝您的閱讀,我們下期再見!
參考資料:
1.Wiki百科關於/function的解釋;
2.Minecraft官方賬號對於1.13更新的介紹;
3.Bilibili影片:關於手機版function包的製作教程;
4.MCBBS論壇:關於/function的討論。