Files
rivencraft/README.md
T
2026-11-02 09:30:22 -05:00

7.0 KiB

Rivencraft

Write a book. Name an Age. Step into a world that did not exist before.

Rivencraft brings the books, writing stations, symbols, and unpredictable Ages of Mystcraft Legacy to Minecraft 1.21.1 on NeoForge. Mystcraft veterans will recognize the writing flow, D'ni-inspired glyphs, libraries, crystals, and instability. Rivencraft also lets you author modern terrain, biomes, structures, seasons, and celestial bodies. It is an independently developed project, not a byte-for-byte copy of the 1.12.2 mod.

The gameplay guide below describes the Minecraft 1.21.1 release. A separate, incomplete Minecraft 26.3 beta is available: Java 25, NeoForge 26.3.0.99, and a first-party Age backend (no Dynamic Dimensions or Bad Packets). It now supports authored terrain/biomes, structure and vegetation pages, independent Age weather, and a growing set of generation features, but does not yet provide full 1.21.1 gameplay or optional-integration parity. See the 26.3 beta guide and latest beta release notes. Keep the builds and their saves separate, and back up worlds before updating.

Getting started

  1. Make an Ink Vial from two black dyes, a glass bottle, and a water bucket. Craft an Ink Mixer, Writing Desk, and Book Binder.
  2. Put paper and an Ink Vial in the Ink Mixer and take a Link Panel Page. Add ingredients to the basin first if you want a chance of link modifiers.
  3. Put leather or an empty Notebook and the Link Panel in the Book Binder. Name the Age and take the Descriptive Book. A book with only a Link Panel creates a seeded random Age; add Symbol Pages to author its features.
  4. Open the book to create its Age, then click the destination preview to travel. Bring a bound Linking Book for the return trip: automatic Return Links are off by default.

Find new Symbol Pages in Age libraries, or copy pages you already own with paper and ink at the Writing Desk. The Notebook stores ordered pages, including intentional gaps. Written pages can control terrain, biome distribution, weather, lighting, seasons, sky color, suns and moons, decorations, structures, and more. Incorrect or excessive writing can make an Age unstable; instability may bring decay, lightning, explosions, meteors, burning, erosion, and other hazards. Some combinations are still unsupported and the Binder reports them before consuming ingredients.

Place a Rivencraft book or page on a vanilla Lectern to convert it to a Book Stand. Crystal formations yield shards for Crystal Blocks. A connected crystal frame with a Book Receptacle and a bound book forms a portal; frames can stand upright or lie flat. Libraries, Book Stands, and portals use Legacy-inspired assets and sounds. Handheld travel drops the used book at the departure point, so plan how you will retrieve it.

Requirements and optional integrations

Install the same gameplay mods on the client and server:

  • Minecraft 1.21.1, NeoForge 21.1.264 or newer in the 21.1 line, and Java 21.
  • Dynamic Dimensions AR Edition 0.9.1 and its Bad Packets 0.8.2 dependency. These are required for Age dimensions.

Rivencraft works without any of these optional integrations:

Mod What it adds
JEI Searchable Pages and guides for the Ink Mixer, Writing Desk, Book Binder, and Linking Book crafting.
Create (bundles Ponder) Ponder book snapshots and a crystal-portal construction guide.
Immersive Portals Live destination views in book previews and crystal portals. In AUTO preview mode it takes priority over Ponder.
TerraBlender Eligible biomes from mods using its Overworld/Nether regions become Age biome candidates and Pages. Biomes O' Plenty is one example; it is not hard-coded or required.
Serene Seasons (with GlitchCore) Independent per-Age seasons, including normal seasons, no seasons, and four eternal-season modes.
Ruins Authorable Ruins-template Pages and Ruins structures in Ages.

The optional builds used in the latest development checks are JEI 19.69.0.457, Create 6.0.10, Immersive Portals 6.0.7, TerraBlender 4.1.0.8, Serene Seasons 10.1.0.9, and Ruins 1.21.1.2NF. See the compatibility review for the evidence and limits of those combinations.

Without Create or Immersive Portals, book previews use Rivencraft's built-in Legacy-style animation. Ecliptic Seasons is not supported: its 1.21.1 API does not offer the live dimension/season control Rivencraft needs.

Saves, settings, and current limits

Ages and bound books use persistent UUIDs. Back up the entire world folder before changing mod versions, data packs, or optional biome mods: the Age registry and dimension data must be restored together. Rivencraft preserves known older save formats where possible, but pre-public-release worlds are not promised universal compatibility. Missing custom symbols retain their IDs in books; missing registry entries or dimension providers can still prevent an Age from loading. See current implementation for supported behavior and deliberate limits.

Server settings include descriptive_books.return_link_mode (default DISABLED), libraries.loot_mode (LEGACY or AGE_ONLY), writing ink costs, season enrollment, and instability controls. The client setting book_preview.mode chooses AUTO, IMMERSIVE_PORTALS, PONDER, or LEGACY. An operator can inspect Ages and instability with /rivencraft age and find libraries with /rivencraft library nearest. The creative-only Link Modifier can edit link properties and retire an Age; use it carefully and keep backups. Binder status messages are off by default. An OP can run /rivencraft binder messages enable or /rivencraft binder messages disable to control them; only OPs see the diagnostics even when enabled.

Project and development

This repository is the development source. See the current implementation, milestone summaries, technical document index, and issues. Help build the Rivencraft wiki with guides for Ages, pages, and crafting, or open an issue with documentation suggestions and corrections. Milestone 7 is complete in 1.0.0.2. Its acceptance record and regression matrix distinguish automated checks from manual evidence and known limitations.

./gradlew build
./gradlew runGameTestServer

The JAR is written to build/libs/. Development runs need the required mods; see GameTest guidance for focused archived suites. Versions use x.y.z.b: major release, completed milestone, release slice, then fixes/additional work within that slice.

Rivencraft is licensed under LGPL-3.0-or-later. Legacy-derived material is credited in NOTICE and asset provenance.