Show 'no results for query' in help when multi-help topic is empty

Signed-off-by: Irmo van den Berge <irmo.vandenberge@ziggo.nl>
This commit is contained in:
Irmo van den Berge 2020-12-21 17:45:11 +01:00 committed by Alexander Söderberg
parent cabb7f426c
commit df52e99a8b

View file

@ -276,14 +276,11 @@ public final class MinecraftHelp<C> {
}
}
private void printIndexHelpTopic(
private void printNoResults(
final @NonNull C sender,
final @NonNull String query,
final int page,
final CommandHelpHandler.@NonNull IndexHelpTopic<C> helpTopic
final @NonNull String query
) {
final Audience audience = this.getAudience(sender);
if (helpTopic.isEmpty()) {
audience.sendMessage(Identity.nil(), this.basicHeader(sender));
audience.sendMessage(Identity.nil(), Component.text(
this.messageProvider.apply(sender, MESSAGE_NO_RESULTS_FOR_QUERY) + ": \"",
@ -292,8 +289,20 @@ public final class MinecraftHelp<C> {
.append(this.highlight(Component.text("/" + query, this.colors.highlight)))
.append(Component.text("\"", this.colors.text)));
audience.sendMessage(Identity.nil(), this.footer(sender));
}
private void printIndexHelpTopic(
final @NonNull C sender,
final @NonNull String query,
final int page,
final CommandHelpHandler.@NonNull IndexHelpTopic<C> helpTopic
) {
if (helpTopic.isEmpty()) {
this.printNoResults(sender, query);
return;
}
final Audience audience = this.getAudience(sender);
new Pagination<CommandHelpHandler.VerboseHelpEntry<C>>(
(currentPage, maxPages) -> {
final List<Component> header = new ArrayList<>();
@ -335,6 +344,11 @@ public final class MinecraftHelp<C> {
final int page,
final CommandHelpHandler.@NonNull MultiHelpTopic<C> helpTopic
) {
if (helpTopic.getChildSuggestions().isEmpty()) {
this.printNoResults(sender, query);
return;
}
final Audience audience = this.getAudience(sender);
final int headerIndentation = helpTopic.getLongestPath().length();
new Pagination<String>(