Skip to content

Migrating Overview & Architecture

Moving from Bukkit / Spigot / Paper plugin development to Pumpkin involves shifting from a Java-centric object-oriented model to a compiled, multi-language WebAssembly (WASM) component model.


The table below contrasts the legacy Bukkit/Paper paradigm with Pumpkin's modern WebAssembly architecture:

ConceptBukkit / Spigot / PaperPumpkin
Language SupportJava / Kotlin / Scala (JVM)Rust, Python, Kotlin, C#, Go, C
Binary Output.jar Java Archive.wasm WebAssembly Component
Plugin Descriptorplugin.yml fileProgrammatic PluginMetadata struct
Lifecycle HooksonEnable() / onDisable()on_load(context) / on_unload(context)
Security & IsolationUnrestricted JVM ReflectionSandboxed WASM capability model
ConcurrencySingle-threaded tick loop (BukkitScheduler)Multithreaded native execution with Async runtime

Detailed Migration Topics

Explore dedicated guides on migrating each major plugin subsystem:

Released under the MIT License.