From 3205f2817879817e2dee7c4a2583cca8fb62adf7 Mon Sep 17 00:00:00 2001 From: glisco Date: Sun, 3 Nov 2024 21:37:21 +0100 Subject: [PATCH] more index wrapping fixes (i am trying very hard to fake-smile rn) --- gradle.properties | 2 +- .../wispforest/lavender/client/LavenderBookScreen.java | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index b387bb7..54e3d2e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.15.11 # Mod Properties - mod_version = 0.1.13 + mod_version = 0.1.14 maven_group = io.wispforest archives_base_name = lavender diff --git a/src/main/java/io/wispforest/lavender/client/LavenderBookScreen.java b/src/main/java/io/wispforest/lavender/client/LavenderBookScreen.java index 307fc86..d4f58c1 100644 --- a/src/main/java/io/wispforest/lavender/client/LavenderBookScreen.java +++ b/src/main/java/io/wispforest/lavender/client/LavenderBookScreen.java @@ -752,11 +752,12 @@ public LandingPageSupplier(LavenderBookScreen context) { var indexPage = Containers.verticalFlow(Sizing.fill(100), Sizing.content()); this.pages.add(indexPage); + var rootCategories = book.categories().stream().filter(category -> category.parent() == null).toList(); if (!book.categories().isEmpty()) { var categories = this.pageWithHeader(Text.translatable("text.lavender.categories")); categories.verticalSizing(Sizing.content()); - var categoryContainer = this.buildCategoryIndex(book.categories().stream().filter(category -> category.parent() == null)); + var categoryContainer = this.buildCategoryIndex(rootCategories.stream()); categories.child(categoryContainer); categoryContainer.child(Components.item(LavenderBookItem.itemOf(this.context.book)).configure(categoryButton -> { @@ -783,7 +784,7 @@ public LandingPageSupplier(LavenderBookScreen context) { ); int entriesOnCategoryPage = !book.categories().isEmpty() - ? 150 - 36 - MathHelper.ceilDiv(book.categories().size() - 1, 4) * 24 + ? 150 - 36 - MathHelper.ceilDiv(rootCategories.size() + 1, 4) * 24 : 150; var orphanedEntries = this.buildEntryIndex(book.orphanedEntries(), true, entriesOnCategoryPage); @@ -914,13 +915,13 @@ public CategoryPageSupplier(LavenderBookScreen context, Category category) { // --- category & entry index --- var categoryContainer = this.buildCategoryIndex(this.context.book.categories().stream().filter(category_ -> Objects.equals(category_.parent(), category.id()))); - int entriesOnCategoryPage = !categoryContainer.children().isEmpty() + int spaceOnCategoryPage = !categoryContainer.children().isEmpty() ? 125 - 15 - MathHelper.ceilDiv(categoryContainer.children().size(), 4) * 24 : 125; var entries = this.context.book.entriesByCategory(this.category); if (entries != null) { - var indexPages = this.buildEntryIndex(entries, true, entriesOnCategoryPage); + var indexPages = this.buildEntryIndex(entries, true, spaceOnCategoryPage); for (int i = 0; i < indexPages.size(); i++) { var page = i == 0 ? this.pageWithHeader(Text.translatable("text.lavender.index")).child(indexPages.get(0))