Eclipse Çoklu Class Kullanma!

xUfuky

Hayat Çok Sıkıcı.
En iyi cevaplar
0
Merhabalar Arkadaşlar. Ben Eclipse Başladım. Kendi Pluginlerimide Yaptım Az Çok. (sohbet temizleme / config vs)
şimdi ben 3 adet class oluşturuyorum bunlar;

Main
Antiascii
events

adlarında. şimdi antiascii yapınca işlemiyor sunucu görmüyor. events'te aynı görmüyor. nasıl düzeltebilirim.

@IRFN , @Krumb069 , @Centeglassered
 

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
Eventler için Main classında JavaPlugin'i extend'lemelisin ve onEnable'da kaydetmelisin(RegisterEvents*), events'de ise bir Listener, kodları atmadan doğru düzgün yardım edemeyiz.
 

Centeglassered

Kızıltaş Madencisi
En iyi cevaplar
0
Arkadaşım metotları kullanman lazım. Yazdın da ne yazdın içine?

Event ise yeni bir nesne oluşturmalısın. Bu nesne sayesinde yazdığın metotları (eventleri) bukkite kaydettireceksin.
onEnable metoduna eklenti açılırken kaydetme işlemleri yapılır.

PHP:
Bukkit.getPluginManager.registerEvents(JavaPluginNesnesi, ListenerNesnesi);

Zaten ana eklenti sınıfında yukarıda "extends JavaPlugin" yazmışsındır. Bu şu anlama gelir; Main sınıfı JavaPlugin sınıfının altıdır. Her Main nesnesi ayrıca bir JavaPlugin nesnesidir. Şimdi sen javaPluginNesnesini onEnableda kullanacaksan this anahtar kelimesi ile Main nesnesine erişirsin. Zaten Main nesnesi de JavaPlugin olduğu için kullanılabilir.

Listener için ise Antiascii sınıfında yukarıda "implements Listener" yazmalısın. Bu da yukarıdakine benzer. Ama extends ile implementsin farkı var. Bu yazılan daha çok "Antiascii sınıfının her nesnesi Listener arayüzünün isteklerini yerine getirebilir." gibi bir şey. Şimdi anlaşılan sana bir Antiascii nesnesi lazım ki içindeki eventleri bukkite kaydet.

Nesne oluşturma anahtar kelimesi neydi; new.

PHP:
Bukkit.getPluginManager.registerEvents(this, new Antiascii());

Eğer Antiasciinin içinde nesneye özel senin ayrı olarak yazdığın metotlar varsa bu nesneyi saklamak istersin. Bunun için ise;

PHP:
private Antiascii antiascii;

@Override
public void onEnable()
{
  antiascii = new Antiascii();
  Bukkit.getPluginManager.registerEvents(this, antiascii);
}

Böylece bu Antiascii nesnesine istediğin zaman ulaşabilirsin.[DOUBLEPOST=1439588066,1439587940][/DOUBLEPOST]Geçse kusura bakma foruma bakmıyordum 1-2 gündür.
 
Son düzenleme:

xUfuky

Hayat Çok Sıkıcı.
En iyi cevaplar
0
Arkadaşım metotları kullanman lazım. Yazdın da ne yazdın içine?

Event ise yeni bir nesne oluşturmalısın. Bu nesne sayesinde yazdığın metotları (eventleri) bukkite kaydettireceksin.
onEnable metoduna eklenti açılırken kaydetme işlemleri yapılır.

Kod:
Bukkit.getPluginManager.registerEvents(JavaPluginNesnesi, ListenerNesnesi);

Zaten ana eklenti sınıfında yukarıda "extends JavaPlugin" yazmışsındır. Bu şu anlama gelir; Main sınıfı JavaPlugin sınıfının altıdır. Her Main nesnesi ayrıca bir JavaPlugin nesnesidir. Şimdi sen javaPluginNesnesini onEnableda kullanacaksan this anahtar kelimesi ile Main nesnesine erişirsin. Zaten Main nesnesi de JavaPlugin olduğu için kullanılabilir.

Listener için ise Antiascii sınıfında yukarıda "implements Listener" yazmalısın. Bu da yukarıdakine benzer. Ama extends ile implementsin farkı var. Bu yazılan daha çok "Antiascii sınıfının her nesnesi Listener arayüzünün isteklerini yerine getirebilir." gibi bir şey. Şimdi anlaşılan sana bir Antiascii nesnesi lazım ki içindeki eventleri bukkite kaydet.

Nesne oluşturma anahtar kelimesi neydi; new.

Kod:
Bukkit.getPluginManager.registerEvents(this, new Antiascii());

Eğer Antiasciinin içinde nesneye özel senin ayrı olarak yazdığın metotlar varsa bu nesneyi saklamak istersin. Bunun için ise;

Kod:
private Antiascii antiascii;

@Override
public void onEnable()
{
  antiascii = new Antiascii();
  Bukkit.getPluginManager.registerEvents(this, antiascii);
}

Böylece bu Antiascii nesnesine istediğin zaman ulaşabilirsin.[DOUBLEPOST=1439588066,1439587940][/DOUBLEPOST]Geçse kusura bakma foruma bakmıyordum 1-2 gündür.
anladım. bunu biliyordum. fakat events class'ını nasıl aynı şekil yapacağım?
 

Centeglassered

Kızıltaş Madencisi
En iyi cevaplar
0
anladım. bunu biliyordum. fakat events class'ını nasıl aynı şekil yapacağım?
İlk önce "events" sınıfının ismini "Events" yap. Çünkü Java'da sınıflar büyük harf ile başlar. Bunun için; sol da bir Package Explorer dediğimiz araç olmalı. Orada sınıfların, projelerin falan bulunur. events sınıfının üstüme sağ tıkla çıkan bağlam menüsünden Refactor > Rename yap.

İlk başta söylediğimin içindeki her Antiascii'yi Events yap. Aynısı geçerli. Ama büyük ihtimal Events'de sadece eventler vardır. Bu nedenle nesneyi saklamana gerek yok. Doğrudan onEnable'a şunu ekle yeter;
PHP:
Bukkit.getPlugiManager().registerEvents(this, new Events());
 

xUfuky

Hayat Çok Sıkıcı.
En iyi cevaplar
0
İlk önce "events" sınıfının ismini "Events" yap. Çünkü Java'da sınıflar büyük harf ile başlar. Bunun için; sol da bir Package Explorer dediğimiz araç olmalı. Orada sınıfların, projelerin falan bulunur. events sınıfının üstüme sağ tıkla çıkan bağlam menüsünden Refactor > Rename yap.

İlk başta söylediğimin içindeki her Antiascii'yi Events yap. Aynısı geçerli. Ama büyük ihtimal Events'de sadece eventler vardır. Bu nedenle nesneyi saklamana gerek yok. Doğrudan onEnable'a şunu ekle yeter;
PHP:
Bukkit.getPlugiManager().registerEvents(this, new Events());
Teşekkürler.....
 
Üst