diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/BossTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/BossTalisman.java index fb7bf49..d4a08f4 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/BossTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/BossTalisman.java @@ -4,13 +4,11 @@ import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; import org.bukkit.NamespacedKey; -import org.bukkit.entity.Arrow; import org.bukkit.entity.Boss; import org.bukkit.entity.ElderGuardian; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.persistence.PersistentDataType; import org.jetbrains.annotations.NotNull; @@ -21,36 +19,10 @@ public class BossTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Boss || victim instanceof ElderGuardian) && !victim.getPersistentDataContainer().has(new NamespacedKey("ecobosses", "boss"), PersistentDataType.STRING)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Boss || victim instanceof ElderGuardian) && !victim.getPersistentDataContainer().has(new NamespacedKey("ecobosses", "boss"), PersistentDataType.STRING)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (!(victim instanceof Boss || victim instanceof ElderGuardian) && !victim.getPersistentDataContainer().has(new NamespacedKey("ecobosses", "boss"), PersistentDataType.STRING)) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/CreeperTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/CreeperTalisman.java index 301186b..2cbb441 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/CreeperTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/CreeperTalisman.java @@ -3,12 +3,10 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; -import org.bukkit.entity.Arrow; import org.bukkit.entity.Creeper; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class CreeperTalisman extends Talisman { @@ -17,36 +15,10 @@ public class CreeperTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Creeper)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Creeper)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (!(victim instanceof Creeper)) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/DayCrystal.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/DayCrystal.java index 5f567fa..07659c3 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/DayCrystal.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/DayCrystal.java @@ -4,11 +4,9 @@ import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; import org.bukkit.World; -import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class DayCrystal extends Talisman { @@ -17,44 +15,10 @@ public class DayCrystal extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) { - return; - } - - if (!(attacker.getWorld().getTime() < 12300 && attacker.getWorld().getTime() > 23850)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) { - return; - } - - if (!(attacker.getWorld().getTime() < 12300 && attacker.getWorld().getTime() > 23850)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/EndTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/EndTalisman.java index 1862a73..dec8296 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/EndTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/EndTalisman.java @@ -4,11 +4,9 @@ import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; import org.bukkit.World; -import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class EndTalisman extends Talisman { @@ -17,36 +15,10 @@ public class EndTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (attacker.getWorld().getEnvironment() != World.Environment.THE_END) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (attacker.getWorld().getEnvironment() != World.Environment.THE_END) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (attacker.getWorld().getEnvironment() != World.Environment.THE_END) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NecromanceRing.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NecromanceRing.java index efcc61f..9270e14 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NecromanceRing.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NecromanceRing.java @@ -3,15 +3,12 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; -import org.bukkit.World; -import org.bukkit.entity.Arrow; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Skeleton; -import org.bukkit.entity.Trident; import org.bukkit.entity.Zombie; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class NecromanceRing extends Talisman { @@ -20,64 +17,10 @@ public class NecromanceRing extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - int count = 0; - double distance = level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "distance"); - for (Entity nearbyEntity : attacker.getNearbyEntities(distance, distance, distance)) { - if (!(nearbyEntity instanceof Zombie || nearbyEntity instanceof Skeleton)) { - continue; - } - - count++; - } - - if (count == 0) { - return; - } - - double multiplier = level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "multiplier-per-mob"); - multiplier *= count; - multiplier += 1; - - event.setDamage(event.getDamage() * multiplier); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - int count = 0; - double distance = level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "distance"); - for (Entity nearbyEntity : attacker.getNearbyEntities(distance, distance, distance)) { - if (!(nearbyEntity instanceof Zombie || nearbyEntity instanceof Skeleton)) { - continue; - } - - count++; - } - - if (count == 0) { - return; - } - - double multiplier = level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "multiplier-per-mob"); - multiplier *= count; - multiplier += 1; - - event.setDamage(event.getDamage() * multiplier); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { int count = 0; double distance = level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "distance"); for (Entity nearbyEntity : attacker.getNearbyEntities(distance, distance, distance)) { diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NetherTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NetherTalisman.java index e479dc9..4214181 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NetherTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NetherTalisman.java @@ -4,11 +4,9 @@ import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; import org.bukkit.World; -import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class NetherTalisman extends Talisman { @@ -17,36 +15,10 @@ public class NetherTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (attacker.getWorld().getEnvironment() != World.Environment.NETHER) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (attacker.getWorld().getEnvironment() != World.Environment.NETHER) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (attacker.getWorld().getEnvironment() != World.Environment.NETHER) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NightCrystal.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NightCrystal.java index 04f89a6..e0d8d7b 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NightCrystal.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/NightCrystal.java @@ -4,11 +4,9 @@ import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; import org.bukkit.World; -import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class NightCrystal extends Talisman { @@ -17,44 +15,10 @@ public class NightCrystal extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) { - return; - } - - if (!(attacker.getWorld().getTime() > 12300 && attacker.getWorld().getTime() < 23850)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) { - return; - } - - if (!(attacker.getWorld().getTime() > 12300 && attacker.getWorld().getTime() < 23850)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/RaidTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/RaidTalisman.java index 067d9d4..24846b2 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/RaidTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/RaidTalisman.java @@ -3,12 +3,10 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; -import org.bukkit.entity.Arrow; import org.bukkit.entity.Illager; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class RaidTalisman extends Talisman { @@ -17,36 +15,10 @@ public class RaidTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Illager)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Illager)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (!(victim instanceof Illager)) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SkeletonTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SkeletonTalisman.java index bfde666..d345c2c 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SkeletonTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SkeletonTalisman.java @@ -3,12 +3,10 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; -import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Skeleton; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class SkeletonTalisman extends Talisman { @@ -17,36 +15,10 @@ public class SkeletonTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Skeleton)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Skeleton)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (!(victim instanceof Skeleton)) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SpiderTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SpiderTalisman.java index fb06b2d..9377ba0 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SpiderTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SpiderTalisman.java @@ -3,12 +3,10 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; -import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Spider; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class SpiderTalisman extends Talisman { @@ -17,36 +15,10 @@ public class SpiderTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Spider)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Spider)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (!(victim instanceof Spider)) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/StrengthTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/StrengthTalisman.java index 4eecd7d..a477d92 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/StrengthTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/StrengthTalisman.java @@ -3,11 +3,9 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; -import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class StrengthTalisman extends Talisman { @@ -16,28 +14,10 @@ public class StrengthTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ZombieTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ZombieTalisman.java index 52a0339..444e7c0 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ZombieTalisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ZombieTalisman.java @@ -3,12 +3,10 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; -import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Trident; import org.bukkit.entity.Zombie; -import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; import org.jetbrains.annotations.NotNull; public class ZombieTalisman extends Talisman { @@ -17,36 +15,10 @@ public class ZombieTalisman extends Talisman { } @Override - public void onMeleeAttack(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Zombie)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onArrowDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event) { - if (!(victim instanceof Zombie)) { - return; - } - - event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); - } - - @Override - public void onTridentDamage(@NotNull final TalismanLevel level, - @NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event) { + public void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { if (!(victim instanceof Zombie)) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/Watcher.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/Watcher.java index 4efe8a3..9138245 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/Watcher.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/Watcher.java @@ -65,6 +65,21 @@ public interface Watcher { // Empty default as talismans only override required watchers. } + /** + * Called when a player another entity with any attack. + * + * @param level The level. + * @param attacker The attacker. + * @param victim The victim. + * @param event The event that called this watcher. + */ + default void onAnyAttack(@NotNull final TalismanLevel level, + @NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageEvent event) { + // Empty default as talismans only override required watchers. + } + /** * Called when a player another entity with a melee attack. * diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/WatcherTriggers.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/WatcherTriggers.java index 4c6e03a..7167730 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/WatcherTriggers.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/WatcherTriggers.java @@ -107,6 +107,7 @@ public class WatcherTriggers extends PluginDependent implements Listener { } talismanLevel.getTalisman().onArrowDamage(talismanLevel, attacker, victim, arrow, event); + talismanLevel.getTalisman().onAnyAttack(talismanLevel, attacker, victim, event); }); } @@ -168,6 +169,7 @@ public class WatcherTriggers extends PluginDependent implements Listener { } talismanLevel.getTalisman().onTridentDamage(talismanLevel, attacker, victim, trident, event); + talismanLevel.getTalisman().onAnyAttack(talismanLevel, attacker, victim, event); }); } @@ -265,6 +267,7 @@ public class WatcherTriggers extends PluginDependent implements Listener { } talismanLevel.getTalisman().onMeleeAttack(talismanLevel, attacker, victim, event); + talismanLevel.getTalisman().onAnyAttack(talismanLevel, attacker, victim, event); }); }