【Minecraft】完全顛覆你的想像💥💥💥
【魔杌傳說】你確定這是麥塊嗎?
Tags: 麥塊 模組
鬼鬼的御宅生活
About author
阿鬼(鬼鬼)是一名喜愛ACG的御宅族,在這邊分享遊戲日常給大家 ヾ(@゜▽゜@)ノ
目前熱衷於Minecraft、Switch、寶可夢與各種有趣遊戲 ლ(•̀ ω •́ ლ)
喜歡日式動漫文化,也喜歡大型音樂機台,比較常玩Jubeat與太鼓達人♪
希望藉由鬼鬼影片帶大家進入有趣的遊戲世界 (σ≧▽≦)σ
為大家打發無聊的現實時光,增添一絲御宅幸福感(〃・∪・`)
鬼鬼頻道:https://www.youtube.com/user/phan11171117
嗨嗨~我是鬼鬼?是一名遊戲類Youtuber,很宅。 合作提案請寄至:phan11171117
嗨嗨~我是鬼鬼?是一名遊戲類Youtuber,很宅。 合作提案請寄至:phan11171117
麥塊 模組 在 Re: [討論] 請問mod API是什麼? - 看板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
... <看更多>