# Rivencraft Rivencraft is a clean, incremental port of the ideas and gameplay of [Mystcraft Legacy](https://github.com/Mystcraft/Mystcraft-Legacy) to Minecraft 1.21.1 on NeoForge. The bootstrap milestone is complete and books/linking is in progress. The project currently provides an unwritten Descriptive Book and a functional Linking Book with persistent, dimension-aware destinations and safe landing checks. Age generation, symbols, instability, and writing mechanics have not been ported yet. ## Linking Book Craft a Linking Book from a vanilla book and an ender pearl. Sneak-right-click the unbound book to record the current location, then right-click it to return there. The destination is stored on the item and survives inventory and world saves. Travel only succeeds if the target dimension is loaded and a solid, collision-free landing position can be found nearby. Right-click an empty vanilla lectern with a Rivencraft book to convert it into a Book Stand and place the book on it. Use a Linking Book on the stand by right-clicking with an empty hand. Sneak-right-click with an empty hand to take the book back and restore the vanilla lectern. Breaking a Book Stand drops both the stored book and a vanilla lectern. ## Requirements - A Java 21 JDK - Minecraft 1.21.1 - NeoForge 21.1.251 or newer in the 21.1 line ## Build and run ```shell ./gradlew build ./gradlew runClient ``` The built mod is written to `build/libs/`. ## Versioning Rivencraft versions use `x.y.z`: - `x` changes for a major public release. - `y` changes when a development milestone is completed. - `z` changes for iterations within the current milestone and for bug fixes. The patch component resets to zero when a milestone is completed. For example, milestone 2 development follows `0.1.1`, `0.1.2`, and so on; completing that milestone produces `0.2.0`. ## Porting approach Mystcraft Legacy targets Forge for Minecraft 1.12.2. Rivencraft therefore ports one subsystem at a time onto current registries, codecs, data packs, and NeoForge APIs instead of importing the legacy source tree wholesale. See [docs/PORTING.md](docs/PORTING.md) for the initial roadmap and provenance rules. ## License Rivencraft is licensed under LGPL-3.0-or-later. Mystcraft Legacy is also LGPL-3.0; copied or adapted upstream code must retain its copyright and license notices. See [LICENSE](LICENSE) and [NOTICE](NOTICE).