Public Access
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e5d6e0427 | ||
|
|
54c10cca6c |
No files matched your search
@@ -198,7 +198,7 @@ Linking creates a bound Return Link to the exact source position and orientation
|
|||||||
according to the configured Return Link policy.
|
according to the configured Return Link policy.
|
||||||
|
|
||||||
Server owners can set `descriptive_books.return_link_mode` in Rivencraft's
|
Server owners can set `descriptive_books.return_link_mode` in Rivencraft's
|
||||||
server config to `ON_CREATION` (default), `ALWAYS`, or `DISABLED`.
|
server config to `DISABLED` (default), `ON_CREATION`, or `ALWAYS`.
|
||||||
Age creation, persistence, lifecycle commands, configuration, backups, and
|
Age creation, persistence, lifecycle commands, configuration, backups, and
|
||||||
administrator recovery are documented in [docs/AGES.md](docs/AGES.md).
|
administrator recovery are documented in [docs/AGES.md](docs/AGES.md).
|
||||||
Data-pack runtime profiles are documented in
|
Data-pack runtime profiles are documented in
|
||||||
@@ -208,7 +208,7 @@ Data-pack runtime profiles are documented in
|
|||||||
|
|
||||||
- A Java 21 JDK
|
- A Java 21 JDK
|
||||||
- Minecraft 1.21.1
|
- Minecraft 1.21.1
|
||||||
- NeoForge 21.1.251 or newer in the 21.1 line
|
- NeoForge 21.1.264 or newer in the 21.1 line
|
||||||
- Dynamic Dimensions AR Edition 0.9.1 and Bad Packets 0.8.2 (client and server)
|
- Dynamic Dimensions AR Edition 0.9.1 and Bad Packets 0.8.2 (client and server)
|
||||||
|
|
||||||
Create is optional. When installed, Rivencraft uses its Ponder renderer for
|
Create is optional. When installed, Rivencraft uses its Ponder renderer for
|
||||||
|
|||||||
@@ -132,6 +132,8 @@ neoForge {
|
|||||||
|
|
||||||
server {
|
server {
|
||||||
server()
|
server()
|
||||||
|
// Keep dedicated compatibility runs away from the normal dev world.
|
||||||
|
gameDirectory = project.file(project.findProperty('serverRunDir') ?: 'run')
|
||||||
programArgument '--nogui'
|
programArgument '--nogui'
|
||||||
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
|
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-3
@@ -69,10 +69,9 @@ definition.
|
|||||||
Rivencraft writes gameplay settings to the world/server configuration managed
|
Rivencraft writes gameplay settings to the world/server configuration managed
|
||||||
by NeoForge. `descriptive_books.return_link_mode` accepts:
|
by NeoForge. `descriptive_books.return_link_mode` accepts:
|
||||||
|
|
||||||
- `ON_CREATION` (default): create one Return Link the first time a player
|
- `DISABLED` (default): never create Return Links automatically.
|
||||||
enters each Age.
|
- `ON_CREATION`: create one Return Link the first time a player enters each Age.
|
||||||
- `ALWAYS`: create a Return Link after every successful Descriptive Book trip.
|
- `ALWAYS`: create a Return Link after every successful Descriptive Book trip.
|
||||||
- `DISABLED`: never create Return Links automatically.
|
|
||||||
|
|
||||||
Each client has a separate `rivencraft-client.toml`. Its `book_preview.mode`
|
Each client has a separate `rivencraft-client.toml`. Its `book_preview.mode`
|
||||||
setting accepts `AUTO`, `IMMERSIVE_PORTALS`, `PONDER`, or `LEGACY`. This changes
|
setting accepts `AUTO`, `IMMERSIVE_PORTALS`, `PONDER`, or `LEGACY`. This changes
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ For a manual check, create a fresh surface Age and run `/rivencraft library near
|
|||||||
|
|
||||||
Issue #75's comment calls this a despawning drop. The code differs subtly: [`EntityLinkbook`](https://github.com/Mystcraft/Mystcraft-Legacy/blob/9bc8ddc061845df0cd5ea47f4fdef773cff786ae/src/main/java/com/xcompwiz/mystcraft/entity/EntityLinkbook.java#L190-L224) explicitly cannot despawn, but takes one starvation damage every 10,000 ticks and damage while wet. It can eventually be destroyed if left unattended; a vanilla item entity's fixed five-minute timeout is not parity. A modern equivalent should retain the visible book and avoid silently deleting its Age identity at that timeout.
|
Issue #75's comment calls this a despawning drop. The code differs subtly: [`EntityLinkbook`](https://github.com/Mystcraft/Mystcraft-Legacy/blob/9bc8ddc061845df0cd5ea47f4fdef773cff786ae/src/main/java/com/xcompwiz/mystcraft/entity/EntityLinkbook.java#L190-L224) explicitly cannot despawn, but takes one starvation damage every 10,000 ticks and damage while wet. It can eventually be destroyed if left unattended; a vanilla item entity's fixed five-minute timeout is not parity. A modern equivalent should retain the visible book and avoid silently deleting its Age identity at that timeout.
|
||||||
|
|
||||||
Legacy's travel path creates no automatic Return Link. Rivencraft currently defaults to `ON_CREATION` via `DescriptiveBookItem` and `descriptive_books.return_link_mode`. Per #75's comment, change the **new-config default** to `DISABLED` while retaining `ON_CREATION` and `ALWAYS` as opt-ins. Existing saved server configs must keep their explicit value. Handheld-book drop and Return Link default are tracked in [#85](https://truenas-scale.tail180fb1.ts.net:8443/dnorberg/rivencraft/issues/85), not portal-frame logic.
|
Legacy's travel path creates no automatic Return Link. Rivencraft now defaults to `DISABLED` in new server configs while retaining `ON_CREATION` and `ALWAYS` as opt-ins. Existing saved server configs keep their explicit value. Handheld-book drop is tracked in [#85](https://truenas-scale.tail180fb1.ts.net:8443/dnorberg/rivencraft/issues/85), not portal-frame logic.
|
||||||
|
|
||||||
## Crafting, sounds, and progression
|
## Crafting, sounds, and progression
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
# Milestone 7 compatibility review (#82)
|
||||||
|
|
||||||
|
Reviewed 2026-10-19 for Minecraft 1.21.1. The project now compiles against
|
||||||
|
NeoForge 21.1.264 and advertises that as its minimum. The official
|
||||||
|
[NeoForge Maven metadata](https://maven.neoforged.net/releases/net/neoforged/neoforge/maven-metadata.xml)
|
||||||
|
lists 21.1.264 as the newest 21.1 release. Its
|
||||||
|
[changelog](https://maven.neoforged.net/releases/net/neoforged/neoforge/21.1.264/neoforge-21.1.264-changelog.txt)
|
||||||
|
includes received split-packet size checks (21.1.260), network setup payload
|
||||||
|
direction/decoding limits (21.1.261), ad-hoc channel identifier limits
|
||||||
|
(21.1.262), and an initial attachment-sync fix (21.1.264). Those are concrete
|
||||||
|
reasons to evaluate an upgrade, but do not by themselves prove Rivencraft and
|
||||||
|
its optional integrations work on that loader.
|
||||||
|
|
||||||
|
**Decision: adopt 21.1.264 beginning with 0.6.6.2.** An override build
|
||||||
|
succeeded, but its GameTest server repeated its storage-progress display
|
||||||
|
without producing test results. That run was stopped; it is neither a pass nor
|
||||||
|
evidence of a NeoForge defect. The player subsequently passed an in-game
|
||||||
|
singleplayer test on 21.1.264 with the optional stack, then passed a dedicated
|
||||||
|
server test including Immersive Portals travel to a Rivencraft Age. The
|
||||||
|
dedicated server also reached the ready state with only the required mods
|
||||||
|
before the full optional stack was installed. Both modes used Rivencraft
|
||||||
|
0.6.6.1. The earlier 21.1.251 baseline passed 70 required GameTests for
|
||||||
|
release V0.6.6.0.
|
||||||
|
|
||||||
|
| Dependency | Project baseline | Newest checked 1.21.1 release | Follow-up |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| Dynamic Dimensions AR Edition (required) | 0.9.1 | 0.9.1 | No newer release found on [CurseForge](https://www.curseforge.com/minecraft/mc-mods/dynamicdimension-ar-edition/files/all). |
|
||||||
|
| Bad Packets (required) | neo-0.8.2 | neo-0.8.2 | No newer matching [Modrinth](https://modrinth.com/mod/badpackets/versions) release found. |
|
||||||
|
| JEI (optional) | 19.57.0.449 | 19.64.0.455 | Separate update issue; verify recipe categories and GUI discovery. |
|
||||||
|
| Create (optional) | 6.0.10 | 6.0.10 | No newer matching [Modrinth](https://modrinth.com/mod/create/versions) release found. Its jar bundles Ponder 1.0.82. |
|
||||||
|
| Ponder (bundled with Create) | 1.0.82 | 1.0.87 library artifact | [Maven](https://maven.createmod.net/net/createmod/ponder/ponder-neoforge/maven-metadata.xml) has a newer artifact, but Create 6.0.10 still bundles 1.0.82. Do not treat this as a separately installed Create update. |
|
||||||
|
| Immersive Portals (optional) | 6.0.7 | 6.0.7 | No newer matching [Modrinth](https://modrinth.com/mod/immersive-portals-neoforge/versions) release found. |
|
||||||
|
| TerraBlender (optional) | 4.1.0.8 | 4.1.0.8 | No newer matching [Modrinth](https://modrinth.com/mod/terrablender/versions) release found. |
|
||||||
|
| Serene Seasons (optional) | 10.1.0.8 compile target | 10.1.0.9 | Separate update issue; the user's Prism instance already contains 10.1.0.9, but that is not a recorded compatibility pass. |
|
||||||
|
| GlitchCore (Serene dependency) | 2.1.0.2 | 2.1.0.2 | No newer matching [Modrinth](https://modrinth.com/mod/glitchcore/versions) release found. |
|
||||||
|
| Biomes O' Plenty (TerraBlender test addon) | 21.1.0.14 in user's Prism instance | 21.1.0.14 | No newer matching [Modrinth](https://modrinth.com/mod/biomes-o-plenty/versions) release found. |
|
||||||
|
|
||||||
|
The Modrinth version comparisons above were filtered to **NeoForge and
|
||||||
|
Minecraft 1.21.1** on 2026-10-19. Create's bundled Ponder version was read
|
||||||
|
from `META-INF/jarjar/metadata.json` in `create-1.21.1-6.0.10.jar`; the
|
||||||
|
separate library-artifact comparison came from Create's Maven. Dynamic
|
||||||
|
Dimensions was checked on CurseForge. Versions for other Minecraft lines and
|
||||||
|
similarly named mods were excluded.
|
||||||
|
|
||||||
|
The full dedicated test stack contained Create/Ponder, Immersive Portals, JEI,
|
||||||
|
TerraBlender with Biomes O' Plenty, and Serene Seasons with GlitchCore. The
|
||||||
|
server loaded a new `rivencraft:age/test`, and its shutdown log confirms that
|
||||||
|
all Overworld, Nether, End, and Age chunks were saved. The player explicitly
|
||||||
|
approved 21.1.264 after that test. This does not independently certify every
|
||||||
|
optional combination, the LEGACY preview fallback on a client without Create
|
||||||
|
and Immersive Portals, or a full restart/rejoin cycle; keep those in the
|
||||||
|
regression checklist. Serene's GameTest mock-player network limitation still
|
||||||
|
requires real-client checks for seasonal behavior.
|
||||||
@@ -45,7 +45,7 @@ being captured in the preview.
|
|||||||
|
|
||||||
## Supported combinations and upstream limits
|
## Supported combinations and upstream limits
|
||||||
|
|
||||||
The compatibility baseline is Minecraft 1.21.1, NeoForge 21.1.251, Create
|
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`
|
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
|
backend run without Create or Immersive Portals; the headless GameTest server
|
||||||
uses that dependency-free path.
|
uses that dependency-free path.
|
||||||
|
|||||||
+2
-2
@@ -18,7 +18,7 @@ minecraft_version=1.21.1
|
|||||||
# as they do not follow standard versioning conventions.
|
# as they do not follow standard versioning conventions.
|
||||||
minecraft_version_range=[1.21.1]
|
minecraft_version_range=[1.21.1]
|
||||||
# The Neo version must agree with the Minecraft version to get a valid artifact
|
# The Neo version must agree with the Minecraft version to get a valid artifact
|
||||||
neo_version=21.1.251
|
neo_version=21.1.264
|
||||||
ponder_version=1.0.82
|
ponder_version=1.0.82
|
||||||
dynamic_dimensions_file_id=7707789
|
dynamic_dimensions_file_id=7707789
|
||||||
badpackets_version=0.8.2
|
badpackets_version=0.8.2
|
||||||
@@ -36,7 +36,7 @@ mod_name=Rivencraft
|
|||||||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
||||||
mod_license=LGPL-3.0-or-later
|
mod_license=LGPL-3.0-or-later
|
||||||
# The mod version. Rivencraft uses the x.y.z.b policy documented in README.md.
|
# The mod version. Rivencraft uses the x.y.z.b policy documented in README.md.
|
||||||
mod_version=0.6.6.0
|
mod_version=0.6.6.2
|
||||||
immersive_portals_version=6.0.7
|
immersive_portals_version=6.0.7
|
||||||
terrablender_version=4.1.0.8
|
terrablender_version=4.1.0.8
|
||||||
serene_seasons_version_id=B6nTjh4b
|
serene_seasons_version_id=B6nTjh4b
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public final class RivencraftConfig {
|
|||||||
"Controls automatic Return Link creation for Descriptive Book travel.",
|
"Controls automatic Return Link creation for Descriptive Book travel.",
|
||||||
"ON_CREATION creates one link when an Age is first reached; ALWAYS creates one on every arrival; DISABLED creates none."
|
"ON_CREATION creates one link when an Age is first reached; ALWAYS creates one on every arrival; DISABLED creates none."
|
||||||
)
|
)
|
||||||
.defineEnum("return_link_mode", ReturnLinkMode.ON_CREATION);
|
.defineEnum("return_link_mode", ReturnLinkMode.DISABLED);
|
||||||
builder.pop();
|
builder.pop();
|
||||||
builder.push("libraries");
|
builder.push("libraries");
|
||||||
LIBRARY_LOOT_MODE = builder.comment(
|
LIBRARY_LOOT_MODE = builder.comment(
|
||||||
|
|||||||
Reference in new issue
Block a user