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 1fcee9e..6c12a99 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 @@ -5,6 +5,7 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.google.common.collect.ImmutableList; import com.willfp.eco.util.config.updating.annotations.ConfigUpdater; +import com.willfp.talismans.talismans.talismans.ArcheryTalisman; import com.willfp.talismans.talismans.talismans.CreeperTalisman; import com.willfp.talismans.talismans.talismans.EndTalisman; import com.willfp.talismans.talismans.talismans.FeatherTalisman; @@ -41,6 +42,7 @@ public class Talismans { public static final Talisman END_TALISMAN = new EndTalisman(); public static final Talisman FEATHER_TALISMAN = new FeatherTalisman(); public static final Talisman FLAME_TALISMAN = new FlameTalisman(); + public static final Talisman ARCHERY_TALISMAN = new ArcheryTalisman(); /** * Get all registered {@link Talisman}s. diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ArcheryTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ArcheryTalisman.java new file mode 100644 index 0000000..41d3663 --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/ArcheryTalisman.java @@ -0,0 +1,22 @@ +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.event.entity.EntityDamageByEntityEvent; +import org.jetbrains.annotations.NotNull; + +public class ArcheryTalisman extends Talisman { + public ArcheryTalisman() { + super("archery_talisman"); + } + @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)); + } +} diff --git a/eco-core/core-plugin/src/main/resources/talismans/archerytalisman.yml b/eco-core/core-plugin/src/main/resources/talismans/archerytalisman.yml new file mode 100644 index 0000000..5d0ddfc --- /dev/null +++ b/eco-core/core-plugin/src/main/resources/talismans/archerytalisman.yml @@ -0,0 +1,27 @@ +name: "Archery Talisman" +description: Deal 10% more damage with bows. +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: + - arrow + - arrow + - arrow + + - arrow + - coal_block + - arrow + + - arrow + - arrow + - arrow + +general-config: + disabled-in-worlds: [] + # Texture is base64, https://minecraft-heads.com has a list of skulls. + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTZmYzg1NGJiODRjZjRiNzY5NzI5Nzk3M2UwMmI3OWJjMTA2OTg0NjBiNTFhNjM5YzYwZTVlNDE3NzM0ZTExIn19fQ== + +config: + percent-more-damage: 10 \ No newline at end of file