From 5c0c4d8824e9386f4c5e3b995f9158aa28fe00cf Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sun, 2 May 2021 10:14:24 +0100 Subject: [PATCH] Cleaned up many effects --- .../com/willfp/ecoarmor/effects/Effect.java | 17 +++++++++++++++++ .../effects/effects/BossDamageMultiplier.java | 7 +------ .../effects/effects/BowDamageMultiplier.java | 7 +------ .../effects/effects/DamageMultiplier.java | 7 +------ .../effects/effects/DamageTakenMultiplier.java | 7 +------ .../effects/effects/DurabilityMultiplier.java | 14 +++++--------- .../ecoarmor/effects/effects/EvadeChance.java | 14 +++++--------- .../effects/effects/ExperienceMultiplier.java | 8 +------- .../effects/effects/FallDamageMultiplier.java | 7 +------ .../effects/effects/MeleeDamageMultiplier.java | 8 +------- .../effects/effects/RegenerationMultiplier.java | 8 +------- .../effects/TridentDamageMultiplier.java | 8 +------- 12 files changed, 36 insertions(+), 76 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/Effect.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/Effect.java index 6736f74..bd840e7 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/Effect.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/Effect.java @@ -11,6 +11,7 @@ import org.jetbrains.annotations.Nullable; import java.util.HashMap; import java.util.Map; import java.util.UUID; +import java.util.function.Consumer; public abstract class Effect implements Listener { /** @@ -75,6 +76,22 @@ public abstract class Effect implements Listener { return enabledPlayers.get(player.getUniqueId()); } + /** + * Apply effect if enabled for a player. + * + * @param player The player. + * @param consumer The effect function. + */ + public void applyIfEnabled(@NotNull final Player player, + @NotNull final Consumer consumer) { + T strength = getStrengthForPlayer(player); + if (strength == null) { + return; + } else { + consumer.accept(strength); + } + } + /** * Enable the effect for a player. * diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BossDamageMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BossDamageMultiplier.java index 67716a4..73ad19a 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BossDamageMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BossDamageMultiplier.java @@ -49,11 +49,6 @@ public class BossDamageMultiplier extends Effect { return; } - Double multiplier = this.getStrengthForPlayer(attacker); - if (multiplier == null) { - return; - } - - event.setDamage(event.getDamage() * multiplier); + this.applyIfEnabled(attacker, multiplier -> event.setDamage(event.getDamage() * multiplier)); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BowDamageMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BowDamageMultiplier.java index e96bc07..e2ebd0f 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BowDamageMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BowDamageMultiplier.java @@ -32,11 +32,6 @@ public class BowDamageMultiplier extends Effect { Player player = (Player) shooter; - Double multiplier = this.getStrengthForPlayer(player); - if (multiplier == null) { - return; - } - - event.setDamage(event.getDamage() * multiplier); + this.applyIfEnabled(player, multiplier -> event.setDamage(event.getDamage() * multiplier)); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DamageMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DamageMultiplier.java index c63dece..7b669a5 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DamageMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DamageMultiplier.java @@ -37,11 +37,6 @@ public class DamageMultiplier extends Effect { return; } - Double multiplier = this.getStrengthForPlayer(attacker); - if (multiplier == null) { - return; - } - - event.setDamage(event.getDamage() * multiplier); + this.applyIfEnabled(attacker, multiplier -> event.setDamage(event.getDamage() * multiplier)); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DamageTakenMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DamageTakenMultiplier.java index c01380f..103a372 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DamageTakenMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DamageTakenMultiplier.java @@ -23,11 +23,6 @@ public class DamageTakenMultiplier extends Effect { Player player = (Player) event.getEntity(); - Double multiplier = this.getStrengthForPlayer(player); - if (multiplier == null) { - return; - } - - event.setDamage(event.getDamage() * multiplier); + this.applyIfEnabled(player, multiplier -> event.setDamage(event.getDamage() * multiplier)); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DurabilityMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DurabilityMultiplier.java index 946399a..59808d0 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DurabilityMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/DurabilityMultiplier.java @@ -20,14 +20,10 @@ public class DurabilityMultiplier extends Effect { Player player = event.getPlayer(); - Double multiplier = this.getStrengthForPlayer(player); - - if (multiplier == null) { - return; - } - - if (NumberUtils.randFloat(0, 100) < 1 - (1 / multiplier)) { - event.setCancelled(true); - } + this.applyIfEnabled(player, multiplier -> { + if (NumberUtils.randFloat(0, 100) < 1 - (1 / multiplier)) { + event.setCancelled(true); + } + }); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/EvadeChance.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/EvadeChance.java index 2968771..1606335 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/EvadeChance.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/EvadeChance.java @@ -24,14 +24,10 @@ public class EvadeChance extends Effect { Player player = (Player) event.getEntity(); - Double chance = this.getStrengthForPlayer(player); - - if (chance == null) { - return; - } - - if (NumberUtils.randFloat(0, 100) < chance) { - event.setCancelled(true); - } + this.applyIfEnabled(player, chance -> { + if (NumberUtils.randFloat(0, 100) < chance) { + event.setCancelled(true); + } + }); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/ExperienceMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/ExperienceMultiplier.java index c029ea7..96e86e0 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/ExperienceMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/ExperienceMultiplier.java @@ -19,12 +19,6 @@ public class ExperienceMultiplier extends Effect { return; } - Double multiplier = this.getStrengthForPlayer(player); - - if (multiplier == null) { - return; - } - - event.getExpChangeEvent().setAmount((int) Math.ceil(event.getExpChangeEvent().getAmount() * multiplier)); + this.applyIfEnabled(player, multiplier -> event.getExpChangeEvent().setAmount((int) Math.ceil(event.getExpChangeEvent().getAmount() * multiplier))); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/FallDamageMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/FallDamageMultiplier.java index d940f7b..c063931 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/FallDamageMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/FallDamageMultiplier.java @@ -27,11 +27,6 @@ public class FallDamageMultiplier extends Effect { Player player = (Player) event.getEntity(); - Double multiplier = this.getStrengthForPlayer(player); - if (multiplier == null) { - return; - } - - event.setDamage(event.getDamage() * multiplier); + this.applyIfEnabled(player, multiplier -> event.setDamage(event.getDamage() * multiplier)); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/MeleeDamageMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/MeleeDamageMultiplier.java index f4fc350..5212758 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/MeleeDamageMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/MeleeDamageMultiplier.java @@ -23,12 +23,6 @@ public class MeleeDamageMultiplier extends Effect { Player attacker = (Player) event.getDamager(); - Double multiplier = this.getStrengthForPlayer(attacker); - - if (multiplier == null) { - return; - } - - event.setDamage(event.getDamage() * multiplier); + this.applyIfEnabled(attacker, multiplier -> event.setDamage(event.getDamage() * multiplier)); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/RegenerationMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/RegenerationMultiplier.java index 1c63969..82318f1 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/RegenerationMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/RegenerationMultiplier.java @@ -23,12 +23,6 @@ public class RegenerationMultiplier extends Effect { Player player = (Player) event.getEntity(); - Double multiplier = this.getStrengthForPlayer(player); - - if (multiplier == null) { - return; - } - - event.setAmount(event.getAmount() * multiplier); + this.applyIfEnabled(player, multiplier -> event.setAmount(event.getAmount() * multiplier)); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/TridentDamageMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/TridentDamageMultiplier.java index 5a272a7..55eb50f 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/TridentDamageMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/TridentDamageMultiplier.java @@ -32,12 +32,6 @@ public class TridentDamageMultiplier extends Effect { Player player = (Player) shooter; - Double multiplier = this.getStrengthForPlayer(player); - - if (multiplier == null) { - return; - } - - event.setDamage(event.getDamage() * multiplier); + this.applyIfEnabled(player, multiplier -> event.setDamage(event.getDamage() * multiplier)); } }