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 {
|
public abstract class BookIndex {
|
||||||
|
|
||||||
protected final static int booksPerPage = 10;
|
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
|
* 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>
|
* @param page <p>The current page</p>
|
||||||
*/
|
*/
|
||||||
protected static void displayPageCommand(@NotNull ComponentBuilder componentBuilder, @NotNull String command, int page) {
|
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(
|
HoverEvent.Action.SHOW_TEXT, new Text("/" + command + " page" + page))).event(
|
||||||
new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + command + " page" + page));
|
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) {
|
protected static void displayTotalPages(@NotNull ComponentBuilder componentBuilder, int page, int totalPages) {
|
||||||
componentBuilder.append("Page " + page + " of " + 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,
|
protected static void displayAlphabetIndex(@NotNull ComponentBuilder componentBuilder,
|
||||||
@NotNull String command, @NotNull Map<Character, Integer> firstInstances) {
|
@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++) {
|
for (int characterIndex = 0; characterIndex <= 25; characterIndex++) {
|
||||||
char character = (char) ('a' + characterIndex);
|
char character = (char) ('a' + characterIndex);
|
||||||
if (firstInstances.containsKey(character)) {
|
if (firstInstances.containsKey(character)) {
|
||||||
int pageIndex = (firstInstances.get(character) / booksPerPage) + 1;
|
int pageIndex = (firstInstances.get(character) / booksPerPage) + 1;
|
||||||
componentBuilder.append(character + "").color(
|
componentBuilder.append(character + "").color(interactColor).event(
|
||||||
ChatColor.AQUA).event(new ClickEvent(ClickEvent.Action.RUN_COMMAND,
|
new ClickEvent(ClickEvent.Action.RUN_COMMAND,
|
||||||
"/" + command + " page" + pageIndex)).event(new HoverEvent(
|
"/" + command + " page" + pageIndex)).event(new HoverEvent(
|
||||||
HoverEvent.Action.SHOW_TEXT, new Text("To page " + pageIndex)));
|
HoverEvent.Action.SHOW_TEXT, new Text("Books starting with " + character)));
|
||||||
} else {
|
} 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);
|
String fullCommand = "/" + command + " page" + (page - 1);
|
||||||
HoverEvent prevPagePreview = new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("To 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);
|
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 {
|
} 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);
|
String fullCommand = "/" + command + " page" + (page + 1);
|
||||||
HoverEvent nextPagePreview = new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("To 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);
|
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 {
|
} 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
|
@NotNull
|
||||||
protected static String getNiceName(@NotNull String bookPath) {
|
protected static String getNiceName(@NotNull String bookPath) {
|
||||||
|
String separator = BooksWithoutBordersConfig.getTitleAuthorSeparator();
|
||||||
bookPath = ChatColor.translateAlternateColorCodes('&', bookPath.substring(0, bookPath.length() - 4));
|
bookPath = ChatColor.translateAlternateColorCodes('&', bookPath.substring(0, bookPath.length() - 4));
|
||||||
String[] parts = bookPath.split(BooksWithoutBordersConfig.getTitleAuthorSeparator());
|
if (bookPath.contains(separator)) {
|
||||||
return parts[0].replace("_", " ") + ChatColor.RESET + " by " + parts[1] + ChatColor.RESET;
|
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) {
|
@NotNull List<String> availableBooks) {
|
||||||
int startIndex = (page - 1) * booksPerPage;
|
int startIndex = (page - 1) * booksPerPage;
|
||||||
for (int bookIndex = startIndex; bookIndex < Math.min(startIndex + booksPerPage, availableBooks.size()); bookIndex++) {
|
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 + " " +
|
new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + command + " " +
|
||||||
(bookIndex + 1))).event(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
|
(bookIndex + 1))).event(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
|
||||||
new Text("Select book by index")));
|
new Text("Select book by index")));
|
||||||
|
Reference in New Issue
Block a user