2014-11-22 89 views
-2

我將如何檢查物品,然後讓玩家做些什麼?確定更具體的一個玩家加入我已經給了一個玩家項目,但是我想要做的是;如果一名球員攻擊一名球員,他只能用他手中的特定物品進行比賽,一把鑽石劍如果不是,那麼它將取消所有傷害,以便攻擊者不能攻擊受害者,除非他只有一把鑽石劍手?如果攻擊者瞄準玩家,我將如何寫入取消玩家vs玩家或使玩家vs玩家?檢查物品和攻擊

回答

1

看看EntityDamageByEntityEvent

EntityDamageByEntityEvent.getDamager()上檢查Player攻擊者,然後使用Player.getItemInHand()來驗證他是否持有所需的ItemStack

@EventHandler 
public void onNormal(EntityDamageByEntityEvent event) { 
    Entity attacker = event.getDamager(); 
    if (attacker.getType() == EntityType.PLAYER) { 
     Player player = (Player)attacker; 
     if (player.getItemInHand().getType() != Material.DIAMOND_SWORD) { 
      event.setCancelled(true); 
     } 
    } 
}