From 2a4ff696780f1e364787373bfd6fcb209e2c4eb3 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Fri, 29 Apr 2022 17:39:45 +0100 Subject: [PATCH] Fixed tabcompletion --- .../command/CommandEnchantinfo.java | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/CommandEnchantinfo.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/CommandEnchantinfo.java index b78ec984..a13add06 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/CommandEnchantinfo.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/command/CommandEnchantinfo.java @@ -25,12 +25,6 @@ import java.util.Set; import java.util.stream.Collectors; public class CommandEnchantinfo extends PluginCommand { - /** - * The cached enchantment names. - */ - private static final List ENCHANT_NAMES = EcoEnchants.values().stream().filter(EcoEnchant::isEnabled) - .map(EcoEnchant::getDisplayName).map(ChatColor::stripColor).collect(Collectors.toList()); - /** * Instantiate a new /enchantinfo command handler. * @@ -40,15 +34,6 @@ public class CommandEnchantinfo extends PluginCommand { super(plugin, "enchantinfo", "ecoenchants.command.enchantinfo", false); } - /** - * Called on reload. - */ - @ConfigUpdater - public static void reload() { - ENCHANT_NAMES.clear(); - ENCHANT_NAMES.addAll(EcoEnchants.values().stream().filter(EcoEnchant::isEnabled).map(EcoEnchant::getDisplayName).map(ChatColor::stripColor).toList()); - } - @Override public void onExecute(@NotNull final CommandSender sender, @NotNull final List args) { @@ -159,12 +144,14 @@ public class CommandEnchantinfo extends PluginCommand { @NotNull final List args) { List completions = new ArrayList<>(); + List names = EcoEnchants.values().stream().filter(EcoEnchant::isEnabled).map(EcoEnchant::getDisplayName).map(ChatColor::stripColor).toList(); + if (args.isEmpty()) { // Currently, this case is not ever reached - return ENCHANT_NAMES; + return names; } - StringUtil.copyPartialMatches(String.join(" ", args), ENCHANT_NAMES, completions); + StringUtil.copyPartialMatches(String.join(" ", args), names, completions); if (args.size() > 1) { // Remove all previous words from the candidate of completions ArrayList finishedArgs = new ArrayList<>(args);