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:
parent
cabb7f426c
commit
df52e99a8b
1 changed files with 23 additions and 9 deletions
|
|
@ -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>(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue