From 42bb90fdb38f7a16dbf4919daf1bfd7fb5696cb9 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sun, 3 Jan 2021 18:46:31 +0000 Subject: [PATCH] Added raid ring and raid relic --- .../willfp/talismans/talismans/Talismans.java | 4 ++ .../talismans/talismans/relic/RaidRelic.java | 53 +++++++++++++++++++ .../talismans/talismans/ring/RaidRing.java | 53 +++++++++++++++++++ .../resources/talismans/relic/raidrelic.yml | 27 ++++++++++ .../resources/talismans/ring/raidring.yml | 27 ++++++++++ 5 files changed, 164 insertions(+) create mode 100644 eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/relic/RaidRelic.java create mode 100644 eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ring/RaidRing.java create mode 100644 eco-core/core-plugin/src/main/resources/talismans/relic/raidrelic.yml create mode 100644 eco-core/core-plugin/src/main/resources/talismans/ring/raidring.yml diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talismans.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talismans.java index 5a18b00..3010e82 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talismans.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talismans.java @@ -13,6 +13,7 @@ import com.willfp.talismans.talismans.talismans.relic.FeatherRelic; import com.willfp.talismans.talismans.talismans.relic.FlameRelic; import com.willfp.talismans.talismans.talismans.relic.NetherRelic; import com.willfp.talismans.talismans.talismans.relic.PoseidonRelic; +import com.willfp.talismans.talismans.talismans.relic.RaidRelic; import com.willfp.talismans.talismans.talismans.relic.ResistanceRelic; import com.willfp.talismans.talismans.talismans.relic.SharpnessRelic; import com.willfp.talismans.talismans.talismans.relic.StrengthRelic; @@ -24,6 +25,7 @@ import com.willfp.talismans.talismans.talismans.ring.FeatherRing; import com.willfp.talismans.talismans.talismans.ring.FlameRing; import com.willfp.talismans.talismans.talismans.ring.NetherRing; import com.willfp.talismans.talismans.talismans.ring.PoseidonRing; +import com.willfp.talismans.talismans.talismans.ring.RaidRing; import com.willfp.talismans.talismans.talismans.ring.ResistanceRing; import com.willfp.talismans.talismans.talismans.ring.SharpnessRing; import com.willfp.talismans.talismans.talismans.ring.StrengthRing; @@ -103,6 +105,8 @@ public class Talismans { public static final Talisman RESISTANCE_RELIC = new ResistanceRelic(); public static final Talisman SHARPNESS_RELIC = new SharpnessRelic(); public static final Talisman STRENGTH_RELIC = new StrengthRelic(); + public static final Talisman RAID_RING = new RaidRing(); + public static final Talisman RAID_RELIC = new RaidRelic(); /** diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/relic/RaidRelic.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/relic/RaidRelic.java new file mode 100644 index 0000000..fafaacd --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/relic/RaidRelic.java @@ -0,0 +1,53 @@ +package com.willfp.talismans.talismans.talismans.relic; + +import com.willfp.talismans.talismans.Talisman; +import com.willfp.talismans.talismans.Talismans; +import com.willfp.talismans.talismans.meta.TalismanStrength; +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; + +public class RaidRelic extends Talisman { + public RaidRelic() { + super("raid_relic", TalismanStrength.TALISMAN); + } + + @Override + public void onMeleeAttack(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @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 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/ring/RaidRing.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ring/RaidRing.java new file mode 100644 index 0000000..602fc95 --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ring/RaidRing.java @@ -0,0 +1,53 @@ +package com.willfp.talismans.talismans.talismans.ring; + +import com.willfp.talismans.talismans.Talisman; +import com.willfp.talismans.talismans.Talismans; +import com.willfp.talismans.talismans.meta.TalismanStrength; +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; + +public class RaidRing extends Talisman { + public RaidRing() { + super("raid_ring", TalismanStrength.TALISMAN); + } + + @Override + public void onMeleeAttack(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @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 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/resources/talismans/relic/raidrelic.yml b/eco-core/core-plugin/src/main/resources/talismans/relic/raidrelic.yml new file mode 100644 index 0000000..5139d50 --- /dev/null +++ b/eco-core/core-plugin/src/main/resources/talismans/relic/raidrelic.yml @@ -0,0 +1,27 @@ +name: "Raid Relic" +description: Deal 25% more damage to illagers. +enabled: true + +obtaining: + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talisman:raid_ring + - talisman:raid_ring + - talisman:raid_ring + + - talisman:raid_ring + - nether_star + - talisman:raid_ring + + - talisman:raid_ring + - talisman:raid_ring + - talisman:raid_ring + +general-config: + disabled-in-worlds: [] + # Texture is base64, https://minecraft-heads.com has a list of skulls. + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDUzYTM4N2U1ZDRjMDI1Zjg2ZDU5YmEwODljODcwYTIzYzRjNzk4ODEwODBkZTMzYjk0ZTJlN2I1YWNiYzhlMSJ9fX0= + +config: + percent-more-damage: 25 \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/resources/talismans/ring/raidring.yml b/eco-core/core-plugin/src/main/resources/talismans/ring/raidring.yml new file mode 100644 index 0000000..a49de93 --- /dev/null +++ b/eco-core/core-plugin/src/main/resources/talismans/ring/raidring.yml @@ -0,0 +1,27 @@ +name: "Raid Ring" +description: Deal 10% more damage to illagers. +enabled: true + +obtaining: + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talisman:raid_talisman + - talisman:raid_talisman + - talisman:raid_talisman + + - talisman:raid_talisman + - heart_of_the_sea + - talisman:raid_talisman + + - talisman:raid_talisman + - talisman:raid_talisman + - talisman:raid_talisman + +general-config: + disabled-in-worlds: [] + # Texture is base64, https://minecraft-heads.com has a list of skulls. + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTFkMGU4MTY0ODc1N2I5OGYwZGUyYjcwZDMzODJlZGNmNDI2OThkNDAxODU1ZDg3MjU1MmE2NzFiZWE1ZGFmNiJ9fX0= + +config: + percent-more-damage: 10 \ No newline at end of file