From 6707cee8a2b5c5c3562d6ca38a8b2b820effc35b Mon Sep 17 00:00:00 2001 From: Auxilor Date: Fri, 28 Jan 2022 19:29:08 +0000 Subject: [PATCH] Fixed more problems with custom enchants --- .../willfp/ecoenchants/enchantments/EcoEnchant.java | 11 +++++++++-- .../enchantments/custom/CustomEcoEnchant.java | 5 +++++ .../support/obtaining/EnchantingListeners.java | 5 ++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java index 51587d21..9602a6fb 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java @@ -15,7 +15,6 @@ import com.willfp.ecoenchants.enchantments.meta.EnchantmentTarget; import com.willfp.ecoenchants.enchantments.meta.EnchantmentType; import com.willfp.ecoenchants.enchantments.util.EnchantmentUtils; import com.willfp.ecoenchants.enchantments.util.Watcher; -import lombok.AccessLevel; import lombok.Getter; import net.kyori.adventure.text.Component; import org.apache.commons.lang.Validate; @@ -154,7 +153,6 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Watche /** * If the enchantment is enabled. */ - @Getter private boolean enabled; /** @@ -375,6 +373,15 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Watche return this.flags.contains(flag); } + /** + * If enchantment is enabled. + * + * @return If enabled. + */ + public boolean isEnabled() { + return enabled; + } + /** * Get the internal name of the enchantment. * diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/custom/CustomEcoEnchant.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/custom/CustomEcoEnchant.java index 4d5e3fea..d44b7c1f 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/custom/CustomEcoEnchant.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/custom/CustomEcoEnchant.java @@ -81,4 +81,9 @@ public class CustomEcoEnchant extends EcoEnchant { public int getMaxLevel() { return this.levels.size(); } + + @Override + public boolean isEnabled() { + return true; + } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/obtaining/EnchantingListeners.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/obtaining/EnchantingListeners.java index a2ad6e68..17009647 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/obtaining/EnchantingListeners.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/obtaining/EnchantingListeners.java @@ -7,8 +7,10 @@ import com.willfp.eco.util.NumberUtils; import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.custom.CustomEcoEnchant; import com.willfp.ecoenchants.enchantments.meta.EnchantmentTarget; import com.willfp.ecoenchants.enchantments.meta.EnchantmentType; +import org.bukkit.Bukkit; import org.bukkit.Color; import org.bukkit.GameMode; import org.bukkit.Location; @@ -31,6 +33,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; @@ -126,7 +129,7 @@ public class EnchantingListeners extends PluginDependent implements L multiplier /= this.getPlugin().getConfigYml().getDouble("enchanting-table.reduce-probability.factor"); } - ArrayList enchantments = new ArrayList<>(EcoEnchants.values()); + List enchantments = new ArrayList<>(EcoEnchants.values()); Collections.shuffle(enchantments); // Prevent list bias towards early enchantments like telekinesis boolean gotSpecial = false;