Workaround for a paper-bug causing an error when tab-completing sometimes

This commit is contained in:
Blue (Lukas Rieger) 2020-11-01 12:41:40 +01:00
parent 6b2e845654
commit baa1653753
No known key found for this signature in database
GPG Key ID: 904C4995F9E1F800
1 changed files with 11 additions and 2 deletions

View File

@ -32,6 +32,7 @@ import java.util.concurrent.TimeUnit;
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 class BukkitCommands implements Listener {
}
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<String> mutableCompletions = new ArrayList<>(evt.getCompletions());
mutableCompletions.addAll(completions);
evt.setCompletions(mutableCompletions);
}
}
} catch (InterruptedException ignore) {
Thread.currentThread().interrupt();