创造第一个 Mod
本教程将指导你创建一个简单的 Mod ,实现修改游戏内某个基础功能的功能。
注意
虽然编写 Mod 时使用 C# ,但请记住 Dead Cells 使用 Haxe 编写并运行在 HashLink 虚拟机上,而不是 .NET 虚拟机。
本教程假设你拥有以下技能:
- C# 编程基础
- Dead Cells 基础 Mod 制作 (教程)
提示
在开始之前,建议阅读 wiki 了解 HashLink 虚拟机 的基本信息。
信息
本教程的 Mod 代码储存在 Github 上。
创建 Mod 项目
- 打开命令行工具
- 创建一个新的库项目:
dotnet new classlib -n FirstDeadCellsMod -f net9.0
- 进入项目目录:
cd FirstDeadCellsMod
- 添加 Dead Cells Modding MDK 的NuGet包引用:
dotnet add package DeadCellsCoreModding.MDK
创建 Mod 主类文件
创建 Mod 主类文件ModEntry.cs
:
using ModCore.Events.Interfaces.Game;
using ModCore.Mods;
namespace FirstDeadCellsMod
{
public class FirstDeadCells : ModBase,
IOnGameExit
{
public FirstDeadCells(ModInfo info) : base(info)
{
}
public override void Initialize()
{
Logger.Information("你好,世界");
}
void IOnGameExit.OnGameExit()
{
Logger.Information("游戏正在退出");
}
}
}
配置 Mod 项目
编辑项目文件FirstDeadCellsMod.csproj
,添加以下内容:
<PropertyGroup>
<!--模组类型-->
<ModType>mod</ModType>
<!--模组主类的FullName-->
<ModMain>FirstDeadCellsMod.FirstDeadCells</ModMain>
<!--在生成时自动安装Mod-->
<!--<AutoInstallMod>true</AutoInstallMod>-->
</PropertyGroup>
构建 Mod
在项目目录下运行构建命令:
dotnet build
构建成功后,会在bin\Debug\net9.0\output
($(OutputPath)\output
)目录下生成 Mod 文件
测试 Mod
- 按照教程安装 Mod
- 通过
DeadCellsModding.exe
启动游戏 - 检查游戏日志确认Mod加载
信息
你应该能看到类似这样的日志条目:
[13:47:52 INF][FirstDeadCells] 你好,世界
常见问题
Q1: 构建失败
- 确保已安装 .NET 9 SDK
- 检查项目引用的 NuGet 包是否可用
- 尝试清理解决方案后重新构建:
dotnet clean
dotnet build
Q2: Mod 不加载
- 检查
modinfo.json
中的name
是否与文件夹名称完全一致 - 确认
ModMain
指定的类路径正确 - 查看日志中的错误信息
Q3: 游戏崩溃
- 检查 Mod 代码是否有异常
- 尝试禁用其他 Mod 进行隔离测试
- 查看日志获取详细信息