>>TheLegend<< | Plugin Yazım Rehberi #1 - onEnable(), onDisable(), plugin.yml

>>TheLegend<<

Легенды никогда не умирают
Mesajlar
991
En iyi cevaplar
3
Beğeniler
1,903
Puanları
2,530
Merhaba arkadaşlar, plugin yazım rehberi serimizin ilk bölümündeyiz. Bu kısımda sunucu açılırken, eklentimiz yüklenirken veya kapanırken çıkacak logları
ayarlamayı öğreneceğiz. Arkadaşlar bu plugin yazım rehberi şimdilik yazılı şekilde olacaktır.
Fakat eminim çektiğim videolar ile birlikte bu yazım rehberini incelediğiniz taktirde birçok şey öğrenebileceğinizi umut ediyorum.
Dilerseniz yazılı anlatımı atlayıp direk konunun en altında bulunan örnek kodlama videosunu izleyebilirsiniz. Fakat yazılı anlatımı okumak size ekstra bilgi olacaktır.

Kodlamaya geçmeden önce "Java-Eclipse" programının kullanımı için;
https://forum.gamer.com.tr/konu/buk...ipse-kullanımı-plugin-yapım-Örnekleri.176357/

onEnable() nedir:
Arkadaşlar bu kodda, eklentimiz yüklenirken ne işlem yapacağını belirteceğiz.
Bunlar birçok şey olabilir fakat şimdi sadece log ayarlamayı öğreneceğiz.
İlerleyen bölümlerimizde, yazım hakkında küçük bilgiler edindiğinizde daha yüksek kodlama işlemlerine geçeceğiz.
Bu ilk serimiz yani herkesin yeni başladığını varsaymalıyız.
onEnable() ve onDisable() kodlamaları basittir hele log eklemesi dahada basittir.

onDisable() nedir:
Bu kodun altında sunucumuz devre dışı bırakılırken yapılacak
İşlemleri belirteceğiz. Kısaca, eklenti kapatılırken ne yapsın gibi bir soru olarak düşünebiliriz.

Kodlama:
Bu bölümde kullanacağımız kodları, nasıl yapacağınızı, nereye yapacağınızı tek tek sırasıyla açıklayacağım.

Log eklemek için benim her zaman kullandığım ve çok sevdiğim bir kod vardır.
Kod;
Kod:
public static final Logger logcuamca = Logger.getLogger("Minecraft");
Bu kod bize kısaca log girmenin kısa yolunu gösterir.
Bu kodu bir kısaltma kodu olarak varsayabiliriz. Fakat bu kısımlara daha sonraki bölümlerde gireceğiz şimdi çok fazla kafanızı karıştırmak istemiyorum.

Peki bu kodu nereye yazacağız?
Bu kod, ana class dosyanızda bulunmalıdır.
Örneğin;​
Kod:
public class <Class-İsimi> extends JavaPlugin {
    public static final Logger logcuamca = Logger.getLogger("Minecraft");
Log kodumuzu yerleştirdikten sonra "onEnable()", "onDisable()" bölümlerinin kodlamasına geçebiliriz.
Örneğin;
Kod:
public class <Class-İsmi> extends JavaPlugin {
    public static final Logger logcuamca = Logger.getLogger("Minecraft");

    public void onEnable() {
        logcuamca.log(Level.INFO, "Deneme Logu!");
    }
}
Gördüğünüz "Level.INFO" kısımının özelliği, log seviyesini belirlemektir. Yani eğer bu "Level.INFO" olursa bilgi logu gönderir. Bunun birçok çeşidi vardır kullanabilecekleriniz;
- Level.INFO : Bilgi logu.
- Level.WARNING : Uyarı logu.
- Level.SEVERE : Hata logu.

Kısaca log kodumuzun formatı
Kod:
logcuamca.log(Level.<Log-Seviyesi>, "<Log>");
Şeklindedir.
Örneğin:
Kod:
logcuamca.log(Level.INFO, "Deneme Bilgi Logu!");
Kod:
logcuamca.log(Level.WARNING, "Deneme Uyarı Logu!");
Kod:
logcuamca.log(Level.SEVERE, "Deneme Hata Logu!");
Eğer boş bir mesaj ise yani duyuru, bilgilendirme gibi mesajlar ise INFO log seviyesini tercih edin.
Devam edelim, onEnable() yani açılış loglarımızı yazdık
onEnable() kodlarımız:
Kod:
public class <Class-İsmi> extends JavaPlugin {
    public static final Logger logcuamca = Logger.getLogger("Minecraft");

    public void onEnable() {
        logcuamca.log(Level.INFO, "Deneme Logu!");
    }
}
Şimdi sıra onDisable() kodlarında
Aynı onEnable gibi fakat bu eklenti sonlandırılırken çıkacak loglardır.
Az önce yaptığımız gibi formatımız "logcuamca.log(Level.<Log-Seviyesi>, "<Log>");"
Kodlayalım,
Kod:
public class <Class-İsmi> extends JavaPlugin {
    public static final Logger logcuamca = Logger.getLogger("Minecraft");

    public void onEnable() {
        logcuamca.log(Level.INFO, "Deneme Logu!");
    }

    public void onDisable() {
        logcuamca.log(Level.INFO, "Deneme Kapanis Logu!");
    }
}
Ve açılış ve kapanış loglarımız hazır.
Şimdi eklentimizi denemeye tek bir aşama kaldı.
"plugin.yml" dosyası oluşturmak.
Örnek plugin.yml;
Kod:
name: <plugin-ismi>
author: <yazar>
version: <plugin-versiyonu>
main: <ana-class-yolu>
description: <plugin-hakkinda-kisa-bilgi>
Alıştırma, bilgi ve pekiştirme için örnek videolu kodlama videosunu izleyin
Videolu kodlama;
 


Cem_

Ağaç Yumruklayıcı
Mesajlar
34
En iyi cevaplar
0
Beğeniler
2
Puanları
410
Teşekkürler çok güzel anlatmışsınız, devamını da bekliyorum :)

Yalnız bir şeyi merak ettim:

Kod:
 nb
public class <Class-İsmi> extends JavaPlugin {
    public static final Logger logcuamca = Logger.getLogger("Minecraft");

    public void onEnable() {
        logcuamca.log(Level.INFO, "Deneme Logu!");
    }

    public void onDisable() {
        logcuamca.log(Level.INFO, "Deneme Kapanis Logu!");
    }
}

"static" ve "final" kodları ne işe yarıyor acaba? "public"ten sonra yazdıklarınız..
 

SFKY

Kızıltaş Madencisi
Mesajlar
667
En iyi cevaplar
0
Beğeniler
296
Puanları
0

Alps

Lapis Toplayıcısı
Mesajlar
1,040
En iyi cevaplar
0
Beğeniler
736
Puanları
1,090
Ben anlamam eklentilerden çok ekstrem anlamda.
Fakat yararlı konu ellerinize sağlık. :)
 

Üst