Rehber Minecraft Plugin Kodlama 1.18 #1 Lİsteners

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

kerimsargin

Fırında Isıttığım İlk Taş
Katılım
16 Nisan 2021
Mesajlar
86
Elmaslar
67
Puan
6.685
Konum
Kayseri
Minecraft
kerimsarginnn

Discord:

Kerim_#0001

Listener Nedir?
Listener, Türkçe anlamı ile "Dinleyici" demektir. Eklenti kodlarken de oyuncuların hareketlerini dinler.
İlk Listenerinizi Oluşturma
1. Proje Oluşturma
İlk olarak bir proje oluşturmanız gerekmekte. Nasıl proje açılacağını öğrenmek için bu mesaja tıklayarak bilgi edinebilirsiniz.
2. Class Oluşturma
İkinci olarak yeni bir class oluşturuyoruz, class oluşturmak için Intellij Idea kullanıyor isek sol taraftaki dosya navigasyonundan main klasöre kadar iniyorsunuz. Klasöre sağ tıklayıp "New" kısmına gelip "Java Class" butonuna tıklıyoruz. Daha sonra bizden bir isim isteyecek, Türkçe harf ve sembol kullanmadan istediğiniz ismi yazabilirsiniz.
class-olustur.png

3. Listeneri Hazırlamak
Yeni oluşturduğumuz class'a girerek 3. satırda bulunan public class <Classs İsmi> kısmına implements Listener ekliyoruz. 1. satırdan sonrası daha sonra aşağıdaki şekilde oluyor.
Java:
import org.bukkit.event.Listener;

public class Classİsmi implements Listener {

}
4. Listener Kaydetme
Spigot'un olayları eklentinize iletebilmesi için main classınızda oluşan
Java:
    public void onEnable() {
        // Plugin startup logic

    }
kısmına getServer().getPluginManager().registerEvents(new com.kerim.Listener(),this); ekliyoruz com.kerim.Listener kısmına sizin oluşturduğunuz class ismini girmeniz gerekmekte.
Java:
    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(new com.kerim.Listener(),this);
    }
5. Listener Ekleme
İlk olarak oluşturduğunuz class'a giriyoruz. Bir satır aşağıya iniyoruz ve koda @EventHandler ekliyoruz. @EventHandler'den bir satır aşağıya iniyoruz ve public void onPlayerJoin(PlayerJoinEvent event) ekliyoruz (public void onPlayerJoin kısmındaki onPlayerJoin'e istediğiniz değeri verebilirsiniz, PlayerJoinEvent kısmına da istediğiniz eventi girebilirsiniz, ilerleyen günlerde eventleri tanıtacak bir konu daha açacağım.)
Java:
public class Listener implements org.bukkit.event.Listener {
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        
    }
}
Şimdi ise bir oyuncu oyuna katıldığında duyuru geçmesini sağlayacağız. Üstteki kodumuza açtığımız yeni süslü parantezlerin arasına Bukkit.broadcastMessage("Bir oyuncu oyuna katıldı!"); ekliyoruz.
Java:
public class Listener implements org.bukkit.event.Listener {
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        Bukkit.broadcastMessage("Bir oyuncu oyuna katıldı!");
    }
Listenerlerin genel olarak mantığı bu şekilde. Tüm eventleri öğrenmek için
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
tıklayabilirsiniz. Bir sonraki konuda görüşmek üzere ?
 

Ekli dosyalar

  • listener-imp.png
    listener-imp.png
    79,5 KB · Görüntüleme: 34
Detaylı ve hoş bir anlatım olmuş.
 
Az çok kodların çalışma mantığını anlatman fena olmamış ama bir tık daha detay verirsen belki bu işe girişmek isteyen arkadaşların kafalarındaki "bunu yazması zor geliyor" düşüncesini de kaldırabilirsin. Yeterli ve açıklayıcı bir konu olmuş, eline sağlık.
 
Az çok kodların çalışma mantığını anlatman fena olmamış ama bir tık daha detay verirsen belki bu işe girişmek isteyen arkadaşların kafalarındaki "bunu yazması zor geliyor" düşüncesini de kaldırabilirsin. Yeterli ve açıklayıcı bir konu olmuş, eline sağlık.
Teşekkürler, sonraki konularımda elimden geldiğince detaylı anlatacağım.
 
Elinize sağlık güzel bi anlatım olmuş
 
Olley be sonunda biri basit şekilde java anlatmış.
Çok teşekkür ederim sonunda benim gibi bilgisiz ve öğrenme güçlüğü çeken insanlar anlayabilcek teşekkür ederim yoldaş kerim bella ciao
 
Anlatım biraz daha detaylandırılabilirdi. Kendimden biliyorum, ilk başladığımda "bunu neden buraya yazmış?" diyordum kendime. :) Fakat yinede güzel bir anlatım olmuş. :mc_41-0:
 
Cidden hoş bir anlatım olmuş.
 
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