- Paper mı, Spigot mu?
- Paper, Spigot’un resmi çatallanmış sürümüdür ve
org.bukkitAPI’sini aynı tutar; ancakorg.spigotmcpaketleri vecom.destroystokyo.paperpaketleriyle eşsiz özellikler sunar. - Eğer sunucu kapasiteli bir ortamda yüksek oyuncu sayısını yönetmek istiyorsanız Paper’ın async işleyicilerini kullanmak, gecikmeleri azaltır.
- Basit bir eklenti geliştirirken, Spigot zaten yeterli olabilir; ancak Paper,
PlayerMoveEventgibi olayları daha verimli işleyenPlayerMoveEvent’inasyncversiyonuna sahiptir.
| Özellik | Paper API | Spigot API |
|---|---|---|
| Async işleyiciler | Var | Sınırlı |
| Güncellemeler | Sık | Daha az |
| Genişletilmiş API | Evet | Sınırlı |
| Uyumluluk | 1.16‑1.20+ | Aynı versiyon aralığı |
- İlk eklentinin temel yapısı
Kod:package com.example.myplugin; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.event.Listener; import org.bukkit.event.EventHandler; import org.bukkit.event.player.PlayerJoinEvent; public class MyPlugin extends JavaPlugin implements Listener { @Override public void onEnable() { getLogger().info("Eklenti aktif!"); getServer().getPluginManager().registerEvents(this, this); } @Override public void onDisable() { getLogger().info("Eklenti devreden çıkarıldı!"); } @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { event.getPlayer().sendMessage("Hoş geldiniz, " + event.getPlayer().getName() + "!"); } } - Geliştirme ortamı
pom.xmldosyanızdaorg.spigotmc:spigot-apiyerinecom.destroystokyo.paper:paper-apibağımlılığını ekleyin.
XML:<dependency> <groupId>com.destroystokyo.paper</groupId> <artifactId>paper-api</artifactId> <version>1.20.4-R0.1-SNAPSHOT</version> <scope>provided</scope> </dependency> - Sorgulama
Sunucu tipinizdeBukkityerinePapermı çalışıyor?
Eklentinizi geliştirdikten sonra performans testi yaptınız mı?
Paper’ın async yardımcı sınıflarını denediniz mi?