异星工厂这款游戏想必很多人都不陌生,因为这款游戏实实在在让人体验到自动化工厂产业链的快乐,同时相较于隔壁的幸福工厂他要求的配置更低,因此一直处于好评如潮的地位。同时这款游戏模组开发部分也是非常自由,相较于其他游戏来说,算得上是非常自由了,因此模组也是此游戏的一大玩点
好了,废话不多说,开始接下来的正题吧
PhotoShop [用于制作贴图]
VScode [用于敲代码]
Excel [用于写配方]
异星工厂模组Mod开发教程从入门到入土
异星工厂官方API
异星工厂原型类
这两个是需要知道的
模组路径
三类文件:
mod-list.json [游戏模组列表,与开发无关]
mod-settings.dat [游戏模组设置,与开发无关]
xxx_x.x.x.zip [游戏模组]
游戏路径
五类文件:
bin [游戏exe可执行二进制文件,与开发无关]
data [游戏主体文件](开发相关)
doc-html [游戏官方API](开发相关)
config-path.cfg [游戏设置路径可读,与开发无关]
debug.log [debug报告,与开发无关]
这里是我们要主要参考的主体文件
base 基础游戏文件[游戏里面的配方啊,物品啊,实体什么的](开发相关)
core 主体游戏文件[游戏的UI方面](开发相关)
cacert.pem [游戏密钥]
changelog.txt [更新日志]
credits.txt [开发者]
eula.txt [使用者授权合约书]
licenses.txt [证书]
map-gen-settings.example.json [地图根设置-样本]
map-settings.example.json [地图设置-样本]
server-settings.example.json [服务器设置-样本]
server-whitelist.example.json [服务器白名单设置-样本]
campaigns [战役文件]
data-updates.lua [二级data文件]
data.lua [三级data文件]
graphics [贴图]
info.json [info文件]
locale [文本翻译]
menu-simulations [开局游戏场景文件]
migrations [旧版迁移,1.1版本以后就没用了]
prototypes [类文件]
scenarios [场景文件]
sound [音效文件]
thumbnail.png [base包贴图]
tutorials [教程文件]
categories [工厂类]
decorative [装饰物类]
entity [实体类]
legacy [其他类,这个翻译为遗产就很操蛋,里面的内容差不多是effect类]
tile [地皮类]
achievements.lua [成就类]
ambient-sounds.lua [音效类]
autoplace-controls.lua [自动生成类]
custom-inputs.lua [按键事件类]
damage-type.lua [伤害类型类]
demo.lua [弹夹类]
equipment-grid.lua [装备模块类]
equipment.lua [装备类]
fire-util.lua [火焰类]
fluid.lua [流体类]
item-groups.lua [物品组类]
item.lua [物品类]
map-gen-presets.lua [地图根设置类]
map-settings.lua [地图设置类]
particles.lua [粒子类]
recipe.lua [配方类]
shortcuts.lua [快捷键类]
signal.lua [信号类]
technology.lua [科技类]
tips-and-tricks-simulations.lua [技巧动画类]
tips-and-tricks.lua [技巧类]
trigger-target-types.lua [触发目标类,我也不知道这是个啥]
tutorials.lua [教程类]
utility-sprites.lua [精灵类]
这是樱满星辰的样例
如图,这就是一个mod的主体
xxx_yyy.zip:xxx mod的名字 yyy mod的版本
模组的主体(*代表必须)
info.json*(模组声明)
data.lua(模组data,三级data)
data-updates.lua(模组data,二级data)
data-final-fixes.lua(模组data,一级data)
settings.lua(模组三级设置)
settings-updates.lua(模组二级设置)
settings-final-fixes.lua(模组一级设置)
control.lua(脚本控制)
changelog.txt(更新日志)
license.md(证书)
thumbnail.png(模组图片,1:1)
locale(翻译文件夹)
剩下的文件夹是可以随便命名的,不知道能不能命名为中文,反正建议英文。而且模组包里面存在的文件格式强烈建议只有:*.txt*.lua*.md*.zip*.json*.png*.ogg*.cfg其他的文件强烈建议不要放入,因为可能会导致游戏认为模组出问题,从而认为此非模组文件(之前我就在里面放了.psd导致游戏识别不出来)
我们先解释一下data文件是什么,data文件就是游戏中所有实体、物品、配方、科技、精灵等等的东西
例如:base文件里面的item.lua
我们先往下翻,看到data:extend这里,这里的stone-brick就是代表着石砖物品
再例如recipe.lua
这里就代表着配方,其中speed-module意思就是速度插件的配方
总之,先了解个大概,具体的下文再说
然后再解释一下三个data.lua是什么
这个图就能解释是什么意思,首先游戏根据模组名和模组依赖的顺序加载所有模组的data.lua文件,从而生成物品、实体、配方等。然后等所有模组加载完后,再加载data-updates.lua文件,最后再加载data-final-fixes.lua文件
然后再解释一下settings.lua
和上面一样,说句实话我也不知道为什么要搞个三级加载
总之,今天就到这里了,接下来我会以樱满星辰-花与香水DLC作为例子(同时边开发边作为教程的例子)继续写教程
中國合同能源管理(EMC)十四五規劃及未來發展趨勢預測報告2023 VS 2029年第一章:合同能源管理發展必要性及政策分析第一節合...
中国地质大学(武汉)(China University of Geosciences, Wuhan),简称地大,位于武汉市,是中华人民共和国教育部直属的全 ...