Added Plasmic

This commit is contained in:
Auxilor
2020-11-06 20:32:53 +00:00
parent bfd39c066b
commit 0cf418b6c0
4 changed files with 78 additions and 1 deletions

View File

@@ -246,6 +246,7 @@ public class EcoEnchants {
public static final EcoEnchant EXTRACTION = new Extraction();
public static final EcoEnchant DWELLER = new Dweller();
public static final EcoEnchant STALWART = new Stalwart();
public static final EcoEnchant PLASMIC = new Plasmic();
/**
* Get all registered {@link EcoEnchant}s

View File

@@ -0,0 +1,51 @@
package com.willfp.ecoenchants.enchantments.ecoenchants.normal;
import com.willfp.ecoenchants.enchantments.EcoEnchant;
import com.willfp.ecoenchants.enchantments.EcoEnchants;
import org.bukkit.Material;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.inventory.EntityEquipment;
import org.bukkit.inventory.ItemStack;
import java.util.Arrays;
public final class Plasmic extends EcoEnchant {
public Plasmic() {
super(
"plasmic", EnchantmentType.NORMAL
);
}
// START OF LISTENERS
private static final Material[] items = {
Material.DIAMOND_HELMET,
Material.DIAMOND_CHESTPLATE,
Material.DIAMOND_LEGGINGS,
Material.DIAMOND_BOOTS,
Material.NETHERITE_HELMET,
Material.NETHERITE_CHESTPLATE,
Material.NETHERITE_LEGGINGS,
Material.NETHERITE_BOOTS
};
@Override
public void onMeleeAttack(LivingEntity attacker, LivingEntity victim, int level, EntityDamageByEntityEvent event) {
EntityEquipment equipment = victim.getEquipment();
if(equipment == null) return;
int pieces = 0;
for (ItemStack armorPiece : equipment.getArmorContents()) {
if(armorPiece == null) continue;
if(Arrays.asList(items).contains(armorPiece.getType())) pieces++;
}
if(pieces == 0) return;
double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier");
event.setDamage(event.getDamage() * (1 + (level * multiplier * pieces)));
}
}

View File

@@ -0,0 +1,24 @@
#
# Plasmic EcoEnchant
#
name: "Plasmic"
description: Increases damage dealt against opponents with diamond or netherite armor.
enabled: true
obtaining:
table: true
villager: true
loot: true
rarity: legendary
general-config:
targets:
- sword
grindstoneable: true
conflicts:
- voltage
maximum-level: 5
config:
multiplier: 0.015 # bonus damage multiplier = multiplier * level * pieces

View File

@@ -16,7 +16,8 @@ general-config:
targets:
- sword
grindstoneable: true
conflicts: []
conflicts:
- plasmic
maximum-level: 5
config: