Added end talisman

This commit is contained in:
Auxilor
2021-01-01 20:14:22 +00:00
parent 8434eac161
commit 709600ca5a
3 changed files with 65 additions and 0 deletions

View File

@@ -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<NamespacedKey, Talisman> 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.

View File

@@ -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));
}
}

View File

@@ -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