From b33da357606ec049519ae3ea9d974efb4dc23edd Mon Sep 17 00:00:00 2001 From: Auxilor Date: Fri, 1 Jan 2021 20:52:18 +0000 Subject: [PATCH] Added sharpness talisman --- .../willfp/talismans/talismans/Talisman.java | 2 +- .../willfp/talismans/talismans/Talismans.java | 2 ++ .../talismans/SharpnessTalisman.java | 21 +++++++++++++++ .../resources/talismans/sharpnesstalisman.yml | 27 +++++++++++++++++++ 4 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SharpnessTalisman.java create mode 100644 eco-core/core-plugin/src/main/resources/talismans/sharpnesstalisman.yml diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talisman.java index b5d51cd..2ed1d94 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talisman.java @@ -126,7 +126,7 @@ public abstract class Talisman implements Listener, Watcher { * This can be overridden but may lead to unexpected behavior. */ public void update() { - name = StringUtils.translate("&f" + config.getString("name")); + name = StringUtils.translate("&e" + config.getString("name")); description = StringUtils.translate(config.getString("description")); skullBase64 = config.getString(Talismans.GENERAL_LOCATION + "texture"); disabledWorldNames.clear(); 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 1ba9301..bd59969 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 @@ -15,6 +15,7 @@ import com.willfp.talismans.talismans.talismans.FlameTalisman; import com.willfp.talismans.talismans.talismans.NetherTalisman; import com.willfp.talismans.talismans.talismans.PoseidonTalisman; import com.willfp.talismans.talismans.talismans.RaidTalisman; +import com.willfp.talismans.talismans.talismans.SharpnessTalisman; import com.willfp.talismans.talismans.talismans.SkeletonTalisman; import com.willfp.talismans.talismans.talismans.SpiderTalisman; import com.willfp.talismans.talismans.talismans.ZombieTalisman; @@ -49,6 +50,7 @@ public class Talismans { public static final Talisman POSEIDON_TALISMAN = new PoseidonTalisman(); public static final Talisman EXPERIENCE_TALISMAN = new ExperienceTalisman(); public static final Talisman EXTRACTION_TALISMAN = new ExtractionTalisman(); + public static final Talisman SHARPNESS_TALISMAN = new SharpnessTalisman(); /** * Get all registered {@link Talisman}s. diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SharpnessTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SharpnessTalisman.java new file mode 100644 index 0000000..b70a2ca --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/SharpnessTalisman.java @@ -0,0 +1,21 @@ +package com.willfp.talismans.talismans.talismans; + +import com.willfp.talismans.talismans.Talisman; +import com.willfp.talismans.talismans.Talismans; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.jetbrains.annotations.NotNull; + +public class SharpnessTalisman extends Talisman { + public SharpnessTalisman() { + super("sharpness_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)); + } +} diff --git a/eco-core/core-plugin/src/main/resources/talismans/sharpnesstalisman.yml b/eco-core/core-plugin/src/main/resources/talismans/sharpnesstalisman.yml new file mode 100644 index 0000000..3928be3 --- /dev/null +++ b/eco-core/core-plugin/src/main/resources/talismans/sharpnesstalisman.yml @@ -0,0 +1,27 @@ +name: "Sharpness Talisman" +description: Deal 5% more melee 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_ingot + - flint + - iron_ingot + + - flint + - iron_sword + - flint + + - iron_ingot + - flint + - iron_ingot + +general-config: + disabled-in-worlds: [] + # Texture is base64, https://minecraft-heads.com has a list of skulls. + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzNkMTQ1NjFiYmQwNjNmNzA0MjRhOGFmY2MzN2JmZTljNzQ1NjJlYTM2ZjdiZmEzZjIzMjA2ODMwYzY0ZmFmMSJ9fX0= + +config: + percent-more-damage: 5 \ No newline at end of file