Yalnız sıkıntının onla alakası yok SefaAma çok şey yazmışsınız
kütüphanen spigot ise;
oyuncu.getWorld().spigot().playEffect(...); // particle effect yapmak için bunu kullanabilirsin.
O dediğin başka bir şey o efektler burda yapmaya çalışılan particlelarAma çok şey yazmışsınız
kütüphanen spigot ise;
oyuncu.getWorld().spigot().playEffect(...); // particle effect yapmak için bunu kullanabilirsin.
Bazen deprecated olmayan metodlar karışık veya uzun oluyor.(bknz:getTargetedBlock()) Bu yüzden deprecated kullanmanda pek sıkıntı yok kaldırılma işi baya uzun sürüyorIlk olarak @KRHN in dedigini birazcik aciyim. Kirmizi cizgiler error yani hata demekdir sarilar ise warning yani uyari demekdir. Uyarilar cogu zaman gormezden gelinebilir ancak bazi durumlarda tum programin calismasini engelliyebilir.
Peki deprecate nedir derseniz basitce eskimis kod olarak tanimlanabilir. Soyleki o kod yerine kullanilabilecek daha yeni kodlar oldugunu ve o kodu ilerki surumlerden birinde kaldirilabilecegini gosterir. Yani ilerki surumlerden birinde plugin calismayi durdurabilir. Her ne kadar zararsiz gorunsede hic bir pluginimde depracked kod kullanmamaya calisirim.
Kodun deprached olmayan haline gelirsek Bukkit.getOnlinePlayers() hata vermemeli sahsen ben onu kullaniyorum 1.8 versiyonunda hatasiz.
Son olarak hataya gelirsek debug yaparken if in icerisinde mesaj yollamayi denedigini tahmin ediyorum.
Onerim ilk olarak ne kullandigini bilmiyorum ancak send message yapiyorsan onun yerine Bukkit.broadcastmessage kullanman boylece kisiye yonelik debug mesaji yerine tum swye + consola mesaj gondereceksin.
2. Si 1. Debug mesajini for dongusunden once koy ve mesajin icine (""+Bukkit.getOnlinePlayers()) yaz eger bu null donmuyorsa sikinti yoktur.
2. Mesaji hemen for dongusunun altina yaz icine alttaki if icine yazdigini birebir yaz eger true olarak donuyorsa sikinti yok false olarak donuyorsa "Map (hashmap vs.)" inda sikinti var.
3. Mesaji ilk if in icerisine yaz onada effectname yaz. Burdan null donuyorsa yine map inde bir sikinti var deilse zaten gelen deger ile if lerini karsilastirabilirsin.
Eger bunlarda ise yaramaz ise methodun cagirildigi yeri gostermen gerek. Yani bu methodu nerde kullaniyorsun bize orayi at
Biraz uzunca oldu umarim ise yarar yeni baslayanlar icinde guzelbi "debug yapma" tutorial i oldu snrm
Tekrar bakinca woohoo baya yazmisim![]()
Maruf'un dediği gibi yapmalısın. Mesela en basitinden bir örnek, PlayerChatEvent. Bu Event 1.4'ün altında çalışıyor sanırsam 1.2.5'de çalıştığına adım gibi eminim. Fakat 1.7.2 gibi yüksek sürümlerde denersen bir Deprecate hatası verecektir ve Event çalışmayacaktır. Böyle durumların olması söz konusudur, o yüzden AsyncPlayerChatEvent vardır zatenBazen deprecated olmayan metodlar karışık veya uzun oluyor.(bknz:getTargetedBlock()) Bu yüzden deprecated kullanmanda pek sıkıntı yok kaldırılma işi baya uzun sürüyor
Ama bukkit bazı metodları kaldırıyor yenilerine de yenisini getirmiyor o zaman daha fazla kod yazmak zorunda kalıyoruz bu yüzden @SupressWarningsMaruf'un dediği gibi yapmalısın. Mesela en basitinden bir örnek, PlayerChatEvent. Bu Event 1.4'ün altında çalışıyor sanırsam 1.2.5'de çalıştığına adım gibi eminim. Fakat 1.7.2 gibi yüksek sürümlerde denersen bir Deprecate hatası verecektir ve Event çalışmayacaktır. Böyle durumların olması söz konusudur, o yüzden AsyncPlayerChatEvent vardır zaten![]()
O konuda cod miktari arttikca saglamligininda arttigina emin olabilirsinAma bukkit bazı metodları kaldırıyor yenilerine de yenisini getirmiyor o zaman daha fazla kod yazmak zorunda kalıyoruz bu yüzden @SupressWarnings![]()
Sen PlayerChaEvent'i SupressWarnings ile kullanmaya çalış o zamanAma bukkit bazı metodları kaldırıyor yenilerine de yenisini getirmiyor o zaman daha fazla kod yazmak zorunda kalıyoruz bu yüzden @SupressWarnings![]()
Yok onlar için tabii ki yeni yöntemleri kullanırım ama eskileri kadlırıp yerine yenileri getirilmemiş şeyler de varSen PlayerChaEvent'i SupressWarnings ile kullanmaya çalış o zaman![]()