2016-04-08 16 views

cevap

1

PlayerInteractEvent öğelerini dinleyebilir ve söz konusu oyuncunun bir kılıç tutup tutmadığını kontrol edebilirsiniz.

Bu örnek 1.9 için kullanılabilir:

if (p.getInventory().getItemInMainHand().getType() == Material.DIAMOND_SWORD) 

1.8 için aşağıdaki basitçe kullanabilirsiniz: if (e.getAction() == Action.LEFT_CLICK_AIR && e.getAction() == Action.LEFT_CLICK_BLOCK): player.getItemInHand().getType()

Eylem (saldırmak) LeftClickBlock veya LeftClickAir olup olmadığını kontrol etmek emin olun

1

Oyuncunun bir şeye ne zaman saldırdığını bilmeniz gerekiyorsa, EntityDamageByEntityEvent'u da kullanabilirsiniz. Bir oyuncu bir elmas kılıç kullanan bir kişi tarafından hasar gördü takdirde

@EventHandler 
public void onEntityDamage(EntityDamageByEntityEvent event) 
{ 
    if (event.getDamager() instanceof Player){ 
     //player is attacking someone 
     ....... 
    } 
} 
0

belirtmek gerekirse

 @EventHandler 
     public void onEntityDamage(EntityDamageByEntityEvent event) { 

     if (event.getDamager() instanceof Player && event.getEntity() instanceof Player) { 

     Player attacker = (Player) event.getDamager(); 

     if (attacker.getInventory().getItemInMainHand().getType() == Material.DIAMOND_SWORD) { 

      Player victim = (Player) event.getEntity(); 
      //Do something 
      Bukkit.broadcastMessage(attacker.getName() + " hit " + victim.getName() + " with a diamond sword!"); 

     } 

     } 

     } 

oyuncu başka bir elmas kılıç kullanan bir kişi tarafından saldırıya uğradı, bu kontrol ediyorum kullanabilirsiniz kontrol etmek. Eğer birisinin elmas kılıcı olan bir varlığa çarpıp vurmadığını tespit ederseniz, “kurban” kısmını terk edin/kontrol edin.

İlgili konular