Migratieoverzicht & Architectuur
De overstap van plugin-ontwikkeling voor Bukkit / Spigot / Paper naar Pumpkin betekent een verschuiving van een Java-georiënteerd objectgeoriënteerd model naar een gecompileerd, meertalig WebAssembly (WASM) componentmodel.
De onderstaande tabel vergelijkt het verouderde Bukkit/Paper-paradigma met de moderne WebAssembly-architectuur van Pumpkin:
| Concept | Bukkit / Spigot / Paper | Pumpkin |
|---|---|---|
| Taalondersteuning | Java / Kotlin / Scala (JVM) | Rust, Python, Kotlin, C#, Go, C |
| Binaire uitvoer | .jar Java Archive | .wasm WebAssembly-component |
| Plugin-beschrijving | plugin.yml-bestand | Programmatische PluginMetadata-struct |
| Levenscyclus-hooks | onEnable() / onDisable() | on_load(context) / on_unload(context) |
| Beveiliging & Isolatie | Onbeperkte JVM-reflectie | Gesandboxt WASM-capabilitymodel |
| Gelijktijdigheid (Concurrency) | Single-threaded tick-lus (BukkitScheduler) | Multithreaded native uitvoering met async-runtime |
Gedetailleerde migratieonderwerpen
Bekijk speciale handleidingen over het migreren van elk belangrijk plugin-subsysteem:
- Commando's migreren — Overstappen van
getCommand().setExecutor()enplugin.ymlnaar Brigadier-commandobomen. - Events migreren — Vervanging van
@EventHandlerenListener-interfaces door Pumpkin's blokkerende vs. niet-blokkerende eventsysteem. - Inventarissen & GUI's migreren — Overstappen van
Bukkit.createInventory()naar Pumpkin-container- en venster-handlers. - Configuratie & Gegevens migreren — Vervangt
getConfig()/config.ymldoor native TOML, JSON of aangepaste opslag.