- Katılım
- 24 Nisan 2025
- Mesajlar
- 1.002
- Elmaslar
- 277
- Puan
- 3.880
- Yaş
- 15
- Konum
- Kocaeli
- Minecraft
- ByVoxar
Discord:
ByVoxar
JavaPlugin sınıfı nedir?
Paper/Bukkit eklentileri bir Java class’ı ile başlar. Bu main class:
org.bukkit.plugin.java.JavaPlugin sınıfından miras (extends) alır.
Sunucu bu sınıfı plugin’in giriş noktası olarak kullanır.
Bu sınıfta plugin’in yaşam döngüsü yönetilir (başlangıç / kapanış vb.).
Örnek yapısı:
Plugin Yaşam Döngüsü — Lifecycle (onLoad, onEnable, onDisable)
PaperMC, plugin’leri sunucu açılırken aşağıdaki sırayla işler:
onLoad()
Plugin .jar dosyası yüklenir.
onLoad() çağrılır.
Ancak Bukkit API’nin çoğu henüz hazır değildir; bu yüzden burada API bağımlı çok şey yapmamalısın.
Örnek yapısı:
onEnable()
Plugin etkinleştirilir.
Bu yöntem server tick başlamadan hemen önce çağrılır.
Burada genellikle:
- Event listener’lar register edilir
- Event listener’lar register edilir
- Config dosyaları yüklenir
Yani “plugin çalışmaya hazır hale gelirken yapılacak işlemler” burada olur.
Örnek yapısı:
Paper/Bukkit eklentileri bir Java class’ı ile başlar. Bu main class:
org.bukkit.plugin.java.JavaPlugin sınıfından miras (extends) alır.
Sunucu bu sınıfı plugin’in giriş noktası olarak kullanır.
Bu sınıfta plugin’in yaşam döngüsü yönetilir (başlangıç / kapanış vb.).
Örnek yapısı:
Plugin Yaşam Döngüsü — Lifecycle (onLoad, onEnable, onDisable)
PaperMC, plugin’leri sunucu açılırken aşağıdaki sırayla işler:
onLoad()
Plugin .jar dosyası yüklenir.
onLoad() çağrılır.
Ancak Bukkit API’nin çoğu henüz hazır değildir; bu yüzden burada API bağımlı çok şey yapmamalısın.
Örnek yapısı:
onEnable()
Plugin etkinleştirilir.
Bu yöntem server tick başlamadan hemen önce çağrılır.
Burada genellikle:
- Event listener’lar register edilir
- Event listener’lar register edilir
- Config dosyaları yüklenir
Yani “plugin çalışmaya hazır hale gelirken yapılacak işlemler” burada olur.
Örnek yapısı:
onDisable()
Plugin devre dışı bırakıldığında çağrılır (sunucu kapanırken veya reload sırasında).
Plugin devre dışı bırakıldığında çağrılır (sunucu kapanırken veya reload sırasında).
Burada genellikle:
- Kaydedilmesi gereken veriler kaydedilir
- Scheduler’lar iptal edilir
- Kaynaklar temizlenir
Böylece plugin düzgün şekilde kapatılır.
- Kaydedilmesi gereken veriler kaydedilir
- Scheduler’lar iptal edilir
- Kaynaklar temizlenir
Böylece plugin düzgün şekilde kapatılır.
Örnek yapısı:
Tüm kod dosyası (Plugin.java)
Kod:
package event.plugin;
import org.bukkit.plugin.java.JavaPlugin;
public final class Plugin extends JavaPlugin {
@Override
public void onLoad() {
// Plugin .jar olarak yüklendiğinde çağrılır
// Bukkit / Paper API henüz tam hazır değildir
getLogger().info("Plugin yüklendi (onLoad)");
}
@Override
public void onEnable() {
// Plugin aktif edildiğinde çağrılır
// Event, komut, config gibi şeyler burada yapılır
getLogger().info("Plugin aktif edildi (onEnable)");
}
@Override
public void onDisable() {
// Plugin devre dışı bırakıldığında çağrılır
// Sunucu kapanırken veya /reload sırasında
getLogger().info("Plugin kapatıldı (onDisable)");
}
}