說明:已經玩過好多年《我的世界》,大概從13年開始吧,雖然不算早,但是也不是很晚。因為高度自由、豐富的mod、精美的材質光影,簡單的方塊遊戲風靡世界。最近心血來潮想學學怎麼做mod,但是直接從1.13.2直接起步開始做mod還是有點困難的,沒有資料,mcbbs上也沒有最新的教程,forge官網速度很慢,教程也不是很系統,反正是遇到了各種阻力。因為以前也沒有寫部落格的習慣,是以會不會有後續,也不知道。
(一)環境配置
1. JDK (https://www.oracle.com/technetwork/java/javase/overview/index.html)
jdk 環境配置這裡就不說了,學過java的都會,不會的網上搜也會搜出一大堆
2.forgeMDK (https://files.minecraftforge.net/)
從官網下載下傳1.13的mdk
3.gradle (https://gradle.org/)
一個自動化建構工具,因為下載下傳mdk裡會自動下載下傳一個gradle,是以這一步可有可無(建議裝上吧)。建立的mod都是基于gradle的項目。
因為gradle需要下載下傳很多依賴,以及資源檔案,全都放在C槽使用者目錄下的.gradle檔案夾裡,也就是本地庫,是以也得配置一下,放到其他盤去。
建立環境變量 GRADLE_HOME gradle的位置 (前提是你自己安裝了gradle,沒安裝就算了)
然後是 在path環境變量中添加 %GRADLE_HOME%\bin (沒有裝gradle的就不用配置了)
最後是本地庫的位置 GRADLE_USER_HOME,位置自己選。
4.IDE
這個看個人喜好,Eclipse 或者IDEA ,IDEA收費,eclipse免費。
(二) 項目搭建
官方教程(https://mcforge.readthedocs.io/en/latest/)
解壓從forge官網下載下傳的forge mdk,檔案夾名字随便改一個。
新的forge有一些改動,官網給出的指令有的無法運作,這裡直接點選gradlew.bat 運作。
第一次運作很坑的,要下載下傳好多資源,用來建構環境,是以要耐心等待。
這裡是cmd運作後的結果,建構成功,然後用idea打開。還有一些後續需要下載下傳的jar包,遊戲運作時的資源檔案,隻要用idea打開,後續的建構工作會自動完成,有些jar包需要去mc官網去下載下傳,非常的慢,下載下傳速度有20k左右的樣子,第一次下載下傳都很慢。第一次過後資源都下載下傳到了本地,以後就不會這麼慢了,除非版本不一樣。
将項目導入idea
選擇你的項目位置,就是你解壓mdk的檔案夾,然後以gradle的方式導入idea
然後直接下一步到完成。
導入項目就算完了。
導入後項目會自動建構。(這裡就是說的下載下傳很慢的地方,點開toggle view 你就會看到背景在幹嘛)
建構完畢後來看看項目結構
.gradle 檔案時gradle的檔案夾,可以忽略。
.idea時idea的項目标志,idea是靠這個打開項目的。删了就得重新導入。
build是gradle建構生成的。
out檔案夾這裡沒有,它是你自己mod編譯後産生的檔案夾,編譯一次生成一次。
gradle是mdk自帶的gradle工具。
run是運作用戶端時産生的檔案,遊戲存檔就在這裡面。
src是資源檔案,裡面包含了你的mod資訊,以及你的代碼。
除了build.gradle檔案其他的檔案就不用管。
這裡準備工作已經差不多了,src裡面包含了一mod例子,可以打開 ExampleMod.java 看看。
(三)運作mod
接下來就是運作mod了,但是項目裡還是缺點東西,就是mc用戶端源檔案了,forge已經把源檔案準備好了,直接運作指令就可以下載下傳。
以前版本的mdk必須要 運作 gradlew.bat idea 才能導入到idea,現在不是了,你解壓mdk後及時不運作gradlew.bat也能直接導入。但是要想運作用戶端你還得運作一個指令 。
cmd視窗,cd到項目檔案夾,運作
gradlew genIntellijRuns
看到綠色的 build success 就算完成了,然後再打開項目,點開運作選項你就能看到runClient 和runService
可以試着運作一下,在mod清單你可以看到到自己mod。
這裡的Example Mod就是自帶的mod例子
總結
gradlew setupDecompWorkspace 指令 gradlew idea 指令都不能用了,可以直接用idea打開項目,但是項目運作,還得用
g
radlew genIntellijRuns 指令去下載下傳用戶端和伺服器檔案。
完畢
參考
https://blog.csdn.net/lyh20000420/article/details/83659149
https://mcforge.readthedocs.io/en/latest/gettingstarted/