Rehber JavaPlugin sınıfı, onEnable & onDisable mantığı | Eklenti Yazma Dersleri – Bölüm 3

  • Konuyu Başlatan Konuyu Başlatan ByVoxar
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 240
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

ByVoxar

Umutsuz durumlar yoktur, umutsuz insanlar vardır.
Yıldız Destek
Süper Destek
Onaylı Satıcı
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ı:
1768677995636.webp


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ı:
1768678352541.webp


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ı:

1768678491898.webp


onDisable()




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.

Örnek yapısı:

1768678668915.webp


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)");
    }
}






 
Hocam yanlış anlama ama bu konuların artık milyonlarca kopyası var.
 
bu işler video ile daha kolay kavranır
 
beyaz temada yazilar okunmuyor
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst