# 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. ## 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/`. ## 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).