From 5feafc7fe7fc369c9e920007224c46c60d5619cc Mon Sep 17 00:00:00 2001 From: Jishuna Date: Thu, 2 Apr 2026 12:52:45 -0400 Subject: [PATCH] Allow external books to load from resource packs --- .../patchouli/client/book/BookContentsBuilder.java | 2 +- .../src/main/java/vazkii/patchouli/common/book/Book.java | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Xplat/src/main/java/vazkii/patchouli/client/book/BookContentsBuilder.java b/Xplat/src/main/java/vazkii/patchouli/client/book/BookContentsBuilder.java index 7608b025..26fccd3f 100644 --- a/Xplat/src/main/java/vazkii/patchouli/client/book/BookContentsBuilder.java +++ b/Xplat/src/main/java/vazkii/patchouli/client/book/BookContentsBuilder.java @@ -136,7 +136,7 @@ private void load(String thing, LoadFunc loader, Map } protected BookContentLoader getContentLoader() { - if (book.isExternal) { + if (!book.useResourcePack) { return BookContentExternalLoader.INSTANCE; } // A quick reload should not reuse stale data, it is initiated by the user anyways diff --git a/Xplat/src/main/java/vazkii/patchouli/common/book/Book.java b/Xplat/src/main/java/vazkii/patchouli/common/book/Book.java index a345c23d..2155e55e 100644 --- a/Xplat/src/main/java/vazkii/patchouli/common/book/Book.java +++ b/Xplat/src/main/java/vazkii/patchouli/common/book/Book.java @@ -62,10 +62,10 @@ public class Book { public final int textColor, headerColor, nameplateColor, linkColor, linkHoverColor, progressBarColor, progressBarBackground; - public final boolean isExternal; - // JSON Loaded properties + public final boolean useResourcePack; + public final String name; public final String landingText; @@ -116,7 +116,7 @@ public Book(JsonObject root, XplatModContainer owner, ResourceLocation id, boole this.owner = owner; this.id = id; - this.isExternal = external; + this.useResourcePack = GsonHelper.getAsBoolean(root, "use_resource_pack", false);; this.textColor = parseColor(root, "text_color", "000000"); this.headerColor = parseColor(root, "header_color", "333333"); this.nameplateColor = parseColor(root, "nameplate_color", "FFDD00"); @@ -139,8 +139,7 @@ public Book(JsonObject root, XplatModContainer owner, ResourceLocation id, boole this.i18n = GsonHelper.getAsBoolean(root, "i18n", false); this.overflowMode = SerializationUtil.getAsEnum(root, "text_overflow_mode", PatchouliConfigAccess.TextOverflowMode.class, null); - boolean useResourcePack = GsonHelper.getAsBoolean(root, "use_resource_pack", false); - if (!this.isExternal && !useResourcePack) { + if (!external && !this.useResourcePack) { String message = "Book %s has use_resource_pack set to false. ".formatted(this.id) + "This behaviour was removed in 1.20. " + "The book author should enable this flag and move all book contents clientside to /assets/, "