From d9bab46fb1a0a073b082df42ea2113d65cbe16b5 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sat, 6 Feb 2021 11:00:26 +0000 Subject: [PATCH] Added effect uuids --- .../main/java/com/willfp/ecoarmor/effects/Effect.java | 9 +++++++++ .../ecoarmor/effects/effects/AttackSpeedMultiplier.java | 8 ++------ .../com/willfp/ecoarmor/effects/effects/BonusHearts.java | 8 ++------ .../willfp/ecoarmor/effects/effects/SpeedMutiplier.java | 8 ++------ 4 files changed, 15 insertions(+), 18 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 cc95b11..ff88a3c 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 @@ -6,6 +6,8 @@ import lombok.Getter; import org.bukkit.event.Listener; import org.jetbrains.annotations.NotNull; +import java.util.UUID; + public abstract class Effect implements Listener { /** * Instance of EcoArmor. @@ -19,6 +21,12 @@ public abstract class Effect implements Listener { @Getter private final String name; + /** + * UUID of the effect, used in attribute modifiers. + */ + @Getter + private final UUID uuid; + /** * If the effect is enabled. */ @@ -41,6 +49,7 @@ public abstract class Effect implements Listener { @NotNull final Class typeClass) { this.name = name; this.typeClass = typeClass; + this.uuid = UUID.nameUUIDFromBytes(name.getBytes()); update(); Effects.addNewEffect(this); diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/AttackSpeedMultiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/AttackSpeedMultiplier.java index 1da6e94..38c0087 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/AttackSpeedMultiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/AttackSpeedMultiplier.java @@ -10,11 +10,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.jetbrains.annotations.NotNull; -import java.util.UUID; - public class AttackSpeedMultiplier extends Effect { - private static final UUID MODIFIER_UUID = UUID.nameUUIDFromBytes("attack-speed-multiplier".getBytes()); - public AttackSpeedMultiplier() { super("attack-speed-multiplier", Double.class); } @@ -29,9 +25,9 @@ public class AttackSpeedMultiplier extends Effect { this.getPlugin().getScheduler().runLater(() -> { Double multiplier = ArmorUtils.getEffectStrength(player, this); if (multiplier == null) { - movementSpeed.removeModifier(new AttributeModifier(MODIFIER_UUID, "speed-multiplier", 0, AttributeModifier.Operation.MULTIPLY_SCALAR_1)); + movementSpeed.removeModifier(new AttributeModifier(this.getUuid(), "attack-speed-multiplier", 0, AttributeModifier.Operation.MULTIPLY_SCALAR_1)); } else { - AttributeModifier modifier = new AttributeModifier(MODIFIER_UUID, "speed-multiplier", multiplier - 1, AttributeModifier.Operation.MULTIPLY_SCALAR_1); + AttributeModifier modifier = new AttributeModifier(this.getUuid(), "attack-speed-multiplier", multiplier - 1, AttributeModifier.Operation.MULTIPLY_SCALAR_1); if (!movementSpeed.getModifiers().contains(modifier)) { movementSpeed.addModifier(modifier); } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BonusHearts.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BonusHearts.java index 872370c..fb83586 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BonusHearts.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/BonusHearts.java @@ -10,11 +10,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.jetbrains.annotations.NotNull; -import java.util.UUID; - public class BonusHearts extends Effect { - private static final UUID MODIFIER_UUID = UUID.nameUUIDFromBytes("bonus-hearts".getBytes()); - public BonusHearts() { super("bonus-hearts", Integer.class); } @@ -29,9 +25,9 @@ public class BonusHearts extends Effect { this.getPlugin().getScheduler().runLater(() -> { Integer bonus = ArmorUtils.getEffectStrength(player, this); if (bonus == null) { - maxHealth.removeModifier(new AttributeModifier(MODIFIER_UUID, "bonus-hearts", 0, AttributeModifier.Operation.ADD_NUMBER)); + maxHealth.removeModifier(new AttributeModifier(this.getUuid(), "bonus-hearts", 0, AttributeModifier.Operation.ADD_NUMBER)); } else { - AttributeModifier modifier = new AttributeModifier(MODIFIER_UUID, "bonus-hearts", bonus * 2, AttributeModifier.Operation.ADD_NUMBER); + AttributeModifier modifier = new AttributeModifier(this.getUuid(), "bonus-hearts", bonus * 2, AttributeModifier.Operation.ADD_NUMBER); if (!maxHealth.getModifiers().contains(modifier)) { maxHealth.addModifier(modifier); } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/SpeedMutiplier.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/SpeedMutiplier.java index 932bd28..1a3a162 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/SpeedMutiplier.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/effects/effects/SpeedMutiplier.java @@ -10,11 +10,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.jetbrains.annotations.NotNull; -import java.util.UUID; - public class SpeedMutiplier extends Effect { - private static final UUID MODIFIER_UUID = UUID.nameUUIDFromBytes("speed-multiplier".getBytes()); - public SpeedMutiplier() { super("speed-multiplier", Double.class); } @@ -29,9 +25,9 @@ public class SpeedMutiplier extends Effect { this.getPlugin().getScheduler().runLater(() -> { Double multiplier = ArmorUtils.getEffectStrength(player, this); if (multiplier == null) { - movementSpeed.removeModifier(new AttributeModifier(MODIFIER_UUID, "speed-multiplier", 0, AttributeModifier.Operation.MULTIPLY_SCALAR_1)); + movementSpeed.removeModifier(new AttributeModifier(this.getUuid(), "speed-multiplier", 0, AttributeModifier.Operation.MULTIPLY_SCALAR_1)); } else { - AttributeModifier modifier = new AttributeModifier(MODIFIER_UUID, "speed-multiplier", multiplier - 1, AttributeModifier.Operation.MULTIPLY_SCALAR_1); + AttributeModifier modifier = new AttributeModifier(this.getUuid(), "speed-multiplier", multiplier - 1, AttributeModifier.Operation.MULTIPLY_SCALAR_1); if (!movementSpeed.getModifiers().contains(modifier)) { movementSpeed.addModifier(modifier); }