Skip to content

Ein neues Projekt erstellen ​

Pumpkin‑Plugins verwenden das Build‑System Cargo.

Den kompletten Code dieses Plugins findest du als Template auf GitHub.

Neue Crate initialisieren ​

Lege zuerst ein neues Projektverzeichnis an und führe darin aus:

bash
cargo new <project-name> --lib

Dies erstellt einen Ordner mit Dateien. Die Struktur sieht so aus:

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

Crate konfigurieren ​

Da Pumpkin‑Plugins zur Laufzeit als dynamische Bibliotheken geladen werden, muss Cargo diese Crate entsprechend bauen.

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

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

[dependencies]

Als Nächstes fügen wir Basis‑Abhängigkeiten hinzu. Da Pumpkin noch früh in der Entwicklung ist, sind die internen Crates nicht auf crates.io veröffentlicht; wir beziehen sie direkt von GitHub.

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

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

[dependencies]
# Dies ist die Basis-Crate mit den meisten High-Level-Typdefinitionen.
pumpkin = { git = "https://github.com/Pumpkin-MC/Pumpkin.git", branch = "master", package = "pumpkin" } 
# Weitere von Pumpkin verwendete Hilfsprogramme (z. B. TextComponent, Vektoren...)
pumpkin-util = { git = "https://github.com/Pumpkin-MC/Pumpkin.git", branch = "master", package = "pumpkin-util" }
# Makros zur einfacheren Plugin-Entwicklung
pumpkin-api-macros = { git = "https://github.com/Pumpkin-MC/Pumpkin.git", branch = "master", package = "pumpkin-api-macros" }

# A rust asynchronous runtime
tokio = "1.48"
# Logging
log = "0.4"

Für bessere Performance und kleinere Binaries empfehlen wir Link‑Time Optimization (LTO). Beachte, dass dies die Kompilierzeit erhöht.

toml
[profile.release] 
lto = true

Aktiviert LTO nur für Release‑Builds.

Veröffentlicht unter der MIT-Lizenz.