Added skeleton resistance talisman

This commit is contained in:
Auxilor
2021-10-25 10:43:29 +01:00
parent 680b00eb0e
commit 7e224f39ee
3 changed files with 67 additions and 0 deletions

View File

@@ -29,6 +29,7 @@ import com.willfp.talismans.talismans.talismans.PoseidonTalisman;
import com.willfp.talismans.talismans.talismans.RaidTalisman;
import com.willfp.talismans.talismans.talismans.ResistanceTalisman;
import com.willfp.talismans.talismans.talismans.SharpnessTalisman;
import com.willfp.talismans.talismans.talismans.SkeletonResistanceTalisman;
import com.willfp.talismans.talismans.talismans.SkeletonTalisman;
import com.willfp.talismans.talismans.talismans.SpeedTalisman;
import com.willfp.talismans.talismans.talismans.SpiderResistanceTalisman;
@@ -90,6 +91,7 @@ public class Talismans {
public static final Talisman VIBRANCE_TALISMAN = new VibranceTalisman();
public static final Talisman NECROSIS_TALISMAN = new NecrosisTalisman();
public static final Talisman BLAST_TALISMAN = new BlastTalisman();
public static final Talisman SKELETON_RESISTANCE_TALISMAN = new SkeletonResistanceTalisman();
/**
* Get all registered {@link Talisman}s.

View File

@@ -0,0 +1,35 @@
package com.willfp.talismans.talismans.talismans;
import com.willfp.talismans.talismans.Talisman;
import com.willfp.talismans.talismans.TalismanLevel;
import com.willfp.talismans.talismans.Talismans;
import lombok.val;
import org.bukkit.entity.AbstractArrow;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Zombie;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.jetbrains.annotations.NotNull;
public class SkeletonResistanceTalisman extends Talisman {
public SkeletonResistanceTalisman() {
super("skeleton_resistance");
}
@Override
public void onDamageByEntity(@NotNull final TalismanLevel level,
@NotNull final Player victim,
@NotNull final Entity attacker,
@NotNull final EntityDamageByEntityEvent event) {
if (!(attacker instanceof AbstractArrow arrow)) {
return;
}
if (!(arrow.getShooter() instanceof Skeleton)) {
return;
}
event.setDamage(event.getDamage() * (1 - (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-less-damage")) / 100));
}
}

View File

@@ -0,0 +1,30 @@
enabled: true
disabled-in-worlds: [ ]
levels:
1:
name: "&aSkeleton Resistance Talisman"
description: Take 25% less damage from skeletons.
obtaining:
craftable: true
recipe:
- bone
- shield
- bow
- shield
- ecoitems:talisman_core_1 ? ender_eye
- shield
- bow
- shield
- bone
general-config:
material: player_head
texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTcyMGIwN2I0YTMwZGJmMDU2MzBhNmM2YWMxOGM4YjQwYzQ2NTJjYWVmMjBmODY3NmEwOTdiYjg0MDE1YTQ3NyJ9fX0=
custom-model-data: -1
config:
percent-less-damage: 25