Pumpkin-Docs/docs/tr_TR/plugin-dev/migrating-from-bukkit/index.md
Alexander Medvedev 5c23b676ed feat: d binding
2026-09-17 09:23:24 +02:00

28 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Geçiş Genel Bakış ve Mimarisi
**Bukkit / Spigot / Paper** eklenti geliştirmeden Pumpkin'a geçiş yapmak; Java merkezli nesne yönelimli bir modelden derlenmiş, çok dilli bir **WebAssembly (WASM)** bileşen modeline geçişi ifade eder.
---
Aşağıdaki tablo, geleneksel Bukkit/Paper paradigmasını Pumpkin'ın modern WebAssembly mimarisiyle karşılaştırmaktadır:
| Kavram | Bukkit / Spigot / Paper | Pumpkin |
| :--- | :--- | :--- |
| **Dil Desteği** | Java / Kotlin / Scala (JVM) | Rust, Python, Kotlin, C#, Go, C |
| **İkili Dosya Çıktısı** | `.jar` Java Arşivi | `.wasm` WebAssembly Bileşeni |
| **Eklenti Tanımlayıcısı** | `plugin.yml` dosyası | Programatik `PluginMetadata` yapısı (struct) |
| **Yaşam Döngüsü Kancaları** | `onEnable()` / `onDisable()` | `on_load(context)` / `on_unload(context)` |
| **Güvenlik ve Yalıtım** | Kısıtlamasız JVM Yansıması (Reflection) | Yalıtılmış (sandboxed) WASM yetenek modeli |
| **Eşzamanlılık** | Tek iş parçacıklı tick döngüsü (`BukkitScheduler`) | Async çalışma zamanı ile çok iş parçacıklı yerel yürütüm |
---
## Ayrıntılı Geçiş Konuları
Başlıca eklenti alt sistemlerini taşımaya yönelik özel kılavuzları inceleyin:
- [Komutları Taşıma](./commands) — `getCommand().setExecutor()` ve `plugin.yml` yapısından Brigadier komut ağaçlarına geçiş.
- [Olayları Taşıma](./events) — `@EventHandler` ve `Listener` arayüzlerini Pumpkin'ın bloklayan ve bloklamayan olay sistemiyle değiştirme.
- [Envanterleri ve GUI'leri Taşıma](./inventories) — `Bukkit.createInventory()` yaklaşımından Pumpkin konteyner ve pencere işleyicilerine geçiş.
- [Yapılandırma ve Verileri Taşıma](./configuration) — `getConfig()` / `config.yml` yapısını yerel TOML, JSON veya özel depolama ile değiştirme.