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 67d33e7..479a2f6 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 @@ -2,9 +2,11 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; 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.jetbrains.annotations.NotNull; @@ -23,4 +25,28 @@ public class CreeperTalisman extends Talisman { event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); } + + @Override + public void onArrowDamage(@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 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } + + @Override + public void onTridentDamage(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final Trident trident, + @NotNull final EntityDamageByEntityEvent event) { + if (!(victim instanceof Creeper)) { + return; + } + + event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } } 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 03f8a3d..98cbbe6 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 @@ -3,8 +3,10 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; 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.jetbrains.annotations.NotNull; @@ -23,4 +25,28 @@ public class EndTalisman extends Talisman { event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); } + + @Override + public void onArrowDamage(@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 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } + + @Override + public void onTridentDamage(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final Trident trident, + @NotNull final EntityDamageByEntityEvent event) { + if (attacker.getWorld().getEnvironment() != World.Environment.THE_END) { + return; + } + + event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } } 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 97672f0..3775a0e 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 @@ -3,8 +3,10 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; 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.jetbrains.annotations.NotNull; @@ -23,4 +25,28 @@ public class NetherTalisman extends Talisman { event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); } + + @Override + public void onArrowDamage(@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 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } + + @Override + public void onTridentDamage(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final Trident trident, + @NotNull final EntityDamageByEntityEvent event) { + if (attacker.getWorld().getEnvironment() != World.Environment.NETHER) { + return; + } + + event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } } 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 311ee63..aeb17da 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 @@ -2,9 +2,11 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; 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.jetbrains.annotations.NotNull; @@ -23,4 +25,28 @@ public class RaidTalisman extends Talisman { event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); } + + @Override + public void onArrowDamage(@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 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } + + @Override + public void onTridentDamage(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final Trident trident, + @NotNull final EntityDamageByEntityEvent event) { + if (!(victim instanceof Illager)) { + return; + } + + event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } } 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 291ebcd..20a4cc6 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 @@ -2,9 +2,11 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; 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.jetbrains.annotations.NotNull; @@ -23,4 +25,28 @@ public class SkeletonTalisman extends Talisman { event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); } + + @Override + public void onArrowDamage(@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 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } + + @Override + public void onTridentDamage(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final Trident trident, + @NotNull final EntityDamageByEntityEvent event) { + if (!(victim instanceof Skeleton)) { + return; + } + + event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } } 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 e9f238a..2a0e81c 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 @@ -2,9 +2,11 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; 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.jetbrains.annotations.NotNull; @@ -23,4 +25,28 @@ public class SpiderTalisman extends Talisman { event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); } + + @Override + public void onArrowDamage(@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 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } + + @Override + public void onTridentDamage(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final Trident trident, + @NotNull final EntityDamageByEntityEvent event) { + if (!(victim instanceof Spider)) { + return; + } + + event.setDamage(event.getDamage() * (1 + (this.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 922df18..c26b687 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 @@ -2,8 +2,10 @@ package com.willfp.talismans.talismans.talismans; import com.willfp.talismans.talismans.Talisman; 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.jetbrains.annotations.NotNull; @@ -23,4 +25,28 @@ public class ZombieTalisman extends Talisman { event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); } + + @Override + public void onArrowDamage(@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 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } + + @Override + public void onTridentDamage(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final Trident trident, + @NotNull final EntityDamageByEntityEvent event) { + if (!(victim instanceof Zombie)) { + return; + } + + event.setDamage(event.getDamage() * (1 + (this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100)); + } }