Public Access
81 lines
3.9 KiB
Markdown
81 lines
3.9 KiB
Markdown
# Destination preview compatibility
|
|
|
|
Rivencraft has three destination preview backends. The selected backend is a
|
|
client presentation detail; the server validates travel and Age generation is
|
|
independent of every preview integration.
|
|
|
|
## Selection matrix
|
|
|
|
Set `book_preview.mode` in `rivencraft-client.toml`.
|
|
|
|
| Configured mode | Immersive Portals installed | Create/Ponder installed | Selected backend |
|
|
| --- | --- | --- | --- |
|
|
| `AUTO` | yes | either | Immersive Portals |
|
|
| `AUTO` | no | yes | Ponder snapshot |
|
|
| `AUTO` | no | no | built-in legacy animation |
|
|
| `IMMERSIVE_PORTALS` | yes | either | Immersive Portals |
|
|
| `IMMERSIVE_PORTALS` | no | either | built-in legacy animation |
|
|
| `PONDER` | either | yes | Ponder snapshot |
|
|
| `PONDER` | either | no | built-in legacy animation |
|
|
| `LEGACY` | either | either | built-in legacy animation |
|
|
|
|
Explicit optional modes fall back directly to `LEGACY`. They do not silently
|
|
select the other optional integration. GameTests exercise every row and every
|
|
dependency-presence permutation.
|
|
|
|
## Book behavior
|
|
|
|
Held Linking and Descriptive Books render the selected backend in the preview
|
|
panel. Immersive Portals additionally exposes **Explore**: the player remains
|
|
at the opening position, mouse look controls the remote camera, and
|
|
right-click returns to the standard book view.
|
|
|
|
Books on a Book Stand use the same preview panel, but Explore is disabled so
|
|
the player cannot move away and leave a remote preview session owned by the
|
|
stand screen. Closing either screen releases its server chunk loader. Linking,
|
|
disconnecting, unloading the destination Age, and stopping the server also
|
|
release affected loaders.
|
|
|
|
The Immersive Portals backend force-loads the initial 3 by 3 destination area
|
|
before registering its wider preview chunk loader. The Ponder backend clears
|
|
the previous snapshot before applying replacement block data. The live backend
|
|
clears its framebuffer on each render and restores the Minecraft viewport
|
|
afterward. These rules prevent stale snapshot frames and book UI elements from
|
|
being captured in the preview.
|
|
|
|
## Supported combinations and upstream limits
|
|
|
|
The compatibility baseline is Minecraft 1.21.1, NeoForge 21.1.264, Create
|
|
6.0.10, and Immersive Portals 6.0.7. Core Age generation and the `LEGACY`
|
|
backend run without Create or Immersive Portals; the headless GameTest server
|
|
uses that dependency-free path.
|
|
|
|
Immersive Portals 6.0.7 is incompatible with Sodium 0.8.13 for Minecraft
|
|
1.21.1: its Sodium compatibility mixin references the removed
|
|
`OcclusionCuller.Visitor` class and crashes while entering a world. Sodium
|
|
0.6.13 avoids that specific mixin failure. This compatibility boundary belongs
|
|
to Immersive Portals and Sodium, before Rivencraft's preview code runs.
|
|
|
|
Immersive Portals reports that some Create contraptions can be invisible when
|
|
the two mods are installed together. Rivencraft does not replace either mod's
|
|
world or contraption renderer, so this remains an upstream rendering limit.
|
|
The `PONDER` or `LEGACY` mode is the supported fallback when live rendering is
|
|
unstable in a particular graphics or mod configuration.
|
|
|
|
## Release verification
|
|
|
|
For preview-related releases:
|
|
|
|
1. Run `./gradlew runGameTestServer` for the core selection matrix, Age
|
|
creation, persistence, and travel without optional renderers. Add the
|
|
relevant archives from [GameTest guidance](GAMETESTS.md); if a scenario
|
|
stalls, stop it and hand that exact check to a real client rather than
|
|
treating the interrupted run as a pass.
|
|
2. Open held Linking and Descriptive Books once with each available backend.
|
|
3. Open both book types from a Book Stand and confirm Explore is disabled.
|
|
4. With Immersive Portals, enter and leave Explore, travel between dimensions,
|
|
close the screen, and disconnect; confirm destination chunks render and no
|
|
preview loader remains active.
|
|
5. With Ponder, reopen different destinations and confirm the previous
|
|
snapshot does not bleed into the next one.
|