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

開發模組時,如果能直接取用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呢!

留言

此網誌的熱門文章

Minecraft基岩版多人連線教學: 方法一覽

【詳細解說】什麼是Minecraft基岩版,跟Java版有什麼差?

Minecraft基岩版安裝模組(Add-On)&資源包&光影教學