mirror of
https://github.com/Auxilor/EcoArmor.git
synced 2025-12-30 20:39:13 +00:00
Cleaned up many effects
This commit is contained in:
@@ -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<T> implements Listener {
|
||||
/**
|
||||
@@ -75,6 +76,22 @@ public abstract class Effect<T> 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<T> consumer) {
|
||||
T strength = getStrengthForPlayer(player);
|
||||
if (strength == null) {
|
||||
return;
|
||||
} else {
|
||||
consumer.accept(strength);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable the effect for a player.
|
||||
*
|
||||
|
||||
@@ -49,11 +49,6 @@ public class BossDamageMultiplier extends Effect<Double> {
|
||||
return;
|
||||
}
|
||||
|
||||
Double multiplier = this.getStrengthForPlayer(attacker);
|
||||
if (multiplier == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDamage(event.getDamage() * multiplier);
|
||||
this.applyIfEnabled(attacker, multiplier -> event.setDamage(event.getDamage() * multiplier));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,11 +32,6 @@ public class BowDamageMultiplier extends Effect<Double> {
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,11 +37,6 @@ public class DamageMultiplier extends Effect<Double> {
|
||||
return;
|
||||
}
|
||||
|
||||
Double multiplier = this.getStrengthForPlayer(attacker);
|
||||
if (multiplier == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDamage(event.getDamage() * multiplier);
|
||||
this.applyIfEnabled(attacker, multiplier -> event.setDamage(event.getDamage() * multiplier));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,11 +23,6 @@ public class DamageTakenMultiplier extends Effect<Double> {
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,14 +20,10 @@ public class DurabilityMultiplier extends Effect<Double> {
|
||||
|
||||
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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,14 +24,10 @@ public class EvadeChance extends Effect<Double> {
|
||||
|
||||
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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,12 +19,6 @@ public class ExperienceMultiplier extends Effect<Double> {
|
||||
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)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,11 +27,6 @@ public class FallDamageMultiplier extends Effect<Double> {
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,12 +23,6 @@ public class MeleeDamageMultiplier extends Effect<Double> {
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,12 +23,6 @@ public class RegenerationMultiplier extends Effect<Double> {
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,12 +32,6 @@ public class TridentDamageMultiplier extends Effect<Double> {
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user