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
有一个 活跃且有好的 关于模组制作的社区。大可放心加入并提问交流!