Public Access
85 lines
3.3 KiB
Markdown
85 lines
3.3 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 and books/linking milestones are complete. The project currently
|
|
provides functional Linking Books and temporary vanilla-dimension Descriptive
|
|
Book destinations with generated Return Links. 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 when
|
|
its preview panel is clicked. The destination is stored on the item and
|
|
survives inventory and world saves. Travel only succeeds if the target
|
|
dimension is loaded and a non-fluid, passable 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.
|
|
|
|
Bound Linking Books request a server-validated 18-by-18-by-18 snapshot around
|
|
their destination. The book keeps its target-centered close-up framing as a
|
|
rotating Ponder scene on the left page, backed by the
|
|
destination biome's sky color. The snapshot is visual only; the server
|
|
independently validates every link.
|
|
|
|
## Descriptive Book
|
|
|
|
Until generated Ages arrive in Milestone 3, written Descriptive Books resolve
|
|
deterministically to the Overworld, Nether, or End according to their Age UUID.
|
|
The Rivencraft creative tab includes one sample book for each. Linking creates
|
|
a bound Return Link to the exact source position and orientation. Descriptive
|
|
Book destinations additionally require solid footing beneath the player. If
|
|
their recorded arrival is unsafe, they search nearby terrain for a footed spot.
|
|
|
|
## 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).
|