diff --git a/core/src/main/java/co/aikar/commands/CommandHelp.java b/core/src/main/java/co/aikar/commands/CommandHelp.java index 06f88b7a..fcc70970 100644 --- a/core/src/main/java/co/aikar/commands/CommandHelp.java +++ b/core/src/main/java/co/aikar/commands/CommandHelp.java @@ -32,6 +32,7 @@ import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.regex.Pattern; +import java.util.stream.Collectors; @SuppressWarnings("WeakerAccess") public class CommandHelp { @@ -58,7 +59,7 @@ public class CommandHelp { SetMultimap subCommands = rootCommand.getSubCommands(); Set seen = new HashSet<>(); - + if (!rootCommand.getDefCommand().hasHelpCommand) { RegisteredCommand defCommand = rootCommand.getDefaultRegisteredCommand(); if (defCommand != null) { @@ -66,7 +67,7 @@ public class CommandHelp { seen.add(defCommand); } } - + subCommands.entries().forEach(e -> { String key = e.getKey(); if (key.equals(BaseCommand.DEFAULT) || key.equals(BaseCommand.CATCHUNKNOWN)) { @@ -148,9 +149,8 @@ public class CommandHelp { return; } - List helpEntries = getHelpEntries(); + List helpEntries = getHelpEntries().stream().filter(HelpEntry::shouldShow).collect(Collectors.toList()); Iterator results = helpEntries.stream() - .filter(HelpEntry::shouldShow) .sorted(Comparator.comparingInt(helpEntry -> helpEntry.getSearchScore() * -1)).iterator(); if (!results.hasNext()) { issuer.sendMessage(MessageType.ERROR, MessageKeys.NO_COMMAND_MATCHED_SEARCH, "{search}", ACFUtil.join(this.search, " ")); @@ -246,6 +246,10 @@ public class CommandHelp { return totalPages; } + public boolean isOnlyPage() { + return this.page == 1 && lastPage; + } + public boolean isLastPage() { return lastPage; } diff --git a/core/src/main/java/co/aikar/commands/CommandHelpFormatter.java b/core/src/main/java/co/aikar/commands/CommandHelpFormatter.java index 109eaac0..0670ba9f 100644 --- a/core/src/main/java/co/aikar/commands/CommandHelpFormatter.java +++ b/core/src/main/java/co/aikar/commands/CommandHelpFormatter.java @@ -85,7 +85,7 @@ public class CommandHelpFormatter { } public void printHelpFooter(CommandHelp help, CommandIssuer issuer) { - if (help.isLastPage()) { + if (help.isOnlyPage()) { return; } issuer.sendMessage(MessageType.HELP, MessageKeys.HELP_PAGE_INFORMATION, getHeaderFooterFormatReplacements(help)); @@ -107,7 +107,7 @@ public class CommandHelpFormatter { } public void printSearchFooter(CommandHelp help, CommandIssuer issuer) { - if (help.isLastPage()) { + if (help.isOnlyPage()) { return; } issuer.sendMessage(MessageType.HELP, MessageKeys.HELP_PAGE_INFORMATION, getHeaderFooterFormatReplacements(help));