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

Modding/zh: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(substituted links to go to official lua api documentation)
(Linked to migrated prototype docs)
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}
{{sublinks|Main Page}}
本页面将会带领您了解如何下载和安装mod,并且为方便您创建一个mod时所需而提供了一个和mod开发相关的概述。有关更详细的mod开发说明,您可以查看[[Tutorial:Modding_tutorial| mod开发教程]].如果您正在查找mod开发所需的相关API,请前往[http://lua-api.factorio.com/latest/ 官方 Factorio Lua API 文档](注意,该文档为英文)查看。如果您希望知道在哪里安装zip格式的mod,请查看[[Application_directory|应用程序目录]]
[[File:Fff-18-entity-graph.jpg|400px|thumb|'Diagram of entities' (objects on the map) class inheritance structure generated by doxygen. Taken From Friday Facts #18 http://www.factorio.com/blog/post/fff-18]]


制作Mod是这个游戏最大的特色。
== Mod 下载 & 安装 ==


== 开始工作 ==
您可以在以下链接下载MOD:


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


大纲在这里 [[Mods| Mod列表]] 和 [http://www.factorioforums.com/forum/index.php Factorio forum].
=== Mod门户站 (网页版) ===


从这里开始学习会让你感到很轻松 [http://www.factorioforums.com/forum/viewforum.php?f=25 modding-Help-Board].这个社区总是有很多基佬回答具体问题。往往只要等待几分钟就有回复。 或者你可以试试 [[Modding FAQ]] 页面.
Factorio的开发者创建论坛版块 [https://mods.factorio.com/ mod门户站 (网页版)] 使玩家可以分享各自制作的mod。 注意,从论坛下载的mod是zip格式,为了安装mod你需要将zip文件复制到 [[Application_directory#User_Data_directory|user data directory]] 并且不需要解压缩它。 你可以在游戏主菜单查看mod列表中是否存在该mod来检查你是否正确安装该mod。


== 授权信息 ==
=== Mod门户站 (游戏内) ===


随着v0.11版本的到来所有mod需要有一个作者声明。 如果一个MOD没有作者声明,将被视为同意开源MOD代码,与所有玩家共享:[http://creativecommons.org/licenses/by-nc/4.0 Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)].
在网页 [https://mods.factorio.com/ mod门户站 (网页版)] 上的mod你可以在游戏内主菜单的mod下载页面查看。 游戏内置的mod下载与网页下载的不同主要在于它可以自动的下载与安装,并且可以随时启用和停用mod(网页版下载的也可以随时启用和停用!)。


附录
=== 论坛Mod板块 ===
* [http://www.factorioforums.com/forum/viewtopic.php?f=6&t=6202&p=48971#p48968 this forum article].
:作者也在文中指出, 仅仅能使用 base-mod (特指Factorio中的这一部分) 来创建新的MOD, 但是不能用来 "在异星工厂游戏之外开发新的软件".
* http://www.factorio.com/terms-of-service


== 从游戏存档(地图)中创建一个方案(scenario) ==
某些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。


一个常常被提及的问题是如何从一个地图创建一个方案(scenario)(也可以通过地图编辑器创建一个方案):
=== 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|更多关于客户端的信息]]
大多数的mod使用了factorio的base mod(包含全部官方内容的mod)。然而有些mod也可能会必须依赖于其他mod或者在其他可选依赖的mod安装之后可以提供额外功能。


== 用地图编辑器创建一个方案(scenarios) ==
==== 必须依赖 ====


自然,第一步也是用地图编辑器创建地图. 保存的地图将视为“方案(scenario)”,存储在专属的文件系统之中。 可以通过这个文件去体会它的作用。或者你可以浏览这个页面:
当你安装一个mod时,它必须依赖于某个另外的mod才能工作,这种mod就被叫做必须依赖。


== 概述 ==
==== 可选依赖 ====


* [http://lua-api.factorio.com/latest/ official factorio lua API documentation]
当一个mod建议你安装另一个mod并且在不安装被建议的mod也能工作时,这种mod即为可选依赖。
 
==== 不兼容 ====
 
依赖关系也可以用来声明一个 mod 与其他 mod 不兼容,从而阻止它们一起加载。
 
== 开始开发一款Mod ==
: ''另请参见: [[Tutorial:Modding]]''
 
=== API 文档 ===
 
* [https://lua-api.factorio.com/latest/index-prototype.html 原型文档] — 可以在游戏中添加哪些原型,以及它们的属性
* [http://lua-api.Factorio.com/latest 最新的API文档] — 监听事件,改变玩家周围的世界
* [https://github.com/wube/factorio-data Factorio 在GitHub上的数据存储库] — 跟踪在版本之间异星工厂的Lua原型定义的变化。
* [[Data.raw]] — 列出所有内置原型的名称和类型
 
=== Lua 脚本 ===
 
你需要使用 Lua(版本: 5.2.1) 编程语言来制作 Factorio 的任意Mod。 游戏的Mod系统将会把你的代码在游戏启动和数据构建阶段注入游戏。 你可以使用任意文本编辑器来编辑你的Mod。 已知为 Lua 提供代码提示以及高亮的编辑器有 [https://notepad-plus-plus.org Notepad++] 和 [http://www.sublimetext.com Sublime Text]
 
有用的 Lua 资源:
 
* [http://lua-users.org/wiki/TutorialDirectory Lua 教程]
* [https://www.lua.org/manual/5.2/ Lua 参考手册]
* [https://repl.it/languages/lua Lua REPL] : 一个 Lua 在线运行环境,本质上是一个沙盒
 
=== Mod的基本结构 ===
 
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.
 
其他有用的法律链接包括:
 
* [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 14:22, 25 October 2024

本页面将会带领您了解如何下载和安装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.

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

另请参见