Skip to content

创建新项目

Pumpkin 插件使用Cargo构建系统。

此插件的完整代码可以在GitHub上的模板中找到。

初始化新的crate

首先我们需要创建一个新的项目文件夹。您可以通过在您创建的文件夹中运行以下命令来完成:

bash
cargo new <项目名> --lib

这将创建一个包含几个文件的文件夹。文件夹结构应该如下所示:

├── Cargo.toml
└── src
    └── lib.rs

配置crate

由于 Pumpkin 插件在运行时作为动态库加载,我们需要告诉Cargo将此crate构建为动态库。

toml
[package]
name = "hello-pumpkin"
version = "0.1.0"
edition = "2021"

[lib] 
crate-type = ["cdylib"]

[dependencies]

接下来我们需要添加一些基本依赖项。由于 Pumpkin 仍处于早期开发阶段,内部crate尚未发布到crates.io,所以我们需要告诉Cargo直接从GitHub下载依赖项。

toml
[package]
name = "hello-pumpkin"
version = "0.1.0"
edition = "2021"

[lib]
crate-type = ["cdylib"]

[dependencies]

# 这是包含大多数高级类型定义的基本crate
pumpkin = { git = "https://github.com/Pumpkin-MC/Pumpkin.git", branch = "master", package = "pumpkin" } 
#  Pumpkin 使用的其他工具(如TextComponent、Vectors等)
pumpkin-util = { git = "https://github.com/Pumpkin-MC/Pumpkin.git", branch = "master", package = "pumpkin-util" }
# 简化插件开发的宏
pumpkin-api-macros = { git = "https://github.com/Pumpkin-MC/Pumpkin.git", branch = "master", package = "pumpkin-api-macros" }

# 允许插件异步工作的工具
async-trait = "0.1"
# Rust异步运行时
tokio = "1.42"
# 日志记录
log = "0.4"

为了提高性能和减小文件大小,我们建议启用链接时优化(Link-Time Optimization,LTO)。
请注意,这将增加编译时间。

toml
[profile.release] 
lto = true

建议仅对发布版本启用LTO。

基于 MIT 许可证发布。