切换语言: Deutsch English Русский Українська

Modding/zh: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
Update New Page
m en page adapted change from here
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}{{Translation verification|revisionID=214723}}
本页面将会带领您了解如何下载和安装mod,并且为方便您创建一个mod时所需而提供了一个和mod开发相关的概述。有关更详细的mod开发说明,您可以查看[[Tutorial:Modding_tutorial| mod开发教程]].如果您正在查找mod开发所需的相关API,请前往[http://lua-api.factorio.com/latest/ 官方 Factorio Lua API 文档](注意,该文档为英文)查看。如果您希望知道在哪里安装zip格式的mod,请查看[[Application_directory|应用程序目录]]。
本页面将会介绍{{Translation|Modding}}(Mod)的下载和安装方法,并简述创建模组时的注意事项。关于模组开发的详细内容,可以参阅{{L|Tutorial:Modding tutorial}}。如果需要查找模组API,请查阅[http://lua-api.factorio.com/latest/ 官方Lua-API文档](英文)。如果需要了解如何安装压缩包格式的模组,请参考{{L|Application directory}}页面上的相关说明。


== Mod 下载 & 安装 ==
== 下载并安装模组 ==
玩家可以从以下位置下载模组:
* 模组平台(游戏内置)
* [https://mods.factorio.com/ 模组平台(网站)]
* [https://forums.factorio.com/viewforum.php?f=14 官方论坛模组区]


您可以在以下链接下载MOD:
=== 模组平台(游戏内置) ===
游戏主菜单中的“模组”部分是获取模组的最便捷方式。它集成了下载和安装模组、检查模组更新、启用/禁用模组等常用功能。


* [https://mods.factorio.com/ Mod门户站 (网页版)]
=== 模组平台(网站) ===
* Mod门户站 (游戏内)
[https://mods.factorio.com/ 模组平台](网站)是官方设立的模组托管平台。模组作者会在此上传他们的作品,玩家可以在此找到旧版本和讨论内容。模组会以ZIP文件形式提供给玩家,通过复制(而非解压缩)到[[Application directory/zh#用户数据目录|用户数据目录]]中的“mods”文件夹进行安装。可以在游戏主菜单中查看模组列表以验证安装是否成功。
* [https://forums.factorio.com/viewforum.php?f=14&sid=68de6ef9ee46dcd7566653335917752b 论坛Mod板块]


=== Mod门户站 (网页版) ===
=== 官方论坛模组区 ===
模组作者会在[https://forums.factorio.com/viewforum.php?f=14 官方论坛模组区]维护相关帖子以支持他们的工作。其中可能包含实验性的模组或更新,这类内容不会在模组平台上发布。它们将以ZIP文件的形式发布,可以是帖子的附件,也可以是托管网站的连接。这些模组的安装方式与从平台上下载的模组是相同的。


Factorio的开发者创建论坛版块 [https://mods.factorio.com/ mod门户站 (网页版)] 使玩家可以分享各自制作的mod。 注意,从论坛下载的mod是zip格式,为了安装mod你需要将zip文件复制到 [[Application_directory#User_Data_directory|user data directory]] 并且不需要解压缩它。 你可以在游戏主菜单查看mod列表中是否存在该mod来检查你是否正确安装该mod。
=== 依赖关系 ===
大多数模组使用游戏的基础模组(base mod)作为它们的唯一依赖项,无需玩家单独安装。然而有一些模组可能需要玩家安装其它模组才能运行,并且还可以为玩家推荐安装其它模组以扩展其功能。


=== Mod门户站 (游戏内) ===
==== 必需依赖 ====
 
当一个模组需要安装另一个模组才能运行,第二个模组就是第一个模组的必需依赖项。游戏内置的模组平台在下载任意模组时都会自动下载相关的必需依赖项。
在网页 [https://mods.factorio.com/ mod门户站 (网页版)] 上的mod你可以在游戏内主菜单的mod下载页面查看。 游戏内置的mod下载与网页下载的不同主要在于它可以自动的下载与安装,并且可以随时启用和停用mod(网页版下载的也可以随时启用和停用!)。
 
=== 论坛Mod板块 ===
 
某些mod制作者将他们的mod上传到官方论坛子板块[https://forums.factorio.com/viewforum.php?f=14&sid=68de6ef9ee46dcd7566653335917752b 论坛Mod板块]来展示而没有提交至mod门户站,或者
想在更新发布之前获取交流反馈。这类mod被作为附件上传。有时,你从论坛下载的mod同样使用了zip格式,你仅仅需要将它复制到[[Application_directory#User_Data_directory|user data directory]]就表示安装完成了,不需要解压缩。你可以在游戏主菜单查看mod列表中是否存在该mod来检查你是否正确安装该mod。
 
=== Mod依赖 ===
 
大多数的mod使用了factorio的base mod(包含全部官方内容的mod)。然而有些mod也可能会必须依赖于其他mod或者在其他可选依赖的mod安装之后可以提供额外功能。
 
==== 必须依赖 ====
 
当你安装一个mod时,它必须依赖于某个另外的mod才能工作,这种mod就被叫做必须依赖。


==== 可选依赖 ====
==== 可选依赖 ====
当一个模组建议安装另一个模组,但并不强制需要另一个模组才能运行,第二个模组就是第一个模组的可选依赖项。玩家可以按需安装可选依赖项,这些模组可以扩展已安装模组的功能,以增强该模组提供的游戏体验。


当一个mod建议你安装另一个mod并且在不安装被建议的mod也能工作时,这种mod即为可选依赖。
==== 不兼容 ====
依赖关系也可以用来声明一个模组与其他模组不兼容,以防止它们一起加载。


==== 注意 ====
==== 自动同步存档和多人游戏中的模组 ====
当玩家尝试加入使用模组的多人游戏时,游戏将提供与服务器同步模组的选项。确认同步模组后,游戏会自动下载并启用多人服务器使用的所有模组。玩家还可以同步模组的启动设置,当与多人服务器同步模组时,游戏会下载与服务器使用版本完全相同的模组版本。


当前的游戏内置mod下载平台不会下载任何依赖mod,因此那些依赖的mod需要玩家手动下载。然而这个功能在将来会被实现(该功能以及被提上日程)。
如果玩家使用未安装相应模组的游戏加载使用了模组的存档/模组设置已变更的存档时,游戏将提供与存档同步模组的选项。确认同步模组后,游戏会自动下载并启用存档使用的所有模组。玩家还可以同步模组的启动设置,当与存档同步模组时,游戏会默认使用最新版本的模组。


== 开始开发一款Mod ==
玩家可以通过在“载入存档”菜单中点击右上角的“保存游戏时同步模组”按钮以手动将模组同步到存档文件。默认情况下,这会启用模组的最新版本。使用{{Keybinding|ctrl|lmb}}点击“保存游戏时同步模组”按钮时,游戏将使用与存档完全相同的模组版本。
: ''另请参见: [[Tutorial:Modding]]''


== 模组开发 ==
: ''参见:{{L|Tutorial:Modding tutorial}}''
=== API 文档 ===
=== API 文档 ===
* [https://lua-api.factorio.com/latest 模组API文档] - 模组API文档网站的概述页面
** [https://lua-api.factorio.com/latest/index-prototype.html 原型文档] — 可以添加到游戏中的原型,以及它们的属性
** [https://lua-api.factorio.com/latest/index-runtime.html Runtime API文档] — 监听事件,改变玩家周围的世界
* [[Tutorial:Mod structure/zh|模组结构]] — 所有模组的基本结构
* [https://github.com/wube/factorio-data 异星工厂GitHub数据库] — 跟踪不同版本之间Lua原型定义的变化。
* [[Data.raw]] — 列出所有内置原型的名称和类型


* [[Prototype definitions|原型文档]] — 可以在游戏中添加哪些原型,以及它们的属性
<small>''(注:除模组结构外,以上文档均为英文)''</small>
* [http://lua-api.Factorio.com/latest 最新的API文档] — 监听事件,改变玩家周围的世界
* [https://github.com/wube/factorio-data Factorio 在GitHub上的数据存储库] — 跟踪在版本之间异星工厂的Lua原型定义的变化。
* [[Data.raw]] — 列出所有内置原型的名称和类型


=== Lua 脚本 ===
=== Lua 脚本 ===
 
需要使用Lua编程语言(版本: 5.2.1)来制作异星工厂的任意模组。游戏的模组系统会在游戏启动和数据构建阶段将代码注入游戏。 可以使用任意文本编辑器编写模组代码。具有Lua语法高亮功能的知名文本编辑器包括Notepad++和Visual Studio Code。
你需要使用 Lua(版本: 5.2.1) 编程语言来制作 Factorio 的任意Mod。 游戏的Mod系统将会把你的代码在游戏启动和数据构建阶段注入游戏。 你可以使用任意文本编辑器来编辑你的Mod。 已知为 Lua 提供代码提示以及高亮的编辑器有 [https://notepad-plus-plus.org Notepad++] 和 [http://www.sublimetext.com Sublime Text]


有用的 Lua 资源:
有用的 Lua 资源:
* [http://lua-users.org/wiki/TutorialDirectory Lua 教程]
* [http://lua-users.org/wiki/TutorialDirectory Lua 教程]
* [https://www.lua.org/manual/5.2/ Lua 参考手册]
* [https://www.lua.org/manual/5.2/ Lua 参考手册]
* [https://repl.it/languages/lua Lua REPL] : 一个 Lua 在线运行环境,本质上是一个沙盒
* [https://repl.it/languages/lua Lua REPL] : 一个 Lua 在线运行环境,本质上是一个沙盒


=== Mod的基本结构 ===
=== 第三方工具 ===
 
社区成员贡献了各种工具以帮助模组开发,例如为IDE(集成开发环境)提供自动补全、调试器以及用于自动化翻译或打包等常见任务的脚本。
Factorio 的Mod是一个Zip格式的文件,里面包含了 Factorio 在加载Mod时会查找的几个重要文件。下面列出了这些文件,必需得文件显示为红色字体
 
* ExampleMod_0.0.1.zip
** <span style="color:#FF5555">info.json</span>
** control.lua
** data.lua
** data-updates.lua
** data-final-fixes.lua
 
=== 授权信息 ===
 
随着'''v0.11'''版本的到来所有mod需要有一个许可类型。 如果一个MOD没有指定许可类型,将使用默认的 [http://creativecommons.org/licenses/by-nc/4.0 Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)]。然而,可以有目的地使Mod使用[https://choosealicense.com/licenses/unlicense/ unlicensed] 协议,使代码可以被公共域修改及分发。Factorio Mod最受欢迎的分发许可证为 [https://choosealicense.com/licenses/mit/ MIT license] 和 [https://choosealicense.com/licenses/gpl-3.0/ GPLv3] license.


其他有用的法律链接包括:
* [https://forums.factorio.com/viewforum.php?f=135 官方论坛模组开发工具区]


* [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=6202&p=48971#p48968 关于允许使用base-mod内容的论坛帖子]
== 参见 ==
* [http://www.factorio.com/terms-of-service Factorio服务条款]
* [[:Category:Technical|技术文档]] — 与模组无关的技术格式和API的文档(英文)
* [https://choosealicense.com/licenses/ 选择许可类型]


== See also ==
{{C|Modding/zh{{!}}#}}
* [[:Category:Technical]] — 与API无关的格式文档

Latest revision as of 15:29, 20 June 2025

本页面将会介绍模组(Mod)的下载和安装方法,并简述创建模组时的注意事项。关于模组开发的详细内容,可以参阅教程:模组开发。如果需要查找模组API,请查阅官方Lua-API文档(英文)。如果需要了解如何安装压缩包格式的模组,请参考应用程序目录页面上的相关说明。

下载并安装模组

玩家可以从以下位置下载模组:

模组平台(游戏内置)

游戏主菜单中的“模组”部分是获取模组的最便捷方式。它集成了下载和安装模组、检查模组更新、启用/禁用模组等常用功能。

模组平台(网站)

模组平台(网站)是官方设立的模组托管平台。模组作者会在此上传他们的作品,玩家可以在此找到旧版本和讨论内容。模组会以ZIP文件形式提供给玩家,通过复制(而非解压缩)到用户数据目录中的“mods”文件夹进行安装。可以在游戏主菜单中查看模组列表以验证安装是否成功。

官方论坛模组区

模组作者会在官方论坛模组区维护相关帖子以支持他们的工作。其中可能包含实验性的模组或更新,这类内容不会在模组平台上发布。它们将以ZIP文件的形式发布,可以是帖子的附件,也可以是托管网站的连接。这些模组的安装方式与从平台上下载的模组是相同的。

依赖关系

大多数模组使用游戏的基础模组(base mod)作为它们的唯一依赖项,无需玩家单独安装。然而有一些模组可能需要玩家安装其它模组才能运行,并且还可以为玩家推荐安装其它模组以扩展其功能。

必需依赖

当一个模组需要安装另一个模组才能运行,第二个模组就是第一个模组的必需依赖项。游戏内置的模组平台在下载任意模组时都会自动下载相关的必需依赖项。

可选依赖

当一个模组建议安装另一个模组,但并不强制需要另一个模组才能运行,第二个模组就是第一个模组的可选依赖项。玩家可以按需安装可选依赖项,这些模组可以扩展已安装模组的功能,以增强该模组提供的游戏体验。

不兼容

依赖关系也可以用来声明一个模组与其他模组不兼容,以防止它们一起加载。

自动同步存档和多人游戏中的模组

当玩家尝试加入使用模组的多人游戏时,游戏将提供与服务器同步模组的选项。确认同步模组后,游戏会自动下载并启用多人服务器使用的所有模组。玩家还可以同步模组的启动设置,当与多人服务器同步模组时,游戏会下载与服务器使用版本完全相同的模组版本。

如果玩家使用未安装相应模组的游戏加载使用了模组的存档/模组设置已变更的存档时,游戏将提供与存档同步模组的选项。确认同步模组后,游戏会自动下载并启用存档使用的所有模组。玩家还可以同步模组的启动设置,当与存档同步模组时,游戏会默认使用最新版本的模组。

玩家可以通过在“载入存档”菜单中点击右上角的“保存游戏时同步模组”按钮以手动将模组同步到存档文件。默认情况下,这会启用模组的最新版本。使用CTRL + 鼠标左键点击“保存游戏时同步模组”按钮时,游戏将使用与存档完全相同的模组版本。

模组开发

参见:教程:模组开发

API 文档

(注:除模组结构外,以上文档均为英文)

Lua 脚本

需要使用Lua编程语言(版本: 5.2.1)来制作异星工厂的任意模组。游戏的模组系统会在游戏启动和数据构建阶段将代码注入游戏。 可以使用任意文本编辑器编写模组代码。具有Lua语法高亮功能的知名文本编辑器包括Notepad++和Visual Studio Code。

有用的 Lua 资源:

第三方工具

社区成员贡献了各种工具以帮助模组开发,例如为IDE(集成开发环境)提供自动补全、调试器以及用于自动化翻译或打包等常见任务的脚本。

参见

  • 技术文档 — 与模组无关的技术格式和API的文档(英文)