From 11f0b489a589a365218c5d984d44bb419cf79ab2 Mon Sep 17 00:00:00 2001 From: nulli0n Date: Wed, 31 May 2023 11:32:48 +0600 Subject: [PATCH] Minor fixes --- .../excellentenchants/enchantment/EnchantRegistry.java | 6 ++++++ .../su/nightexpress/excellentenchants/tier/TierManager.java | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Core/src/main/java/su/nightexpress/excellentenchants/enchantment/EnchantRegistry.java b/Core/src/main/java/su/nightexpress/excellentenchants/enchantment/EnchantRegistry.java index 1cc3cb8..40a5ca0 100644 --- a/Core/src/main/java/su/nightexpress/excellentenchants/enchantment/EnchantRegistry.java +++ b/Core/src/main/java/su/nightexpress/excellentenchants/enchantment/EnchantRegistry.java @@ -153,7 +153,13 @@ public class EnchantRegistry { private void register(@NotNull String id, @NotNull Supplier supplier) { if (Config.ENCHANTMENTS_DISABLED.get().contains(id)) return; + ExcellentEnchant enchant = supplier.get(); + if (Enchantment.getByKey(enchant.getKey()) != null) { + this.plugin.error("Could not register '" + enchant.getId() + "': Such enchantment already registered."); + return; + } + Enchantment.registerEnchantment(enchant); REGISTRY_MAP.put(enchant.getKey(), enchant); enchant.loadSettings(); diff --git a/Core/src/main/java/su/nightexpress/excellentenchants/tier/TierManager.java b/Core/src/main/java/su/nightexpress/excellentenchants/tier/TierManager.java index 86ccaea..68384f4 100644 --- a/Core/src/main/java/su/nightexpress/excellentenchants/tier/TierManager.java +++ b/Core/src/main/java/su/nightexpress/excellentenchants/tier/TierManager.java @@ -11,7 +11,6 @@ import su.nightexpress.excellentenchants.enchantment.type.ObtainType; import java.util.*; import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; public class TierManager extends AbstractManager { @@ -91,7 +90,9 @@ public class TierManager extends AbstractManager { @Nullable public Tier getTierByChance(@NotNull ObtainType obtainType) { - Map map = this.getTiers().stream().collect(Collectors.toMap(k -> k, v -> v.getChance(obtainType))); + Map map = new HashMap<>(); + this.getTiers().forEach(tier -> map.put(tier, tier.getChance(obtainType))); + map.values().removeIf(chance -> chance <= 0D); return Rnd.getByWeight(map); }