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

Modding/zh: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
 
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}
本页面将会带领您了解如何下载和安装mod,并且为方便您创建一个mod时所需而提供了一个和mod制作相关的概述。有关更详细的mod制作说明,您可以查看[[Tutorial:Modding_tutorial| mod制作教程]].如果您正在查找mod制作相关API,请前往该链接[http://lua-api.factorio.com/latest/ official Factorio Lua API documentation](注意,该api为英文)。如果您希望如何安装zip格式的mod,请查看[[Application_directory|应用程序目录]]。
本页面将会带领您了解如何下载和安装mod,并且为方便您创建一个mod时所需而提供了一个和mod开发相关的概述。有关更详细的mod开发说明,您可以查看[[Tutorial:Modding_tutorial| mod开发教程]].如果您正在查找mod开发所需的相关API,请前往[http://lua-api.factorio.com/latest/ 官方 Factorio Lua API 文档](注意,该文档为英文)查看。如果您希望知道在哪里安装zip格式的mod,请查看[[Application_directory|应用程序目录]]。


== MOD 下载 & 安装 ==
== Mod 下载 & 安装 ==


您可以在以下链接下载MOD:
您可以在以下链接下载MOD:


* [https://mods.factorio.com/ Mod portal (网页)]
* [https://mods.factorio.com/ Mod门户站 (网页版)]
* Mod portal (游戏内)
* Mod门户站 (游戏内)
* [https://forums.factorio.com/viewforum.php?f=14&sid=68de6ef9ee46dcd7566653335917752b 论坛mod板块]
* [https://forums.factorio.com/viewforum.php?f=14&sid=68de6ef9ee46dcd7566653335917752b 论坛Mod板块]


=== Mod portal (website) ===
=== Mod门户站 (网页版) ===


Factorio的开发者创建论坛版块 [https://mods.factorio.com/ mod portal (website)] 使玩家可以分享各自制作的mod。 注意,从论坛下载的mod是zip格式,为了安装mod你需要将zip文件复制到 [[Application_directory#User_Data_directory|user data directory]] 并且不需要解压缩它。 你可以在游戏主菜单查看mod列表中是否存在该mod来检查你是否正确安装该mod。
Factorio的开发者创建论坛版块 [https://mods.factorio.com/ mod门户站 (网页版)] 使玩家可以分享各自制作的mod。 注意,从论坛下载的mod是zip格式,为了安装mod你需要将zip文件复制到 [[Application_directory#User_Data_directory|user data directory]] 并且不需要解压缩它。 你可以在游戏主菜单查看mod列表中是否存在该mod来检查你是否正确安装该mod。


=== Mod portal (in-game) ===
=== Mod门户站 (游戏内) ===


在网页 [https://mods.factorio.com/ mod portal (website)] 上的mod你可以在游戏内主菜单的mod下载页面查看。 游戏内置的mod下载与网页下载的不同主要在于它可以自动的下载与安装,并且可以随时启用和停用mod(网页版下载的也可以随时启用和停用!)。
在网页 [https://mods.factorio.com/ mod门户站 (网页版)] 上的mod你可以在游戏内主菜单的mod下载页面查看。 游戏内置的mod下载与网页下载的不同主要在于它可以自动的下载与安装,并且可以随时启用和停用mod(网页版下载的也可以随时启用和停用!)。


=== Mod subforum ===
=== 论坛Mod板块 ===


某些mod制作者将他们的mod上传到官方论坛子板块[https://forums.factorio.com/viewforum.php?f=14&sid=68de6ef9ee46dcd7566653335917752b mod subforum]来展示而没有提交至mod portal,或者
某些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同样使用了zip格式,你仅仅需要将它复制到[[Application_directory#User_Data_directory|user data directory]]就表示安装完成了,不需要解压缩。你可以在游戏主菜单查看mod列表中是否存在该mod来检查你是否正确安装该mod。


=== mod依赖 ===
=== Mod依赖 ===


大多数的mod使用了factorio的base mod(包含全部官方内容的mod)。然而有些mod也可能会[[必须依赖]]于其他mod或者在其他[[可选依赖]]的mod安装之后可以提供额外功能。
大多数的mod使用了factorio的base mod(包含全部官方内容的mod)。然而有些mod也可能会必须依赖于其他mod或者在其他可选依赖的mod安装之后可以提供额外功能。


==== 必须依赖 ====
==== 必须依赖 ====
Line 35: Line 35:
当一个mod建议你安装另一个mod并且在不安装被建议的mod也能工作时,这种mod即为可选依赖。
当一个mod建议你安装另一个mod并且在不安装被建议的mod也能工作时,这种mod即为可选依赖。


==== 注意 ====
==== 不兼容 ====


当前的游戏内置mod下载平台不会下载任何依赖mod,因此那些依赖的mod需要玩家手动下载。然而这个功能在将来会被实现(该功能以及被提上日程)。
依赖关系也可以用来声明一个 mod 与其他 mod 不兼容,从而阻止它们一起加载。


== 开始工作 ==
== 开始开发一款Mod ==
: ''另请参见: [[Tutorial:Modding]]''


=== API 文档 ===


大纲在这里 [[Mods| Mod列表]] [http://www.factorioforums.com/forum/index.php Factorio forum].
* [[Prototype definitions|原型文档]] — 可以在游戏中添加哪些原型,以及它们的属性
* [http://lua-api.Factorio.com/latest 最新的API文档] — 监听事件,改变玩家周围的世界
* [https://github.com/wube/factorio-data Factorio 在GitHub上的数据存储库] — 跟踪在版本之间异星工厂的Lua原型定义的变化。
* [[Data.raw]] — 列出所有内置原型的名称和类型


从这里开始学习会让你感到很轻松 [http://www.factorioforums.com/forum/viewforum.php?f=25 modding-Help-Board].这个社区总是有很多基佬回答具体问题。往往只要等待几分钟就有回复。 或者你可以试试 [[Modding FAQ]] 页面.
=== Lua 脚本 ===


== 授权信息 ==
你需要使用 Lua(版本: 5.2.1) 编程语言来制作 Factorio 的任意Mod。 游戏的Mod系统将会把你的代码在游戏启动和数据构建阶段注入游戏。 你可以使用任意文本编辑器来编辑你的Mod。 已知为 Lua 提供代码提示以及高亮的编辑器有 [https://notepad-plus-plus.org Notepad++] 和 [http://www.sublimetext.com Sublime Text]


随着v0.11版本的到来所有mod需要有一个作者声明。 如果一个MOD没有作者声明,将被视为同意开源MOD代码,与所有玩家共享:[http://creativecommons.org/licenses/by-nc/4.0 Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)].
有用的 Lua 资源:


附录
* [http://lua-users.org/wiki/TutorialDirectory Lua 教程]
* [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=6202&p=48971#p48968 this forum article].
* [https://www.lua.org/manual/5.2/ Lua 参考手册]
:作者也在文中指出, 仅仅能使用 base-mod (特指Factorio中的这一部分) 来创建新的MOD, 但是不能用来 "在异星工厂游戏之外开发新的软件".
* [https://repl.it/languages/lua Lua REPL] : 一个 Lua 在线运行环境,本质上是一个沙盒
* http://www.factorio.com/terms-of-service


== 从游戏存档(地图)中创建一个方案(scenario) ==
=== Mod的基本结构 ===


一个常常被提及的问题是如何从一个地图创建一个方案(scenario)(也可以通过地图编辑器创建一个方案):
Factorio 的Mod是一个Zip格式的文件,里面包含了 Factorio 在加载Mod时会查找的几个重要文件。下面列出了这些文件,必需得文件显示为红色字体
[http://www.factorioforums.com/forum/viewtopic.php?f=18&t=2844 Factorio can convert them] ([http://www.factorioforums.com/forum/viewtopic.php?f=5&t=3801&p=28289#p28289 see also this post]):
./bin/prod/factorio --map2scenario mapfoo


[[GameClient/zh|更多关于客户端的信息]]
* ExampleMod_0.0.1.zip
** <span style="color:#FF5555">info.json</span>
** control.lua
** data.lua
** data-updates.lua
** data-final-fixes.lua


== 用地图编辑器创建一个方案(scenarios) ==
=== 授权信息 ===


自然,第一步也是用地图编辑器创建地图. 保存的地图将视为“方案(scenario)”,存储在专属的文件系统之中。 可以通过这个文件去体会它的作用。或者你可以浏览这个页面:
随着'''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.


== 概述 ==
其他有用的法律链接包括:


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

Latest revision as of 17:24, 26 March 2022

本页面将会带领您了解如何下载和安装mod,并且为方便您创建一个mod时所需而提供了一个和mod开发相关的概述。有关更详细的mod开发说明,您可以查看 mod开发教程.如果您正在查找mod开发所需的相关API,请前往官方 Factorio Lua API 文档(注意,该文档为英文)查看。如果您希望知道在哪里安装zip格式的mod,请查看应用程序目录

Mod 下载 & 安装

您可以在以下链接下载MOD:

Mod门户站 (网页版)

Factorio的开发者创建论坛版块 mod门户站 (网页版) 使玩家可以分享各自制作的mod。 注意,从论坛下载的mod是zip格式,为了安装mod你需要将zip文件复制到 user data directory 并且不需要解压缩它。 你可以在游戏主菜单查看mod列表中是否存在该mod来检查你是否正确安装该mod。

Mod门户站 (游戏内)

在网页 mod门户站 (网页版) 上的mod你可以在游戏内主菜单的mod下载页面查看。 游戏内置的mod下载与网页下载的不同主要在于它可以自动的下载与安装,并且可以随时启用和停用mod(网页版下载的也可以随时启用和停用!)。

论坛Mod板块

某些mod制作者将他们的mod上传到官方论坛子板块论坛Mod板块来展示而没有提交至mod门户站,或者 想在更新发布之前获取交流反馈。这类mod被作为附件上传。有时,你从论坛下载的mod同样使用了zip格式,你仅仅需要将它复制到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

另请参见: Tutorial:Modding

API 文档

Lua 脚本

你需要使用 Lua(版本: 5.2.1) 编程语言来制作 Factorio 的任意Mod。 游戏的Mod系统将会把你的代码在游戏启动和数据构建阶段注入游戏。 你可以使用任意文本编辑器来编辑你的Mod。 已知为 Lua 提供代码提示以及高亮的编辑器有 Notepad++Sublime Text

有用的 Lua 资源:

Mod的基本结构

Factorio 的Mod是一个Zip格式的文件,里面包含了 Factorio 在加载Mod时会查找的几个重要文件。下面列出了这些文件,必需得文件显示为红色字体

  • ExampleMod_0.0.1.zip
    • info.json
    • control.lua
    • data.lua
    • data-updates.lua
    • data-final-fixes.lua

授权信息

随着v0.11版本的到来所有mod需要有一个许可类型。 如果一个MOD没有指定许可类型,将使用默认的 Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)。然而,可以有目的地使Mod使用unlicensed 协议,使代码可以被公共域修改及分发。Factorio Mod最受欢迎的分发许可证为 MIT licenseGPLv3 license.

其他有用的法律链接包括:

另请参见