精華區beta Minecraft 關於我們 聯絡資訊
※ 引述《hfs (快樂!移民瑞士!夢想成真!)》之銘言: : A.請問mod API是什麼? API - Application Programming Interface API 就是兩組程式之間互相溝通所使用的一套規範、規則, 只要遵守 API 的規定來寫程式,這兩組程式就可以互通。 以 Minecraft 來講,兩組程式就是 Minecraft 主程式和任意一個模組。 目前 Minecraft 由於沒有 API (也就是官方沒有制定一套規則), 所以現行的模組實際上都是由某團隊 (MCP 團隊) 先將遊戲主程式反組譯, 變成原始碼的格式後,再由各模組作者根據 MCP 原始碼來改。 假設原本的主程式有 func1() func2() func3() 三個功能, 模組 A 想改 func1(),他就要根據 MCP 的原始碼去寫一個相容的新 func1(), 然後必須將舊的 func1() 蓋掉,主程式才會呼叫到新 func1()。 這時如果模組 B 也想改 func1(),但是他是加入不同的功能, 想要跟 A 同時存在的話,B 就必須改 A 的 func1() 而不是原版的 func1(), 不然 B 蓋掉之後 A 改的新東西就消失了。 這就是為什麼現在的 Minecraft 很容易有模組相衝,因為他們改到同一個功能, 導致後裝的模組會蓋掉先裝的模組程式,先裝的模組就不完整了。 : B.他可以消除各個MOD之間相衝的問題嗎? 只要是符合 API 規定的模組,大部分的衝突都可以解決, 但是邏輯上的衝突卻是不可能解決的。 例如模組 A 是讓你砍一塊原木就整棵樹倒下來, 模組 B 是讓你砍一塊原木後,樹的其他原木方塊會像樹葉一樣慢慢掉下來。 由於兩種功能不可能同時存在 (邏輯上的矛盾), 所以就算 A 跟 B 都使用 API 來寫,還是會相衝。 : 還是說只是讓各個MOD安裝的方式統整起來而已? 對玩家而言,他最大的好處就是排除掉絕大多數的相衝問題, 並且讓裝模組 (以後叫外掛或插件) 變得跟裝材質包一樣, 把檔案丟進資料夾就好。 : C.是不是只要有了mod API之後. : 就不用再有FORGE或者MODLOADER或者MCPATCHER了? : 謝謝好心人幫忙解答疑惑 那要看模組想要提供什麼功能。 如果模組想做的東西,API 並沒有提供,那麼這個模組仍然得改原始程式。 只要這類模組一多起來,Forge/ModLoader/PlayerAPI 這類東西還是會出現, MCPatcher 也就仍然有他的地位。 不過基本上 ModLoader/Forge 這種相容性的介面層應該是最快被取代, 因為他們的本質上就是一套 API,只是由玩家自製的 API 而已, 現在有了官方 API 後,他們會是最先被取代掉的模組。 補充: 實際上 API 出來後,現在我們所知的「模組」仍然會存在, 所以也很可能 MODLoader/Forge 幾乎不受影響, 只是可能需要用到他們的東西會變少而已, 剩下真的大幅修改主程式的模組才會需要用到 MODLoader/Forge。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.74.160
pokyaprl:看麥塊長知識。 08/19 15:24
t19910422:專業給推 08/19 15:25
※ 編輯: zxcvforz 來自: 114.25.74.160 (08/19 15:27)
miau9202:僅求MODLoader跟Forge 也遵循官方API的格式,別再衝突了 08/19 17:34
yuan860721:專業推 08/19 17:35
er230059:官方好像有要弄一套API 不過到現在都還沒出現 08/19 18:02
er230059:題外話 Mod用的程式語言... Java寫起來真討厭... 08/19 18:02
zxcvforz:API已經在寫了,1.4很可能就會一起出來 08/19 18:15
bulon:長知識推推 08/19 18:27
cangming:不過這樣一來MOD開發者就幾乎要重寫了 但是如果跟現行API 08/19 18:43
cangming:差不多的話 應該能節省不少時間 不過會不會有Moder還是 08/19 18:44
cangming:不用官方API一樣去改程式碼呢 = =" 08/19 18:44
cangming:喔 看到了 XD 只希望官方的API會很強大 XD 08/19 18:47
chocoya:專業解說 推 08/20 02:55
linji:希望趕快出來>< 不然裝模組好麻煩喔 08/20 07:37
lulanee:不覺得官方API出來就會比較好裝模組 保證更複雜-.- 08/20 09:03
lulanee:不管是對寫mod還是用mod的人來說 08/20 09:04
linji:真希望有天模組丟到資料夾就能用~.~ 08/20 10:17
Nuaaukw:官方API出來後user一定比較輕鬆,但是coder就不一定了。 08/20 11:15
Nuaaukw:如果麻將搞出半殘的API就..."Orz 08/20 11:16