riftgun-1.21.1-v0.2.1-r1.jar
Curse Maven Snippet
What's new
Rift Gun 0.2.1-r1 for Minecraft 1.21.1
Rift Gun 0.2.1-r1 turns Dimensional Navigation's Automatic Search into a saved, reusable destination workflow and adds optional Infinite Dimensions support on Minecraft 1.21.1. It also bounds deferred dimension-generation work, reduces destination snapshot size, hardens queued-request lifecycle checks, and fixes paired-portal cleanup and first-contact diagnostics.
Back up worlds before upgrading.
Highlights
- Automatic Search now saves a target in the virtual Random section instead of opening a portal immediately.
- Saved Automatic targets begin their bounded safe-location search only when used and can be reused for later portal opens.
- Added optional Infinite Dimensions
2.7.2+1.21.1-neoforgeintegration for text-based exact-coordinate and Automatic Search targets. - Deferred new-dimension generation is limited to one attempt per server tick across all players.
- Original Infinite Dimensions text remains server-side and is omitted from normal client snapshots.
- Closed paired portals now remove both members of the pair.
Saved Automatic Search Targets
Dimensional Navigation's Automatic Search mode now follows the same save-first workflow as exact-coordinate destinations.
- Saving creates an entry in the virtual Random section.
- Opening the entry starts the existing bounded random-rift search in the saved target dimension.
- The target can be pinned or deleted.
- Random-section expansion state is persisted with the player's destination data.
- Automatic targets cannot be renamed, moved into ordinary groups, or shared.
- Deleting or replacing a target cancels its pending search and releases its chunk tickets.
- Disconnecting the owning player also cancels pending work and releases tickets.
- Policy, gun state, target identity, and fuel are checked again before deferred preparation and before the final portal open.
The search itself retains the existing cooldown, world-border, placement, chunk-readiness, fuel, and server-authority rules from 0.2.0-rc.1.
Infinite Dimensions Integration
When Infinite Dimensions 2.7.2+1.21.1-neoforge is installed, Dimensional
Navigation accepts a text description as a saved target.
- Text targets support exact coordinates and Automatic Search.
- Saving a target does not generate a dimension. Generation begins only when the target is used.
- Existing or already-pending dimensions are reused instead of being generated again.
- Portal Key requirements, creative-mode exemptions, and key consumption follow Infinite Dimensions' own behavior.
- A request waiting on preparation is not charged or generated repeatedly on later ticks.
- Readiness waits stop after 200 ticks instead of remaining queued indefinitely.
- Generation failure, missing Portal Keys, changed policy, insufficient fuel, deletion, replacement, or disconnect cancels the request cleanly.

Each individual target accepts at most 16,384 characters. Newly saved Infinite Dimensions text is additionally limited to 256 KiB of UTF-8 data per player. Existing saves above that aggregate limit still load without truncation, but no more text can be added until the saved total is reduced.
Infinite Dimensions is optional and is not bundled in the Rift Gun artifact. Installing or removing it does not change ordinary destinations.
Destination Data and Networking
- Player destination data advances from schema 10 to schema 11 for saved Automatic Search and text-target state.
- Existing exact-coordinate destinations retain their dimension, coordinates, yaw, group, pin state, and display name.
- Infinite Dimensions source text remains in server persistence so saved targets are lossless across reloads.
- Client snapshots carry only a text-target marker, not the original source text. This preserves UI identity without broadcasting or duplicating large strings.
- A regression fixture containing 256 maximum-length text destinations produces a 61,324-byte client snapshot.
- Missing text and intentionally empty text remain distinguishable in the client destination model.
Portal Lifecycle and Diagnostics
- Closing either member of a paired portal now cleans up the linked member as well, preventing a stale partner entity from remaining in the world.
- The blocked-route notification cooldown now handles its uninitialized state explicitly. The first contact reports immediately instead of being suppressed by signed tick arithmetic overflow.
- Subsequent blocked-route diagnostics remain limited to once every 20 ticks.
Stability and Performance
- Share one new-dimension generation budget across all queued players for each server tick.
- Preserve first-in request order while advancing queued searches.
- Do not spend the generation budget when a target dimension already exists or another request is already preparing it.
- Treat a failed generation attempt as the tick's generation work, preventing a burst of fallback attempts in the same tick.
- Keep generation state separate per server instance.
- Cancel absent-player searches and release their chunk tickets.
- Revalidate policy and fuel after queueing so changed conditions cannot open or charge a stale request.
- Avoid sending persisted Infinite Dimensions text in routine client snapshots, bounding network and allocation cost for large destination libraries.
- Added lifecycle, generation-budget, persistence, snapshot-size, UTF-8 budget, cancellation, timeout, policy, fuel, and platform-stub regression tests.
Infinite Dimensions exposes synchronous dimension creation. The shared budget prevents several new generations from stacking in one server tick, but one new dimension can still cause a long tick. This release does not claim asynchronous generation or eliminate all generation stalls.
Upgrading from 0.2.0-rc.1
- Back up the world, player data, and configuration files.
- Stop the server and all clients.
- Remove the old Rift Gun JAR before copying the new artifact; do not keep two
Rift Gun versions in
mods. - Install the exact same Rift Gun
0.2.1-r1build on the server and every client. - To use text-based targets, install the matching Infinite Dimensions version on both the server and clients.
- Start the server and verify existing exact-coordinate destinations, saved groups, pin state, Portal Guns, modules, and fuel.
- Test a saved Automatic Search target before reopening a public server.
Known Limitations
- Infinite Dimensions creates dimensions synchronously through its upstream API. A single new dimension can still produce a long server tick.
- No live-server performance profiling was completed for this release package; profile representative modpacks before public deployment.
- Infinite Dimensions integration is available only on the 1.21.1 artifact.
- Text targets cannot be previewed or resolved without Infinite Dimensions installed.
- Automatic targets are intentionally read-only apart from pinning and deletion.
This mod has no additional files

