快轉到主要內容

如何反編譯Minecraft和查看原始碼 (fabric + loom)

分類   遊戲攻略 Minecraft
標籤   Minecraft Java Fabric Mod
🗓️ 民國110年 辛丑年
✍ 切換正體/簡體字

開發模組時,如果能直接取用Minecraft內建的函數來生成實體或製作物品的話就再好不過了,省得重新發明輪子。此外,研究Minecraft原始碼可以讓你對遊戲機制有更深層的了解,像是知道為何實體是分成被動與攻擊型生物。

可是Minecraft是閉源的,就算自行反編譯jar檔也只會看到一堆混淆過的程式碼。因此有了社群反編譯的版本,包括Minecraft Coder Pack和Yarn ,透過這些工具就能看到真正的Minecraft原始碼,當然社群反編譯的也不是100%正確,但要看原版的實現方法已經夠了。

這篇文章使用IDEA + loom來建立專案,並查看Minecraft原始碼。

影片版教學:

  1. Github下載fabirc範本模組,解壓縮。(這個檔案是官方準備的範本,你可以用這個為基礎開發fabric模組。)

  2. 開啟 IDEA,Open -> 將該資料夾當作專案開啟。

  3. 點開左邊的 “External libraries”,裡面會有一個"minecraft-1.17.1-mapped-net.fabricmc.yarn-1.17.1+build.39-v2"的資料夾,這個就是loom反編譯好的Minecraft程式。

  4. Minecraft遊戲主程式位於net/minecraft/,裡面可以清楚看到程式碼,例如這是苦力怕的:

IDEA也有一個很好用的功能,選中該類別,按下CTRL + H,就能查看繼承關係圖。原來所有的怪物都是繼承自HostileEntity呢!

相關文章

Fabric + Geckolib模組新增生物實體教學
分類   遊戲攻略 Minecraft
標籤   Fabric Mod BlockBench
MCC Tool Chest:Java版與基岩版世界互相轉檔
分類   遊戲攻略 Minecraft
標籤   Minecraft Bedrock Minecraft Java
【解決方法】Please switch to 'Mojang' mode to play with your original Account!
分類   遊戲攻略 Minecraft
標籤   Minecraft Java

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請貼Imgur或Postimages。