diff --git a/implementations/spigot/src/main/java/de/bluecolored/bluemap/bukkit/BukkitCommands.java b/implementations/spigot/src/main/java/de/bluecolored/bluemap/bukkit/BukkitCommands.java index 0125dbf8..fb27495a 100644 --- a/implementations/spigot/src/main/java/de/bluecolored/bluemap/bukkit/BukkitCommands.java +++ b/implementations/spigot/src/main/java/de/bluecolored/bluemap/bukkit/BukkitCommands.java @@ -32,6 +32,7 @@ import java.util.concurrent.TimeoutException; import org.apache.commons.lang.StringUtils; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.command.defaults.BukkitCommand; @@ -88,8 +89,16 @@ public void onTabComplete(TabCompleteEvent evt) { } if (!completions.isEmpty()) { - completions.sort((s1, s2) -> s1.compareToIgnoreCase(s2)); - evt.getCompletions().addAll(completions); + completions.sort(String::compareToIgnoreCase); + + try { + evt.getCompletions().addAll(completions); + } catch (UnsupportedOperationException ex){ + // fix for a bug with paper where the completion-Collection is not mutable for some reason + List mutableCompletions = new ArrayList<>(evt.getCompletions()); + mutableCompletions.addAll(completions); + evt.setCompletions(mutableCompletions); + } } } catch (InterruptedException ignore) { Thread.currentThread().interrupt();