创建模组 - github-user-64/tPlainModLoader GitHub Wiki

创建

  1. 在加载器的Mods下新建一个文件夹test1(什么名字都行)
  2. test1下新建文件loadConfig.json并用文本打开粘贴以下内容
{
	"key":"StaticTile.test1",//模组的key, 写啥都行
	"version":"1.0",//版本, 写啥都行
	"isEnable":true,//是否启用
	"dllPath":null,//模组dll在模组文件夹下的路径, 没有就写null
	"frontModKeys":null //前置模组的key, 没有就写null
}

这样就算是一个模组了

添加模组信息

这个可以不加

  1. test1下新建文件info.json并用文本打开粘贴以下内容
{
	"name":"测试1",//模组名字, 没有就写null
	"author":"作者名字",//没有就写null
	//详细信息页面
	"jumpPath":"https://github.com/github-user-64/tPlainModLoader",//跳转链接, 没有就写null
	"description":"详细信息"//没有就写null
}

修改游戏内容

在此之前需要工具Visual Studio Community

安装时需勾选 .Net 桌面开发

创建项目

  1. 打开Visual Studio的开始窗口
  2. 点击创建新项目
  3. 找到并选择指定项目类型C#、库、.Net Framework
  4. 框架选择.Net Framework 4.7.2
  5. 创建

设置项目属性

创建项目后还需设置属性

  • 设置调试启动操作改为启动外部程序,并设为加载器的exe
  • 设置生成输出路径到模组目录,设置完后生成一下,看看dll是否成功生成到模组目录

设置加载配置

修改loadConfig.json中的dllPath属性为你的dll文件名(按上图所示就改为"test1.dll"),这样加载模组的时候就会加载dll了

添加引用

到此就可以写东西了,不过得把游戏和其它的dll添加进来,不然啥都干不了

模组会用到的dll

示例

以上都成功完成后就可以开始修改内容了,以下是一个简单的示例:

//创建一个无限魔力功能的类
internal class MaxMana : PatchMain//继承修补Main类
{
    public override void DoUpdateInWorldPostfix(Stopwatch sw)//在世界更新后
    {
        Player player = Main.LocalPlayer;
        player.statMana = player.statManaMax2;//设置玩家的魔力
    }
}

修补

修改游戏内容基本都用修补实现,在tContentPatch中提供了部分修补预设,通过继承tContentPatch中的修补类(和示例中的PatchMain一样都以Patch开头)来使用。

不过tContentPatch只提供了部分预设,其它地方需要模组自己修补,详情看连锁挖矿示例中的自定义修补玩家类

⚠️ **GitHub.com Fallback** ⚠️