Lütfen Yardım Edin - Eclipse

AdaletWasHere

Zombi Katili
En iyi cevaplar
0
Örnek bir kullanım gösterebilirse biri çok güzel olabilir. Bu arada hepinize çok teşekkür ederim :)
 
Son düzenleme:

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
Kırmızı bir hata değil, sarı bir hata. Yani hata demek yanlış olur, eskimiş ve onun yerine daha iyi bir fonksiyon çıkmış muhtemelen ve bunu kullanman takdirinde hata çıkabileceğini söylüyor. Bir "Deprecate" hatasıdır, hiç görmezden gelip bile kullanabilirsin. Fakat istersen hatanın Eclipse'de gözükmemesi için şunu methodunun üstüne koy, aynı EventHandler veya Override koyar gibi,
@SuppressWarnings("deprecation")
Koyman takdirinde hata çözülecektir.
 

SFKY

Kızıltaş Madencisi
En iyi cevaplar
0
Ama çok şey yazmışsınız
kütüphanen spigot ise;
oyuncu.getWorld().spigot().playEffect(...); // particle effect yapmak için bunu kullanabilirsin.
 

Maruf61

Lapis Toplayıcısı
En iyi cevaplar
0
Ilk 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 :D
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
Ilk 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 :D
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üyor
 

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
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üyor
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 zaten :D
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
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 zaten :D
Ama bukkit bazı metodları kaldırıyor yenilerine de yenisini getirmiyor o zaman daha fazla kod yazmak zorunda kalıyoruz bu yüzden @SupressWarnings :D
 

Maruf61

Lapis Toplayıcısı
En iyi cevaplar
0
Demek istedigimiz sey su sen suanda deprached kodlar ile bir plugin yazarsan ilerki surumlerden birinde o pluginin calismamasi asiri muhtemeldir :)
 
Üst