# 快速入门 本指南将帮助您开始使用 C# 编写 Pumpkin 服务器插件。 ## 先决条件 在开始之前,请确保您已安装以下内容: - [.NET 10.0](https://dotnet.microsoft.com/download/dotnet/10.0) 或更高版本。 - [WebAssembly 工作负载](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/webassembly-overview):您可能需要安装 WASI 工作负载: ```bash dotnet workload install wasi-experimental ``` ## 设置项目 首先,创建一个新的类库项目: ```bash dotnet new classlib -n MyPumpkinPlugin cd MyPumpkinPlugin ``` 在项目根目录下创建一个 `NuGet.Config` 文件,以包含实验性的 .NET 订阅源: ```xml ``` 添加 Pumpkin API 和 WebAssembly SDK: ```bash dotnet add package PumpkinMC.PumpkinApi dotnet add package ByteCodeAlliance.Componentize.DotNet.Wasm.SDK --prerelease ``` 编辑您的 `.csproj` 文件以针对 `wasi-wasm` 并使用 .NET 10.0: ```xml net10.0 enable enable wasi-wasm ``` ## 创建您的第一个插件 将 `Class1.cs` 的内容(或创建一个新文件 `MyPlugin.cs`)替换为以下代码: ```csharp using PluginWorld; using PluginWorld.wit.Exports.pumpkin.plugin.v0_1_0; using PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0; namespace MyPumpkinPlugin; public class MyPlugin : IPluginWorldExports, IMetadataExports { public static void InitPlugin() { } public static void OnLoad(IContextImports.Context context) { ILoggingImports.Log(ILoggingImports.Level.Info, "C# 插件已加载!"); } public static void OnUnload(IContextImports.Context context) { } public static IEventImports.Event HandleEvent(uint eventId, IServerImports.Server server, IEventImports.Event @event) { return @event; } public static int HandleCommand(uint commandId, ICommandImports.CommandSender sender, IServerImports.Server server, ICommandImports.ConsumedArgs args) { return 0; } public static void HandleTask(uint handlerId, IServerImports.Server server) { } public static IMetadataExports.PluginMetadata Metadata() { return new IMetadataExports.PluginMetadata( "my-csharp-plugin", "0.1.0", "一个示例 C# 插件。", ["您的名字"], [] ); } } ``` ## 构建插件 要将插件构建为 WebAssembly 组件: ```bash dotnet build -c Release ``` 构建后的 `.wasm` 文件将位于 `bin/Release/net10.0/wasi-wasm/publish/` 目录中。您可以将此文件放置在 Pumpkin 服务器的 `plugins` 文件夹中。