package mineplex.game.clans.items.attributes; import org.bukkit.entity.Entity; import org.bukkit.event.entity.EntityDamageByEntityEvent; /** * Represents an attribute that triggers a special ability after a specified number * of attacks with a weapon possessing the attribute. * @author MrTwiggy * */ public abstract class AttackAttribute extends ItemAttribute { private int _attackLimit; private int _attackCount; public AttackAttribute(int attackLimit) { _attackLimit = attackLimit; _attackCount = 0; } public void onAttack(EntityDamageByEntityEvent event) { _attackCount++; if (_attackCount >= _attackLimit) { _attackCount = 0; triggerAttack(event.getDamager(), event.getEntity()); } } public abstract void triggerAttack(Entity attacker, Entity defender); }