[Çözüldü] Yaya zehir ekleme - koddaki hata nerede ?

Krumb069

Nether Yerlisi
En iyi cevaplar
1
Kod böyle eclipsede hata yok ancak çalışmıyor oyunda konsolda da hata yok neden olabilir ?
Kod:
 @EventHandler
  public void okMobacarptinca(EntityDamageByEntityEvent e){
      if (e.getDamager() instanceof Arrow){
          Arrow ok = (Arrow) e.getDamager();
          if(ok.getShooter() instanceof Player){
                  LivingEntity vurulan = (LivingEntity) e.getEntity();
                  vurulan.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 0, 5));
          }
      }     
  }
 

tutkusina

Kızıltaş Madencisi
En iyi cevaplar
0
hiçbir şey anlamadım :D
sen bunu yazmak için kaç gün harcadın? bende eclipse başlamak istiyorum =)
 

ruddeTR

projects.gg
Emektar Üye
En iyi cevaplar
2
Kod:
@EventHandler
    public void okMobacarptinca(EntityDamageByEntityEvent e){
        if (e.getDamager() instanceof Arrow){
            Arrow ok = (Arrow) e.getDamager();
            if(ok.getShooter() instanceof Player){
                LivingEntity vurulan = (LivingEntity) e.getEntity();
                vurulan.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 0, 5));
            }
        }    
    }
Tabsize ayarının böyle olması gerekmiyor mu? 1 süslü parantezden sonra TAB yapmamışsınız.
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
 

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
Kod:
@EventHandler
    public void okMobacarptinca(EntityDamageByEntityEvent e){
        if (e.getDamager() instanceof Arrow){
            Arrow ok = (Arrow) e.getDamager();
            if(ok.getShooter() instanceof Player){
                LivingEntity vurulan = (LivingEntity) e.getEntity();
                vurulan.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 0, 5));
            }
        }   
    }
Tabsize ayarının böyle olması gerekmiyor mu? 1 süslü parantezden sonra TAB yapmamışsınız.
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
Java da Tab sadece kodları kolay anlamak içindir işlevi yoktur.

Kodda hata yoki class'ı listen ettiğinden emin misin?
 

CrafterMan24

Arduino is my life :C
En iyi cevaplar
0
onEnable'de eventi register ettin mi?
Bir de main class'ın Listener'i implemente ediyor mu? (public class Main extends JavaPlugin implements Listener)
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
Evet ikisini de yaptım (kodda Poison 0 yazıyor ama 200 le de denemiştim)
 

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
vurulan.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 0, 5));
yerine
vurulan.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 0, 20*5));
Yapman lazım, saniye ile değil tik ile çalışıyor.
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
vurulan.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 0, 5));
yerine
vurulan.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 0, 20*5));
Yapman lazım, saniye ile değil tik ile çalışıyor.
Hata orda değil de anladım hatayı amplifer ( efekt seviyesi ) 0 yapmışım ondan
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
new PotionEffect(PotionEffectType.POISON, tick, etki) şeklinde olacak.
Sadede gelirsek;
new PotionEffect(PotionEffectType.POISON, 5*20, 0) olacak.
Bu arada etki 0'sa 1 gücünde iksir etkisi verir.

İşin kısası hem sürelemen yanlış hemde etki ile tick'in yerini karıştırmışsın.
Önce potion yapmıştım olmamıştı, sonra süreyi 0 etkiyi 5 türünü zarar yapayım dedim o da olmadı, poison diye değiştirip buraya atarken unutmuşum düzeltmeyi
 

SFKY

Kızıltaş Madencisi
En iyi cevaplar
0
Önce potion yapmıştım olmamıştı, sonra süreyi 0 etkiyi 5 türünü zarar yapayım dedim o da olmadı, poison diye değiştirip buraya atarken unutmuşum düzeltmeyi
Bide if (e.getEntity() instanceof LivingEntity) {} kontrolünüde ekle.
 
Üst