Mod

来自Noita Wiki
跳到导航 跳到搜索
模组制作导航
基础
入门基础Lua脚本Data.wak实用工具
制作指南
音频敌人生物群系天赋法术精灵表材料图像放射器特殊行为CMake使用
组件/实体
组件文档枚举特殊标签所有标签列表
Lua编程
Lua API实用脚本
其他信息
法术和天赋的ID声音事件魔数(Magic Numbers)
本页面 面向 模组制作者。关于 安装模组,请参阅 如何安装模组.
关于 已经存在的某个特定模组 的信息,请参阅 Noita-模组(en)百科 。


制作Noita的模组 是非常 简单 且 有趣 的,但是 这个过程 可能隐含了许多 具体实现的细节。这些页面 意在 降低 制作模组 的门槛、避开制作模组过程中常见的坑

制作模组 只需要以下 工具:

  1. 一个合适的 文本编辑器 (比如 VS Code、Sublime、Vim)
  2. 一个合适的 图像编辑器 (比如 Aseprite、Gimp、Paint.net、Photoshop)

Noita的 游戏逻辑 主要作为一个 实体组件系统(ECS,Entity Component System),以 LuaXML 语言实现。游戏中每个独立的 “东西”(敌人子弹魔杖物品 甚至包括 玩家)都是 实体,只不过构成它们的组件不同。虽然在 没有任何编程知识 的情况下,通过 简单地编辑 实体XML 或 相关的 精灵表 也可以完成很多内容,但是还是推荐对Lua有所了解。

入门

在继续下去之前,第一步是 找到 Noita本体 所在的文件夹 (大多数情况下位于 C:\Program Files (x86)\Steam\steamapps\common\Noita),然后阅读 tools_modding\READ_ME_FIRST.txt

提取数据文件

Noita的所有 基础资产精灵表脚本实体定义)都被打包在 Noita\data\data.wak 中。技术层面来说,提取这些文件并不是必须的,但是查看 文件结构 和 示例代码 会非常有帮助。

对于 Windows平台

要访问 Noita的数据文件,请按照以下步骤操作:

  1. tools_modding\ 文件夹 中的 所有文件 复制到 Noita的根目录。
  2. 运行 data_wak_unpack.bat。应该会打开 一个终端窗口。
  3. 应该会打开 一个包含Noita资源的 资源管理器窗口:%UserProfile%\AppData\LocalLow\Nolla_Games_Noita
  4. 将 这个文件夹 固定到快速访问 或 复制到 一个之后方便访问的地方
  5. 很多资源可能是 隐藏的,要查看它们的话,点击 资源管理器 的 查看 选项卡,勾选 显示/隐藏分组 中的 隐藏的项目 即可。

现在你可以直接访问 Noita的所有Lua代码、实体XML定义精灵表 啦,也就是说你现在可以 直接查看 游戏内容的秘密,所以要记得 不要剧透 哦。

对于 Linux平台

Launch options
  1. Start Noita on Steam, once, using -wizard_unpak as a launch parameter. (I.e. Right-click, Properties, General, Launch options)
  2. 这将会把 数据文件 提取到 .steam/steam/steamapps/compatdata/881100/pfx/drive_c/users/steamuser/AppData/LocalLow/Nolla_Games_Noita/
  3. Remove the launch parameter again.
  4. Bookmark or copy this folder somewhere for easy later access.

下一步

已经开了个好头,那么接下来进一步阅读:

需要帮助?

Noita Discord 服务器#modding-general#modding-support 有一个 活跃且有好的 关于模组制作的社区。大可放心加入并提问交流!

相关