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 4c134c2..4e68264 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 @@ -7,6 +7,7 @@ import com.google.common.collect.ImmutableList; import com.willfp.eco.util.config.updating.annotations.ConfigUpdater; import com.willfp.talismans.talismans.talismans.CreeperTalisman; import com.willfp.talismans.talismans.talismans.EndTalisman; +import com.willfp.talismans.talismans.talismans.FeatherTalisman; import com.willfp.talismans.talismans.talismans.NetherTalisman; import com.willfp.talismans.talismans.talismans.RaidTalisman; import com.willfp.talismans.talismans.talismans.SkeletonTalisman; @@ -37,6 +38,7 @@ public class Talismans { public static final Talisman RAID_TALISMAN = new RaidTalisman(); public static final Talisman NETHER_TALISMAN = new NetherTalisman(); public static final Talisman END_TALISMAN = new EndTalisman(); + public static final Talisman FEATHER_TALISMAN = new FeatherTalisman(); /** * Get all registered {@link Talisman}s. diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/FeatherTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/FeatherTalisman.java new file mode 100644 index 0000000..0e71ac8 --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/FeatherTalisman.java @@ -0,0 +1,23 @@ +package com.willfp.talismans.talismans.talismans; + +import com.willfp.talismans.talismans.Talisman; +import com.willfp.talismans.talismans.Talismans; +import org.bukkit.entity.Player; +import org.bukkit.event.entity.EntityDamageEvent; +import org.jetbrains.annotations.NotNull; + +public class FeatherTalisman extends Talisman { + public FeatherTalisman() { + super("feather_talisman"); + } + + @Override + public void onDamage(@NotNull final Player victim, + @NotNull final EntityDamageEvent event) { + if (event.getCause() != EntityDamageEvent.DamageCause.FALL) { + return; + } + + event.setDamage(event.getDamage() * this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "multiplier")); + } +} diff --git a/eco-core/core-plugin/src/main/resources/talismans/feathertalisman.yml b/eco-core/core-plugin/src/main/resources/talismans/feathertalisman.yml new file mode 100644 index 0000000..02c8c69 --- /dev/null +++ b/eco-core/core-plugin/src/main/resources/talismans/feathertalisman.yml @@ -0,0 +1,27 @@ +name: "Feather Talisman" +description: Take 50% less fall 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: + - feather + - feather + - feather + + - feather + - diamond_block + - feather + + - feather + - feather + - feather + +general-config: + disabled-in-worlds: [] + # Texture is base64, https://minecraft-heads.com has a list of skulls. + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjQyNTQ4MzhjMzNlYTIyN2ZmY2EyMjNkZGRhYWJmZTBiMDIxNWY3MGRhNjQ5ZTk0NDQ3N2Y0NDM3MGNhNjk1MiJ9fX0= + +config: + multiplier: 0.5 \ No newline at end of file