Mod
跳至導覽
跳至搜尋
基礎 |
---|
入門 • 基礎 • Lua腳本 • Data.wak • 實用工具 |
製作指南 |
音頻 • 敵人 • 生物群系 • 天賦 • 法術 • 精靈表 • 材料 • 圖像放射器 • 特殊行為 • CMake使用 |
組件/實體 |
組件文檔 • 枚舉 • 特殊標籤 • 所有標籤列表 |
Lua編程 |
Lua API • 實用腳本 |
其他信息 |
法術和天賦的ID • 聲音事件 • 魔數(Magic Numbers) |
- 本頁面 面向 模組製作者。關於 安裝模組,請參閱 如何安裝模組.
- 關於 已經存在的某個特定模組 的信息,請參閱 Noita-模組(en)百科 。
製作Noita的模組 是非常 簡單 且 有趣 的,但是 這個過程 可能隱含了許多 具體實現的細節。這些頁面 意在 降低 製作模組 的門檻、避開製作模組過程中常見的坑
製作模組 只需要以下 工具:
- 一個合適的 文本編輯器 (比如 VS Code、Sublime、Vim)
- 一個合適的 圖像編輯器 (比如 Aseprite、Gimp、Paint.net、Photoshop)
Noita的 遊戲邏輯 主要作為一個 實體組件系統(ECS,Entity Component System),以 Lua 和 XML 語言實現。遊戲中每個獨立的 「東西」(敵人、子彈、魔杖、物品 甚至包括 玩家)都是 實體,只不過構成它們的組件不同。雖然在 沒有任何編程知識 的情況下,通過 簡單地編輯 實體XML 或 相關的 精靈表 也可以完成很多內容,但是還是推薦對Lua有所了解。
入門
在繼續下去之前,第一步是 找到 Noita本體 所在的文件夾 (大多數情況下位於 C:\Program Files (x86)\Steam\steamapps\common\Noita
),然後閱讀 tools_modding\READ_ME_FIRST.txt
。
提取數據文件
Noita的所有 基礎資產(精靈表、腳本、實體定義)都被打包在 Noita\data\data.wak
中。技術層面來說,提取這些文件並不是必須的,但是查看 文件結構 和 示例代碼 會非常有幫助。
對於 Windows平台
要訪問 Noita的數據文件,請按照以下步驟操作:
- 將
tools_modding\
文件夾 中的 所有文件 複製到 Noita的根目錄。 - 運行
data_wak_unpack.bat
。應該會打開 一個終端窗口。 - 應該會打開 一個包含Noita資源的 資源管理器窗口:
%UserProfile%\AppData\LocalLow\Nolla_Games_Noita
。 - 將 這個文件夾 固定到快速訪問 或 複製到
一个之后方便访问的地方
。 - 很多資源可能是 隱藏的,要查看它們的話,點擊 資源管理器 的
查看
選項卡,勾選显示/隐藏
分組 中的隐藏的项目
即可。
現在你可以直接訪問 Noita的所有Lua代碼、實體XML定義、精靈表 啦,也就是說你現在可以 直接查看 遊戲內容的秘密,所以要記得 不要劇透 哦。
對於 Linux平台
- Start Noita on Steam, once, using
-wizard_unpak
as a launch parameter. (I.e. Right-click, Properties, General, Launch options) - 這將會把 數據文件 提取到
.steam/steam/steamapps/compatdata/881100/pfx/drive_c/users/steamuser/AppData/LocalLow/Nolla_Games_Noita/
- Remove the launch parameter again.
- Bookmark or copy this folder somewhere for easy later access.
下一步
已經開了個好頭,那麼接下來進一步閱讀:
- 瀏覽 模組製作 基礎、調試、最佳實踐
- 將
mods\example
複製一份並對它進行一些更改,讓你更熟悉 文件結構。 - 熟悉
tools_modding\
目錄下的 文檔:component_documentation.txt
(組件文檔)lua_api_documentation.txt
(Lua API文檔)- 這些是你能找到的 始終保持最新的文檔。當下而言,它們是你最好的朋友。
- 下載並查看 其它模組製作者製作的模組,編輯 這些模組,感受一下發生了什麼變化。
需要幫助?
在 Noita Discord 服務器 的 #modding-general
和 #modding-support
有一個 活躍且有好的 關於模組製作的社區。大可放心加入並提問交流!