Mod制作教程主页 - WorldBoxOpenMods/ModLoader GitHub Wiki

Mod制作教程主页

本篇教程以一个简单的Mod为例, 介绍如何制作Mod. 具体的文档见.xml文件

0. 预先准备

首先, 你需要具有正确的编程思想

接下来, 你需要一个文本编辑器, 用于编辑代码.

如果支持的话,推荐使用Visual Studio,

如果有钱/学生的话, 推荐使用JetBrains Rider,

轻量级推荐使用Visual Studio Code. 当然你也可以用记事本.

以及, 最基础的C#语言知识(别tmd连访问权限都看不懂).

最重要的, 安装WorldBox和NeoModLoader.

1. 创建项目

1.1 创建项目文件夹

ModTemplate作为模板(Use this template), clone到Mods文件夹下.

如果你不知道如何使用git, 请参考这篇教程.

1.2 文件结构介绍

如果你没有操作错的话, 你应该看到这样的文件结构:

├───ModTemplate
│   ├───Locales
│   │   └───en.json
│   │   └───cz.json
│   ├───Properties
│   │   └───AssemblyInfo.cs
│   ├───.gitignore
│   ├───ModClass.cs
│   ├───ModTemplate.csproj
│   ├───ModTemplate.sln
│   ├───default_config.json
│   ├───icon.png
│   ├───mod.json

其中, "mod.json"用于描述Mod的信息, "default_config.json"用于提供Mod的默认设置(后面会进行介绍), "icon.png"为Mod的图标文件.

在Locales文件夹下, 你可以看到en.json和cz.json, 这两个文件用于提供Mod的本地化信息, 你可以在其中添加你自己的语言.

ModClass.cs是Mod的主类, 已经在里面实现了BasicMod, 你可以在里面添加你自己的代码.

1.3 编辑模组信息(mod.json)

mod.json 通过JSON格式来描述Mod的信息, 你可以使用任何文本编辑器来编辑它.

{
    "name": "CHANGEME",
    "author": "CHANGEME",
    "version": "1.0.0",
    "description": "This is a template for a mod",
    "RepoUrl": "https://github.com/author/name",
    "iconPath": "icon.png"
}

这里提供的是一个最基础的配置, 更多的配置项参考文档.

你需要将CHANGEME替换为你自己的信息.

其中"name"为Mod的名称, "author"为Mod的作者, "version"为Mod的版本, "description"为Mod的描述, "RepoUrl"为Mod的仓库地址(如果没有的话, 可以直接去掉这一项), "iconPath"为Mod的图标文件路径, 从模组文件夹开始.

下面是一个完整的示例:

{
    "name": "ModTemplate",
    "author": "WorldBoxOpenMods",
    "version": "1.0.0",
    "description": "This is a template for a mod",
    "RepoUrl": "https://github.com/WorldBoxOpenMods/ModTemplate",
    "iconPath": "icon.png"
}

1.4 修改默认代码(ModClass.cs)

将ModClass.cs中的命名空间"CHANGEME"替换为你自己的Mod命名空间, 保证不会与其他模组重复即可.

到这里, 实际上已经完成了一个最简单的Mod. 如果没有出错的话,启动游戏后,可以在终端看到

[NML][ModTemplate]: OnLoad
[NML][ModTemplate]: Hello World!
[NML][ModTemplate]: Loaded

除此之外, 在ModLoader提供的Mod管理界面中, 你也可以看到你的Mod.

后面的教程只是对原版部分功能的解释, 以及介绍封装后的一些功能, 你可以选择性地阅读推荐的内容.

在本教程中提及的内容的大部分示例代码将会集中于仓库ModExample

2~N. 添加内容

  1. 创建并管理你的PowersTab
  2. 创建并管理你的语言文件
  3. 创建各类按钮
  4. 创建并管理你的模组配置
  5. 往游戏里加贴图和别的
  6. 特质
  7. 装备

推荐的内容

  1. 创建并管理你的PowersTab
  2. 创建并管理你的语言文件
  3. 创建并管理你的模组配置
  4. 管理你的资源文件
  5. 模组依赖
  6. 模组重载/热更新
  7. 兼容NCMS
  8. 上传模组