From df5b957a6b1b01c93ea4db2c4deb83cc56b4c385 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Wed, 4 Nov 2020 19:52:50 +0000 Subject: [PATCH] Added Dweller --- .../ecoenchants/enchantments/EcoEnchants.java | 1 + .../ecoenchants/normal/Dweller.java | 28 +++++++++++++++++++ .../resources/enchants/normal/dweller.yml | 24 ++++++++++++++++ Plugin/src/main/resources/plugin.yml | 4 +++ 4 files changed, 57 insertions(+) create mode 100644 Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dweller.java create mode 100644 Plugin/src/main/resources/enchants/normal/dweller.yml diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchants.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchants.java index 3c98dcff..015ae0c0 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchants.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchants.java @@ -235,6 +235,7 @@ public class EcoEnchants { public static final EcoEnchant WARPED_ARTIFACT = new WarpedArtifact(); public static final EcoEnchant TEAR_ARTIFACT = new TearArtifact(); public static final EcoEnchant BACKSTAB = new Backstab(); + public static final EcoEnchant DWELLER = new Dweller(); /** * Get all registered {@link EcoEnchant}s diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dweller.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dweller.java new file mode 100644 index 00000000..ecf39269 --- /dev/null +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dweller.java @@ -0,0 +1,28 @@ +package com.willfp.ecoenchants.enchantments.ecoenchants.normal; + +import com.willfp.ecoenchants.enchantments.EcoEnchant; +import com.willfp.ecoenchants.enchantments.EcoEnchants; +import org.bukkit.entity.Illager; +import org.bukkit.entity.LivingEntity; +import org.bukkit.event.entity.EntityDamageByEntityEvent; + +public final class Dweller extends EcoEnchant { + public Dweller() { + super( + "dweller", EnchantmentType.NORMAL + ); + } + + // START OF LISTENERS + + @Override + public void onMeleeAttack(LivingEntity attacker, LivingEntity victim, int level, EntityDamageByEntityEvent event) { + if(!(victim instanceof Illager)) + return; + + double damage = event.getDamage(); + double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); + double bonus = 1 + (multiplier * level); + event.setDamage(damage * bonus); + } +} diff --git a/Plugin/src/main/resources/enchants/normal/dweller.yml b/Plugin/src/main/resources/enchants/normal/dweller.yml new file mode 100644 index 00000000..03369877 --- /dev/null +++ b/Plugin/src/main/resources/enchants/normal/dweller.yml @@ -0,0 +1,24 @@ +# +# Dweller EcoEnchant +# + +name: "Dweller" +description: Increases damage against illagers. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - sword + - axe + grindstoneable: true + conflicts: [] + maximum-level: 3 + +config: + multiplier: 0.2 # 1 + (Level * Multiplier) is multiplied with the damage \ No newline at end of file diff --git a/Plugin/src/main/resources/plugin.yml b/Plugin/src/main/resources/plugin.yml index 348304ac..d45be4e8 100644 --- a/Plugin/src/main/resources/plugin.yml +++ b/Plugin/src/main/resources/plugin.yml @@ -258,6 +258,7 @@ permissions: ecoenchants.fromtable.ashartifact: true ecoenchants.fromtable.tearartifact: true ecoenchants.fromtable.backstab: true + ecoenchants.fromtable.dweller: true ecoenchants.updateannounce: description: Informs admins of a new update @@ -895,4 +896,7 @@ permissions: default: true ecoenchants.fromtable.backstab: description: Allows getting backstab from an enchanting table + default: true + ecoenchants.fromtable.dweller: + description: Allows getting dweller from an enchanting table default: true \ No newline at end of file