2014-11-22 65 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); 
     } 
    } 
}