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