Makes the book list's colors more consistent
All checks were successful
EpicKnarvik97/Books-Without-Borders/pipeline/head This commit looks good
All checks were successful
EpicKnarvik97/Books-Without-Borders/pipeline/head This commit looks good
This commit is contained in:
@@ -15,6 +15,8 @@ import java.util.Map;
|
||||
public abstract class BookIndex {
|
||||
|
||||
protected final static int booksPerPage = 10;
|
||||
protected final static @NotNull ChatColor interactColor = ChatColor.of("#FFD700");
|
||||
protected final static @NotNull ChatColor inactiveColor = ChatColor.of("#999999");
|
||||
|
||||
/**
|
||||
* Displays the correct GUI, if specified in the given arguments
|
||||
@@ -57,7 +59,7 @@ public abstract class BookIndex {
|
||||
* @param page <p>The current page</p>
|
||||
*/
|
||||
protected static void displayPageCommand(@NotNull ComponentBuilder componentBuilder, @NotNull String command, int page) {
|
||||
componentBuilder.append("[Page Command]", ComponentBuilder.FormatRetention.NONE).event(new HoverEvent(
|
||||
componentBuilder.append("[Page Command]", ComponentBuilder.FormatRetention.NONE).color(interactColor).event(new HoverEvent(
|
||||
HoverEvent.Action.SHOW_TEXT, new Text("/" + command + " page" + page))).event(
|
||||
new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + command + " page" + page));
|
||||
}
|
||||
@@ -71,7 +73,7 @@ public abstract class BookIndex {
|
||||
*/
|
||||
protected static void displayTotalPages(@NotNull ComponentBuilder componentBuilder, int page, int totalPages) {
|
||||
componentBuilder.append("Page " + page + " of " + totalPages,
|
||||
ComponentBuilder.FormatRetention.NONE).color(ChatColor.GREEN);
|
||||
ComponentBuilder.FormatRetention.NONE).color(inactiveColor);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -83,20 +85,20 @@ public abstract class BookIndex {
|
||||
*/
|
||||
protected static void displayAlphabetIndex(@NotNull ComponentBuilder componentBuilder,
|
||||
@NotNull String command, @NotNull Map<Character, Integer> firstInstances) {
|
||||
componentBuilder.append("[index] <", ComponentBuilder.FormatRetention.NONE);
|
||||
componentBuilder.append("[index] <", ComponentBuilder.FormatRetention.NONE).color(inactiveColor);
|
||||
for (int characterIndex = 0; characterIndex <= 25; characterIndex++) {
|
||||
char character = (char) ('a' + characterIndex);
|
||||
if (firstInstances.containsKey(character)) {
|
||||
int pageIndex = (firstInstances.get(character) / booksPerPage) + 1;
|
||||
componentBuilder.append(character + "").color(
|
||||
ChatColor.AQUA).event(new ClickEvent(ClickEvent.Action.RUN_COMMAND,
|
||||
"/" + command + " page" + pageIndex)).event(new HoverEvent(
|
||||
HoverEvent.Action.SHOW_TEXT, new Text("To page " + pageIndex)));
|
||||
componentBuilder.append(character + "").color(interactColor).event(
|
||||
new ClickEvent(ClickEvent.Action.RUN_COMMAND,
|
||||
"/" + command + " page" + pageIndex)).event(new HoverEvent(
|
||||
HoverEvent.Action.SHOW_TEXT, new Text("Books starting with " + character)));
|
||||
} else {
|
||||
componentBuilder.append(character + "", ComponentBuilder.FormatRetention.NONE).color(ChatColor.GRAY);
|
||||
componentBuilder.append(character + "", ComponentBuilder.FormatRetention.NONE).color(inactiveColor);
|
||||
}
|
||||
}
|
||||
componentBuilder.append(">", ComponentBuilder.FormatRetention.NONE);
|
||||
componentBuilder.append(">", ComponentBuilder.FormatRetention.NONE).color(inactiveColor);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -112,9 +114,10 @@ public abstract class BookIndex {
|
||||
String fullCommand = "/" + command + " page" + (page - 1);
|
||||
HoverEvent prevPagePreview = new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("To page " + (page - 1)));
|
||||
ClickEvent prevPageClick = new ClickEvent(ClickEvent.Action.RUN_COMMAND, fullCommand);
|
||||
componentBuilder.append("Previous [<]", ComponentBuilder.FormatRetention.NONE).event(prevPagePreview).event(prevPageClick);
|
||||
componentBuilder.append("Previous [<]", ComponentBuilder.FormatRetention.NONE).color(interactColor)
|
||||
.event(prevPagePreview).event(prevPageClick);
|
||||
} else {
|
||||
componentBuilder.append("Previous [<]", ComponentBuilder.FormatRetention.NONE).color(ChatColor.GRAY);
|
||||
componentBuilder.append("Previous [<]", ComponentBuilder.FormatRetention.NONE).color(inactiveColor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,9 +135,10 @@ public abstract class BookIndex {
|
||||
String fullCommand = "/" + command + " page" + (page + 1);
|
||||
HoverEvent nextPagePreview = new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("To page " + (page + 1)));
|
||||
ClickEvent nextPageClick = new ClickEvent(ClickEvent.Action.RUN_COMMAND, fullCommand);
|
||||
componentBuilder.append("Next [>]", ComponentBuilder.FormatRetention.NONE).event(nextPagePreview).event(nextPageClick);
|
||||
componentBuilder.append("Next [>]", ComponentBuilder.FormatRetention.NONE).color(interactColor)
|
||||
.event(nextPagePreview).event(nextPageClick);
|
||||
} else {
|
||||
componentBuilder.append("Next [>]", ComponentBuilder.FormatRetention.NONE).color(ChatColor.GRAY);
|
||||
componentBuilder.append("Next [>]", ComponentBuilder.FormatRetention.NONE).color(inactiveColor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,9 +150,14 @@ public abstract class BookIndex {
|
||||
*/
|
||||
@NotNull
|
||||
protected static String getNiceName(@NotNull String bookPath) {
|
||||
String separator = BooksWithoutBordersConfig.getTitleAuthorSeparator();
|
||||
bookPath = ChatColor.translateAlternateColorCodes('&', bookPath.substring(0, bookPath.length() - 4));
|
||||
String[] parts = bookPath.split(BooksWithoutBordersConfig.getTitleAuthorSeparator());
|
||||
return parts[0].replace("_", " ") + ChatColor.RESET + " by " + parts[1] + ChatColor.RESET;
|
||||
if (bookPath.contains(separator)) {
|
||||
String[] parts = bookPath.split(separator);
|
||||
return parts[0].replace("_", " ") + ChatColor.RESET + " by " + parts[1] + ChatColor.RESET;
|
||||
} else {
|
||||
return bookPath + ChatColor.RESET + " by Unknown" + ChatColor.RESET;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -93,7 +93,7 @@ public class PagedBookIndex extends BookIndex {
|
||||
@NotNull List<String> availableBooks) {
|
||||
int startIndex = (page - 1) * booksPerPage;
|
||||
for (int bookIndex = startIndex; bookIndex < Math.min(startIndex + booksPerPage, availableBooks.size()); bookIndex++) {
|
||||
componentBuilder.append("[" + (bookIndex + 1) + "]").color(ChatColor.GOLD).event(
|
||||
componentBuilder.append("[" + (bookIndex + 1) + "]").color(interactColor).event(
|
||||
new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + command + " " +
|
||||
(bookIndex + 1))).event(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
|
||||
new Text("Select book by index")));
|
||||
|
Reference in New Issue
Block a user