9
0
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:
Auxilor
2021-05-02 10:14:24 +01:00
parent 5b98db9482
commit 5c0c4d8824
12 changed files with 36 additions and 76 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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