From 129b5ce7aadcae165407027e78be28781cd2e1c5 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Fri, 29 Jan 2021 09:43:50 +0000 Subject: [PATCH] Improved /enchantinfo tabcompletion and fixed errors with colorized names, allowing support for case insensitivity --- .../ecoenchants/command/commands/CommandEnchantinfo.java | 6 ++++++ .../command/tabcompleters/TabCompleterEnchantinfo.java | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/commands/CommandEnchantinfo.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/commands/CommandEnchantinfo.java index 6814eba0..828afe74 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/commands/CommandEnchantinfo.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/commands/CommandEnchantinfo.java @@ -9,6 +9,7 @@ import com.willfp.ecoenchants.display.EnchantmentCache; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchants; import org.apache.commons.lang.WordUtils; +import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.CommandSender; import org.bukkit.enchantments.Enchantment; @@ -49,6 +50,11 @@ public class CommandEnchantinfo extends AbstractCommand { EcoEnchant enchantment = EcoEnchants.getByName(searchName); + if (enchantment == null) { + String finalSearchName = searchName; + enchantment = EcoEnchants.values().stream().filter(ecoEnchant -> ChatColor.stripColor(ecoEnchant.getName()).equalsIgnoreCase(finalSearchName)).findFirst().orElse(null); + } + if (enchantment == null || !enchantment.isEnabled()) { String message = this.getPlugin().getLangYml().getMessage("not-found").replace("%name%", searchName); sender.sendMessage(message); diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/tabcompleters/TabCompleterEnchantinfo.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/tabcompleters/TabCompleterEnchantinfo.java index b47c4a62..5587189b 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/tabcompleters/TabCompleterEnchantinfo.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/tabcompleters/TabCompleterEnchantinfo.java @@ -7,6 +7,7 @@ import com.willfp.eco.util.config.updating.annotations.ConfigUpdater; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchants; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.util.StringUtil; import org.jetbrains.annotations.NotNull; @@ -21,7 +22,7 @@ public class TabCompleterEnchantinfo extends AbstractTabCompleter { /** * The cached enchantment names. */ - private static final List ENCHANT_NAMES = EcoEnchants.values().stream().filter(EcoEnchant::isEnabled).map(EcoEnchant::getName).collect(Collectors.toList()); + private static final List ENCHANT_NAMES = EcoEnchants.values().stream().filter(EcoEnchant::isEnabled).map(EcoEnchant::getName).map(ChatColor::stripColor).collect(Collectors.toList()); /** * Instantiate a new tab-completer for /enchantinfo. @@ -36,7 +37,7 @@ public class TabCompleterEnchantinfo extends AbstractTabCompleter { @ConfigUpdater public static void reload() { ENCHANT_NAMES.clear(); - ENCHANT_NAMES.addAll(EcoEnchants.values().stream().filter(EcoEnchant::isEnabled).map(EcoEnchant::getName).collect(Collectors.toList())); + ENCHANT_NAMES.addAll(EcoEnchants.values().stream().filter(EcoEnchant::isEnabled).map(EcoEnchant::getName).map(ChatColor::stripColor).collect(Collectors.toList())); } /**