From 53a7a4af873b9143021a665579ec741c24ca3926 Mon Sep 17 00:00:00 2001 From: Dustin Norberg Date: Mon, 26 Oct 2026 14:16:32 -0400 Subject: [PATCH] Document random Page allow and block lists --- Server-and-Operator-Guide.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Server-and-Operator-Guide.md b/Server-and-Operator-Guide.md index 7b86c10..8cd62b3 100644 --- a/Server-and-Operator-Guide.md +++ b/Server-and-Operator-Guide.md @@ -6,11 +6,28 @@ Run the same required gameplay mods on server and clients: Rivencraft, Dynamic D - descriptive_books.return_link_mode: DISABLED (default), ON_CREATION, or ALWAYS. - libraries.loot_mode: LEGACY or AGE_ONLY (Pages describing the containing Age). +- random_pages.allowlist and random_pages.blocklist: exact Symbol Page IDs used by new random Ages and newly generated library loot. - serene_seasons.auto_whitelist_ages: automatically enroll eligible Ages when the optional season mod is installed. - Client-side book_preview.mode: AUTO, IMMERSIVE_PORTALS, PONDER, or LEGACY. The server also has writing-ink and instability settings. Review the generated NeoForge config and make a backup before changing a live world. Client preview settings do not change server-side Age generation or travel rules. +## Allowing or blocking random Pages + +Edit the world's `serverconfig/rivencraft-server.toml` and restart the server (or leave and reopen a singleplayer world). The lists use full, quoted Symbol Page IDs—not display names. To prevent **Static Sky** from being chosen for new Link-Panel-only random Ages or appearing in newly generated Age-library Pages: + +```toml +[random_pages] +allowlist = [] +blocklist = ["rivencraft:sky/static"] +``` + +Alternatively, an allowlist can limit a particular Page family. For example, `allowlist = ["rivencraft:sky/overworld", "rivencraft:sky/end"]` limits random sky styles to those two; terrain, features, and other families stay unrestricted. An allowlist only restricts families it names, and the blocklist wins if an ID appears in both lists. Biome-distribution Pages (such as `rivencraft:biome/tiny`) are treated as a separate family from individual biome Pages (such as `rivencraft:biome/plains`). Use the Page ID visible in the symbol data (`data/rivencraft/rivencraft/symbols/`) for bundled Pages; generated biome and material Page IDs have the same IDs shown by JEI advanced tooltips. + +This is a *future-generation policy*, not a ban on player-owned Pages. It does not remove items from Creative or JEI, reject a hand-authored Descriptive Book, or rewrite an existing Age. New random Ages save their list policy when bound. Libraries apply the current lists when they generate; existing contents are unchanged. Native Minecraft biome presets are not assembled from individual biome Pages, so blocking a biome Page does not remove that biome from a Native distribution. + +Keep at least one eligible choice in each required family (such as terrain, lighting, weather, and biome distribution). If a list removes every required choice, the Binder reports that the random Page lists have no available choices instead of generating an invalid Age. + ## Operator commands - /rivencraft age list shows registered Ages and whether each runtime dimension is loaded.