Sol Reklam
Sağ Reklam

Rehber Alana özel event dinleme

Durum
Mesaj gönderimine kapalı.

Slexify

Somon Balığı Selam Vermeye Geldi

Discord:

acablade

Katılım
15 Ağustos 2017
Mesajlar
17
Elmaslar
5
Puanlar
13.260
Yaş
25
Minecraft
Acablade
Giriş
Merhaba forum sakinleri, bu konuda başlıkta da gördüğünüz üzere alana özel event dinleme olayını anlatacağım.

Nerede kullanabilirim ?
Sunucunuzun lobisinde küçük bir arena tarzı bir yer ya da bir mmorpg sunucusunda bölgeleri ayırma gibi çok ayrı kullanımları var. Sınır hayal gücünüz.

Anlatım

Elimizde bir Region classı olacak ve her regionun minimum lokasyonu ve maksimum lokasyonu olacak, ve bir de static Listener değişkeni olacak, hayır class Listener implementlemeyecek değişken olarak bulunduracak nedenini birazdan öğreneceksiniz.

Bu projenin asıl olayı "registerEvents" fonksiyonunu kullanmak yerine "registerEvent" fonksiyonunu kullanmakta bitiyor, benim sağladığım şey ise bunu kolaylaştıran bir araç, illa alan için kullanmanıza gerek yok bu olayı kendi dileğinize göre rahatça esnetebilirsiniz.

Neden registerEvents değil de registerEvent ?
registerEvent fonksiyonu bizden parametre olarak Event classı, Listener(bu yüzden değişken olarak atadık), Event önem sırası, Event executor ve plugin istiyor. sorumuzun cevabı ise registerEvent fonksiyonu parametrede belirtmiş olduğumuz Listener'a yeni event atarken, registerEvents fonksiyonu var olan listener'ın içerisindeki eventleri kapsıyor bu da amacımız doğrultusunda istediğimiz esnekliği kısıtlıyor.

İyi güzel de kodu anlat artık be
Hayhay!
Başta boş olan Region classımızı açtık ve değişkenlerimizi tanımladık:
1646534224531.png

şimdi sorabilirsiniz neden Listener static diye, isterseniz static yapmayabilirsiniz orası size kalmış ben tüm eventleri direkt 1 listenerda toplamak istediğim için böyle yaptım.
1646534336272.png

Sonra da güzelinden constructor'ımızı oluşturduk. Buraya kadar anlatacak fazla bir şey yok kodda maalesef.
1646534478853.png

Kırmızı ile işaretlediğim bölge, Event extendleyen istediğimiz classı alabilmemizi sağlıyor. Geri kalan yerler ise basit Java olayları anlatmama gerek olduğunu düşünmüyorum pek. Eğer bilmiyorsanız internette Consumer ve Generic Type olayını araştırabilirsiniz.
1646534617362.png

Geriye de gelecekte işimizi kolaylaştıracak şeyler kalıyor.

İyi güzel de biz bunu nasıl kullanacağız ?
1646534835636.png

Bu kadar ? (RegionEnterEvent ve RegionLeaveEvent kodlarını örnek pluginde bulabilirsiniz.)


Örnek Plugin:
Bu yazının üstüne tıklayarak pluginin kaynak kodlarına gidebilirsin.
NOT: PLUGIN TEST EDİLMEDİ.

Bu yazıya tıklayarak konuya ait videoya gidebilirsin.

İlk konum, eksiklerimi söylerseniz çok memnun olurum.
 

Ekler

  • 1646534400694.png
    1646534400694.png
    20,4 KB · Görünt.: 3
Durum
Mesaj gönderimine kapalı.
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı