检查物品和攻击

时间:2014-11-22 05:45:47

标签: bukkit

我如何检查项目然后允许玩家做某事?好吧,更具体的一个球员加入我给了一个球员项目,但我想做的是;如果一个玩家攻击一个玩家,他只能用他手中的特定物品来做,一把钻石剑,如果他没有那么它会取消所有伤害,这样攻击者就不会攻击受害者,除非他只有一把钻石剑在他手里?如果攻击者瞄准玩家,我将如何编写取消玩家与玩家或启用玩家与玩家?

1 个答案:

答案 0 :(得分: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);
        }
    }
}