From 6a48b695c699bb95da5acf8700e682508d80a3e7 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Fri, 1 Jan 2021 21:22:55 +0000 Subject: [PATCH] Added strength talisman --- .../willfp/talismans/talismans/Talismans.java | 2 + .../talismans/talisman/StrengthTalisman.java | 39 +++++++++++++++++++ .../resources/talismans/strengthtalisman.yml | 27 +++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/talisman/StrengthTalisman.java create mode 100644 eco-core/core-plugin/src/main/resources/talismans/strengthtalisman.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 ab63a96..69f2ddb 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 @@ -20,6 +20,7 @@ import com.willfp.talismans.talismans.talismans.talisman.SharpnessTalisman; import com.willfp.talismans.talismans.talismans.talisman.SkeletonTalisman; import com.willfp.talismans.talismans.talismans.talisman.SpiderResistanceTalisman; import com.willfp.talismans.talismans.talismans.talisman.SpiderTalisman; +import com.willfp.talismans.talismans.talismans.talisman.StrengthTalisman; import com.willfp.talismans.talismans.talismans.talisman.ZombieResistanceTalisman; import com.willfp.talismans.talismans.talismans.talisman.ZombieTalisman; import lombok.experimental.UtilityClass; @@ -57,6 +58,7 @@ public class Talismans { public static final Talisman ZOMBIE_RESISTANCE_TALISMAN = new ZombieResistanceTalisman(); public static final Talisman SPIDER_RESISTANCE_TALISMAN = new SpiderResistanceTalisman(); public static final Talisman RESISTANCE_TALISMAN = new ResistanceTalisman(); + public static final Talisman STRENGTH_TALISMAN = new StrengthTalisman(); /** * Get all registered {@link Talisman}s. diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/talisman/StrengthTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/talisman/StrengthTalisman.java new file mode 100644 index 0000000..554e0ea --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/talisman/StrengthTalisman.java @@ -0,0 +1,39 @@ +package com.willfp.talismans.talismans.talismans.talisman; + +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.event.entity.EntityDamageByEntityEvent; +import org.jetbrains.annotations.NotNull; + +public class StrengthTalisman extends Talisman { + public StrengthTalisman() { + super("strength_talisman"); + } + + @Override + public void onMeleeAttack(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageByEntityEvent event) { + 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) { + 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) { + 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/strengthtalisman.yml b/eco-core/core-plugin/src/main/resources/talismans/strengthtalisman.yml new file mode 100644 index 0000000..f595593 --- /dev/null +++ b/eco-core/core-plugin/src/main/resources/talismans/strengthtalisman.yml @@ -0,0 +1,27 @@ +name: "Strength Talisman" +description: Deal 5% more damage. +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: + - iron_block + - iron_block + - iron_block + + - iron_block + - iron_sword + - iron_block + + - iron_block + - iron_block + - iron_block + +general-config: + disabled-in-worlds: [] + # Texture is base64, https://minecraft-heads.com has a list of skulls. + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODQ4NTlkMGFkZmM5M2JlMTliYjQ0MWU2ZWRmZDQzZjZiZmU2OTEyNzIzMDMzZjk2M2QwMDlhMTFjNDgyNDUxMCJ9fX0= + +config: + percent-less-damage: 5 \ No newline at end of file