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 39f54ea..4c134c2 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,12 @@ 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.CreeperTalisman; +import com.willfp.talismans.talismans.talismans.EndTalisman; +import com.willfp.talismans.talismans.talismans.NetherTalisman; +import com.willfp.talismans.talismans.talismans.RaidTalisman; +import com.willfp.talismans.talismans.talismans.SkeletonTalisman; +import com.willfp.talismans.talismans.talismans.SpiderTalisman; import com.willfp.talismans.talismans.talismans.ZombieTalisman; import lombok.experimental.UtilityClass; import org.bukkit.NamespacedKey; @@ -25,6 +31,12 @@ public class Talismans { private static final BiMap BY_KEY = HashBiMap.create(); public static final Talisman ZOMBIE_TALISMAN = new ZombieTalisman(); + public static final Talisman SKELETON_TALISMAN = new SkeletonTalisman(); + public static final Talisman CREEPER_TALISMAN = new CreeperTalisman(); + public static final Talisman SPIDER_TALISMAN = new SpiderTalisman(); + public static final Talisman RAID_TALISMAN = new RaidTalisman(); + public static final Talisman NETHER_TALISMAN = new NetherTalisman(); + public static final Talisman END_TALISMAN = new EndTalisman(); /** * Get all registered {@link Talisman}s. diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/EndTalisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/EndTalisman.java new file mode 100644 index 0000000..03f8a3d --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/talismans/EndTalisman.java @@ -0,0 +1,26 @@ +package com.willfp.talismans.talismans.talismans; + +import com.willfp.talismans.talismans.Talisman; +import com.willfp.talismans.talismans.Talismans; +import org.bukkit.World; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.jetbrains.annotations.NotNull; + +public class EndTalisman extends Talisman { + public EndTalisman() { + super("end_talisman"); + } + + @Override + public void onMeleeAttack(@NotNull final Player attacker, + @NotNull final LivingEntity victim, + @NotNull final EntityDamageByEntityEvent event) { + if (attacker.getWorld().getEnvironment() != World.Environment.THE_END) { + 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/endtalisman.yml b/eco-core/core-plugin/src/main/resources/talismans/endtalisman.yml new file mode 100644 index 0000000..fa8486d --- /dev/null +++ b/eco-core/core-plugin/src/main/resources/talismans/endtalisman.yml @@ -0,0 +1,27 @@ +name: "End Talisman" +description: Deal 10% more damage in the end. +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: + - end_stone + - end_stone + - end_stone + + - end_stone + - gold_block + - end_stone + + - end_stone + - end_stone + - end_stone + +general-config: + disabled-in-worlds: [] + # Texture is base64, https://minecraft-heads.com has a list of skulls. + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzZjYWM1OWIyYWFlNDg5YWEwNjg3YjVkODAyYjI1NTVlYjE0YTQwYmQ2MmIyMWViMTE2ZmE1NjljZGI3NTYifX19 + +config: + percent-more-damage: 10 \ No newline at end of file