Files
rivencraft/README.md
T
2026-09-21 07:24:12 -04:00

75 lines
2.7 KiB
Markdown

# 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, then use it in the
air. An unbound book opens a screen where it can be named and bound to the
current location. A bound book opens its destination screen and travels only
when the Link button is pressed. 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.
Version 0.1.4 establishes a Ponder-backed destination-preview boundary and an
animated loading view. Transmitting a destination snapshot and rendering its
actual blocks as the rotating scene is the next preview iteration.
## Requirements
- A Java 21 JDK
- Minecraft 1.21.1
- NeoForge 21.1.251 or newer in the 21.1 line
- Ponder 1.0.82 for Minecraft 1.21.1 (client)
## 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).