作者cybelia (@@)
看板Minecraft
標題Re: [討論] 為什麼裝mod要分成3種方式呢?
時間Wed May 15 15:27:54 2013
* 放jar檔裡面: (下稱jar mod)
修改minecraft本身提供的class,來達到自己想要的功能;
基本上這一類的mod可以做到java能做到的所有事情,
但也因為覆蓋了minecraft本身的base class,
如果不同jar mod改到同一個class,後來的會把先來的蓋掉~
常常造成不少模組裝不起來的抱怨文 (!?)
* 放mods/資料夾裡面:
這個是現在常用的模組裡最多的XD
minecraft本身其實看不懂這個資料夾,
而是由特定的jar mod來載入這裡面的模組,
如modloader系[1]、forge[2]、liteloader[3]...etc
這些特定的jar mod提供一組API來讓模組使用,
模組只能用這些API所提供的功能,但也相對地衝突的情形比較少。
其中liteloader是羽量級的,只適用不更改遊戲本身內容的模組;
forge算是最複雜的一組API,
但同時也幫模組作者們提供了可觀的基礎建設~
btw,bukkit的plugins也應該可以算這種機制...
Edit: Forge真正負責模組載入的應該是FML(forge mod loader)
但他們下載時是綁在一起的...XD
* 放coremods/資料夾裡面:
這是forge專屬的東西,算是折衷的產品 (!?)
在這裡面的模組仍然是由forge
(Edit: FML)負責載入,
但他們可以透過ASM[4]機制修改已經載入的code,
因此不用覆蓋任何base class,
又能做到絕大部份jar mods能做的事。
但這區的東西...
如果原本的code因為某些原因已經先改動了就會炸掉,
然後噴出沒人看得懂的錯誤訊息XD
(例如代碼雞核心的lava persistent功能配上mcpc+ [5]...)
Reference:
[1]
http://www.minecraftforum.net/topic/75440-v152-risugamis-mods-updated/
[2]
http://www.minecraftforge.net/
[3]
http://tinyurl.com/bve7rfm
[4]
http://asm.ow2.org/
[5]
https://github.com/MinecraftPortCentral/MCPC-Plus/issues/656
※ 引述《hfs (快樂!移民瑞士!夢想成真!)》之銘言:
: 為什麼裝mod要分成3種方式呢?
: 我用的是ftb dw20
: 裝mod分成3種方式
: 1.放mod
: 2.放jar
: 3.放core
: 請問這三種有什麼差別呢?
: 為什麼裝mod要分成3種方式呢?
: 感謝熱心回答的朋友們哦
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.240.130.86
1F:推 mattc123456c:可以加精華了 05/15 16:33
2F:推 jeff20092:這必須m 05/15 17:30
3F:推 yshinri:推 05/15 18:34
4F:推 mabikerry:代碼雞聽起來有點好吃( ̄﹁  ̄") 05/15 21:38
5F:推 yuan860721:最近禽流感嚴重 吃代碼雞的時候 記得要煮熟喔~ 05/15 21:43
※ 編輯: cybelia 來自: 111.240.130.86 (05/15 22:31)
6F:→ PixiuFox:Code Chicken Core XDDD 05/16 01:23
7F:推 dustlike:連reference都有 給推XDD 05/17 13:31
8F:→ dustlike:其實說FML是forge也沒錯,反正他們現在是綁在一起的 05/17 13:31
9F:→ dustlike:你裝了forge一定會跟著開啟FML 05/17 13:32
10F:→ jeffffliu:你也可以只裝fml(誤 05/17 21:31
11F:推 jack82822005:收精啦~ 05/17 21:46