From e36bff8a4d6c64d13330264029fc49825bdd9ace Mon Sep 17 00:00:00 2001 From: Logan Date: Tue, 6 Oct 2026 19:12:36 -0400 Subject: [PATCH] chore(pack): pin Akashic Tome's whitelist to this pack's guidebooks Enumerated every guidebook-type item across all 209 mods (30 items) and pinned them explicitly in config/akashictome-common.toml. Finding: no config was strictly required. Akashic Tome's "Whitelisted Names" substring-matches the item's registry PATH (verified from AttachementRecipe bytecode: getPath + toLowerCase + contains, with getHoverName and getDescriptionId absent), and the shipped 15-entry default list already covers every book in this pack. The explicit id list is what keeps the tome working if that name list is ever trimmed. All Patchouli books share the single item id patchouli:guide_book and cannot be listed individually. They still morph under their real owning mod, because Patchouli's ItemModBook overrides getCreatorModId to return the book's owner. Also drops the shipped defaults' whitelist ids and mod aliases, which all reference mods that are not installed. --- .packwizignore | 1 + config/akashictome-common.toml | 71 ++++++++++++++++++++++++++++++++++ index.toml | 4 ++ pack.toml | 2 +- 4 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 config/akashictome-common.toml diff --git a/.packwizignore b/.packwizignore index 615c79e..d981838 100644 --- a/.packwizignore +++ b/.packwizignore @@ -49,3 +49,4 @@ sp-world/ # including the blanket "*.json" in the authoring section. Re-include only # files we deliberately author and want enforced on install. !config/petprotect.json +!config/akashictome-common.toml diff --git a/config/akashictome-common.toml b/config/akashictome-common.toml new file mode 100644 index 0000000..c4857e0 --- /dev/null +++ b/config/akashictome-common.toml @@ -0,0 +1,71 @@ +"Allow all items to be added" = false + +# Every guidebook-type item in this pack. The defaults already catch all of +# these via "Whitelisted Names" (which substring-matches the item's registry +# path), so this list is what keeps the tome working if that name list is ever +# trimmed. All Patchouli books share the single item id patchouli:guide_book +# and cannot be listed individually - they morph under their owning mod via +# Patchouli's getCreatorModId override. +"Whitelisted Items" = [ + "patchouli:guide_book", + "ars_nouveau:worn_notebook", + "ars_nouveau:novice_spell_book", + "ars_nouveau:apprentice_spell_book", + "ars_nouveau:archmage_spell_book", + "ars_nouveau:annotated_codex", + "ars_nouveau:caster_tome", + "apotheosis:book", + "apothic_enchanting:boots_tome", + "apothic_enchanting:bow_tome", + "apothic_enchanting:chestplate_tome", + "apothic_enchanting:extraction_tome", + "apothic_enchanting:fishing_tome", + "apothic_enchanting:helmet_tome", + "apothic_enchanting:improved_scrap_tome", + "apothic_enchanting:leggings_tome", + "apothic_enchanting:other_tome", + "apothic_enchanting:pickaxe_tome", + "apothic_enchanting:scrap_tome", + "apothic_enchanting:weapon_tome", + "alexscaves:cave_book", + "alexscaves:cave_codex", + "alexscaves:cave_tablet", + "alexsmobs:animal_dictionary", + "chipped:alchemy_book", + "create_enchantment_industry:blazes_enchanting_handbook", + "extradelight:cookbook", + "twilightdelight:book", + "adorablehamsterpets:hamster_guide_book", + "citadel:citadel_book", +] + +"Whitelisted Names" = [ + "book", + "tome", + "lexicon", + "nomicon", + "manual", + "knowledge", + "pedia", + "compendium", + "guide", + "codex", + "dictionary", + "journal", + "tablet", + "grimoire", + "bestiary", +] + +"Blacklisted Mods" = [] + +# The shipped defaults blacklist two Primal Magick items; that mod is not +# installed. The substring matcher above also catches bookshelves and +# twilightforest:death_tome_spawn_egg as false positives - add those ids here +# if players attaching them to the tome becomes a nuisance. +"Blacklisted Items" = [] + +# The shipped defaults alias 18 mods that are not in this pack. +"Mod Aliases" = [] + +"Hide Book Render" = false diff --git a/index.toml b/index.toml index 7f9ab8a..855336e 100644 --- a/index.toml +++ b/index.toml @@ -1,5 +1,9 @@ hash-format = "sha256" +[[files]] +file = "config/akashictome-common.toml" +hash = "4e479c86ddfec0c5e28f07034f033a10abae404309f38ccc4bfc15da9de2dfa2" + [[files]] file = "config/petprotect.json" hash = "de9aefb0a05ee60c880c4c3d51e06d00f1a63b50b686ea740a70979323854637" diff --git a/pack.toml b/pack.toml index ed4da40..303bfe9 100644 --- a/pack.toml +++ b/pack.toml @@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "29cee97f1dd3e093e11e3e565cbf11dd1ddc6203a82e7e81b93016e601fa9989" +hash = "51bf7a3a257a9f53dfa3fe9665db0ceece6f1c1ffd28fd0eb7f2daff09912708" [versions] minecraft = "1.21.1"