模组:創建 SMAPI 模組
不完整的翻譯 本文或部分尚未完全翻譯成中文。
歡迎您通過編輯幫助其建設。 |
←目錄
要為遊戲創建 SMAPI 模組?教程就在這。要使用模組,請參閱 使用教程。要創建內容包模組,請參閱 模組:Content Patcher
介紹
什麼是 SMAPI 模組?
SMAPI 模組 使用改裝接口來擴展遊戲邏輯。可以在遊戲中發生某些情況時做出響應(例如,將對象放置在世界中),定期運行代碼(例如每個更新周期一次),更改遊戲的資源和數據等。SMAPI 模組使用 C# 編寫,使用 .NET Framework 和 Stardew Valley 將 XNA / MonoGame 用於遊戲邏輯(繪製到屏幕,用戶輸入等)。
為什麼模組使用 SMAPI?
SMAPI 可以做許多事情,例如:
- 將模組加載到遊戲中。沒有 SMAPI 就無法加載代碼模組。
- 提供接口和事件,能夠以其他方式與遊戲互動。有一些簡化的接口,可用於更改遊戲資源/數據,玩家配置,轉換,反映等。這些內容將在本指南的後面部分介紹。
- 在跨平台兼容時進行重構,這樣一來就不必擔心遊戲在 Linux/Mac/Windows 版本之間的差異。
- 重構模組以更新它。在常見情況下,SMAPI 會檢測並修復遊戲更新所破壞的模組代碼。
- 攔截錯誤。如果模組崩潰或發生錯誤,SMAPI 將攔截該錯誤,在控制台窗口中顯示錯誤詳細信息,並且在大多數情況下自動恢復遊戲。這意味着減少遊戲意外崩潰,並且可以更輕鬆地解決錯誤。
- 提供更新檢查。當有新版本可用時,SMAPI 會自動提醒玩家。
- 提供兼容性檢查。SMAPI 會自動檢測模組何時不兼容,並在它導致問題之前將其禁用,以防止遊戲爆炸。
我能製作一個模組嗎?
是的!本指南將幫助你逐步創建一個簡單的模組。然後你可以繼續學習,讓它做您想做的事即可。 如果你是編程新手,許多模組開發人員開始時幾乎沒有或完全沒有編程經驗。如果你下定決心,當然可以沿途學習,但是您應該為陡峭的學習曲線做好準備。剛開始時不要太過於自信,弄清楚它的時候,最好從一個小的模組開始。一開始很容易變得不知所措並放棄。模組社區非常熱情,所以不要害怕問問題!
如果你已經具備編程經驗,那應該沒問題。具有 C# 或 Java 的編程經驗將使事情變得容易,但這並不重要。如果不熟悉 C#,則可以瀏覽下面的「學習C#」參考資料以填補所有空白。
我可以不使用 SMAPI 來製作模組嗎?
當然。許多的 SMAPI 模組支持 內容包,可以讓你提供它們所使用的 JSON 文本文件、圖像等。例如,你可以 使用 Content Patcher 來編輯遊戲的貼圖並且不需要任何編程技術。本指南的其餘部分是關於創建新的 SMAPI 模組的。有關內容包,請參閱 模組:Content Patcher (或模組的文檔(如果為其他mod創建內容包)).