Çözüldü Pluginde hatasız hata

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

King800

Somon Balığı Selam Vermeye Geldi
Katılım
14 Ağustos 2019
Mesajlar
13
Elmaslar
1
Puan
3.710
Yaş
25
Merhabalar bi plugin tasarlıyorum. Pluginin configinde kullanacağım değer 0 olarak kodladım. Sonrasında ise if(getConfig().getInt("SpawnerLevel."+player.getUniqueId()+".JLevel")==0) ile çekmeye çalışıyorum fakat. Configte 0 olarak gözükmesine rağmen bu bloğa girmiyor null atıyor.
 
Merhabalar bi plugin tasarlıyorum. Pluginin configinde kullanacağım değer 0 olarak kodladım. Sonrasında ise if(getConfig().getInt("SpawnerLevel."+player.getUniqueId()+".JLevel")==0) ile çekmeye çalışıyorum fakat. Configte 0 olarak gözükmesine rağmen bu bloğa girmiyor null atıyor.
Plugin ne plugini onu bilmiyorum ama merak ettim konu 0 ile hangi bloku çekmeye çalışıyorsun onu anlamadım javadan pek anlamam ama bir sorayım dedim belki başkaları yardımcı olabilir
 
Şöyle ki bi level sistemi yapıyorum eklentimdeki şeye bunun için oyuncu sunucuya ilk girdiginde hashmapteki ve configteki degerini 0 olarak atıyorum.Sonrasında ise çağırdığım metodla level degerini 1 olarak değiştireceğim fakat if blogunun icine girmiyor. Null olarak görüyor yukarıdaki kontrolde.
 
Merhaba,

Bu sorun, getUniqueId() yöntemi tarafından döndürülen değerin doğru şekilde kullanılmamasından kaynaklanabilir. Bu yöntem, oyuncunun benzersiz kimliğini (UUID) döndürür ve String türündedir, bu nedenle bu kimliği kullanırken dikkatli olmanız gerekir.

Öncelikle, config dosyanızın doğru şekilde yüklendiğinden emin olun. getConfig() yöntemini çağırdıktan sonra config dosyanızın yüklendiğinden emin olmak için kontrol ettiğinizden emin olun.

Ayrıca, getUniqueId() yöntemini çağırdığınız zaman, bir String türü olarak döndürülen değeri doğru şekilde kullanmaya dikkat edin. getConfig().getInt() yöntemi bir integer değer döndürür, bu nedenle String türündeki oyuncu kimliğini integer bir değere dönüştürmeniz gerekir.

Bunun için şöyle bir kod kullanabilirsiniz:
Kod:
String playerUUID = player.getUniqueId().toString();
int spawnerLevel = getConfig().getInt("SpawnerLevel." + playerUUID + ".JLevel");
if(spawnerLevel == 0) {
    // Do something
}

Yukarıdaki kod, oyuncunun UUID'sini String türüne dönüştürür ve daha sonra integer değer olarak okur. Bu şekilde, 0 olarak ayarlanan bir değeri doğru şekilde kontrol edebilirsiniz.

Log dosyasında görünen hata "java.lang.NullPointerException" hatasıdır ve hatanın kaynağı kodda belirtilmemiş. Bu hata, genellikle bir nesne değişkeni null olduğunda ortaya çıkar ve daha sonra bu değişkeni kullanmaya çalıştığınızda oluşur. Hatayı çözmek için, kodunuzda hangi nesne değişkeninin null olduğunu belirlemeniz ve bu değişkenin değerini doğru şekilde ayarlamak veya kontrol etmek gerekebilir.
 
Sağol hocam buldum hatamı. Ben hatayı %100 yazdığım kod kaynaklı düşünüp console'u detaylı incelemememiştim bile.
Sorun main classtan get ile bir şey çekmeye çalıştığım için onEnable'da =this olarak belirtmememmiş.
 
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