Skip to content

目录 ​

项目搭建 ​

先决条件 ​

Celeste 使用 C# 编写,运行在 .NET Framework 4.5.2 上。现代版本的 Everest 会将 Celeste 转换到 .NET Framework 的现代继任者 .NET 8.0 上运行。因此,所有新的代码模组都以面向 .NET 8.0 的 C# 类库项目起步。

一些旧代码模组并不面向 .NET Core 8.0。Everest 5577 之前制作的模组面向 .NET Core 7.0,而 Everest 4465 之前制作的模组面向 .NET Framework 4.5.2。
面向 .NET Framework 的模组称为旧版模组(legacy mods),而面向 .NET Core 的模组则称为核心模组(core mods)。核心模组可以使用所有现代 C# 特性,并拥有许多其他优势。

重要

Everest 使用语义化版本控制 🔗。
这意味着版本号遵循 MAJOR.MINOR.PATCH 的格式,并且更改主版本号必定会破坏依赖你的代码模组的模组。

所以,如果一个模组依赖 YourMod 1.3.5:

  • 安装 YourMod 1.0.x 将无法工作
  • 安装 YourMod 1.3.0 将无法工作
  • 安装 YourMod 1.3.5 将正常工作(当然)
  • 安装 YourMod 1.6.x 将正常工作
  • 安装 YourMod 2.0.x 将无法工作。用户将不得不改用 YourMod 1.3.x 或更高版本。

搭建代码模组最简单的方式是使用 CelesteMod.Templates dotnet 模板 🔗。

Windows ​

首先,你需要在 Windows Terminal 中打开你的 Mods 文件夹。例如,你可以打开 Olympus,在 Installations 下点击 Manage,然后点击 Browse。此时应会弹出一个**文件资源管理器(File Explorer)**窗口。

右键点击 Mods 文件夹,然后点击 Open in Terminal(在终端中打开)。

在终端中打开窗口

说明

如果你没有 Open In Terminal 选项,可以改为 Shift+右键点击 Mods 文件夹,然后选择 Open PowerShell window here(在此处打开 PowerShell 窗口)。

如果你从未制作过代码模组,需要先安装模板。在终端中输入以下命令并按 Enter。

dotnet new install CelesteMod.Templates

提示

记得不时运行 dotnet new update,以确保你的代码模组模板是最新的。

然后,要实际使用该模板,请输入以下命令。
记得将 MyCelesteMod 替换为你的模组名称。

batch
md MyCelesteMod
cd MyCelesteMod
dotnet new celestemod

提示

你可以向 dotnet new celestemod 命令添加参数来调整模板。这些参数在模板仓库 🔗中有说明。

例如,dotnet new celestemod --Samples 会为你生成一些示例实体:一个普通实体、一个固态实体(solid)和一个触发器(trigger)。 如果你想进一步了解它们,请查看自定义实体、触发器与风格背景 维基页面!

你应该会看到类似这样的输出:

命令输出

关闭 Terminal 窗口。
然后打开 Mods 里面的 MyCelesteMod 文件夹。

要打开模组项目,请双击解决方案(.sln)文件。

Linux/macOS ​

打开终端(Terminal)。

如果你从未制作过代码模组,需要先安装模板。在终端中输入以下命令并按 Enter。

dotnet new install CelesteMod.Templates

提示

记得不时运行 dotnet new update,以确保你的代码模组模板是最新的。

然后,要实际使用该模板,请先用 cd 导航到你的 Celeste/Mods 文件夹,再输入以下命令。
记得将 MyCelesteMod 替换为你的模组名称。

sh
mkdir MyCelesteMod
cd MyCelesteMod
dotnet new celestemod

提示

你可以向 dotnet new celestemod 命令添加参数来调整模板。这些参数在模板仓库 🔗中有说明。

例如,dotnet new celestemod --Samples 会为你生成一些示例实体:一个普通实体、一个固态实体(solid)和一个触发器(trigger)。 如果你想进一步了解它们,请查看自定义实体、触发器与风格背景 维基页面!

关闭 Terminal 窗口。
然后打开你的 Mods 文件夹中的 MyCelesteMod 文件夹。

要打开模组项目,请使用 Visual Studio Code 打开文件夹(请确保已安装 C# Dev Kit 扩展),或使用你的 IDE 打开解决方案(.sln)文件。

代码模组热重载 ​

为了方便起见,Everest 提供了一个设置,可以在代码模组构建完成后于游戏内自动重新加载它们。要启用它,请打开 Celeste/Saves 文件夹中的 modsettings-Everest.celeste,并将选项 CodeReload_WIP 设置为 true。

请注意,该功能仍在开发中,因此它可能不会一直表现正常。重启通常能确保所有内容被正确加载。