Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a passion project built and maintained with AI, Wyvest told me to make a pr so I did #blamewyvest
Description
Add an Exporting section to instance settings. Users can save enabled mods as a flat ZIP, or export an Ornithe 1.8.9 instance that Prism Launcher can import.
Prism exports include the Ornithe component patches and a file/folder picker for mods, configs and optional game data. The picker has all-files, personal-use and distribution presets, remembers successful selections per instance, and uses the instance name and Minecraft version for the default filename. Users can optionally open the completed ZIP in Prism.
Exports run in the background with filename, byte and file-count progress, followed by a success or error notification. Cached linked mods are included even when they have not been materialized into the instance folder; disabled linked mods are excluded. Temporary output is cleaned up on failure, and a failed export preserves an existing destination ZIP.
The Prism button is limited to Ornithe 1.8.9. Mods ZIP export is available for other instances. Existing OneClient artwork is used for the exported instance icon.
Saved selections are additive launcher-settings data with defaults, so existing settings files continue to load.
How to test
Automated checks:
cargo build -p oneclient_app -j1 cargo test -p oneclient_core -p oneclient_events -p oneclient_app --lib --no-fail-fast -j1Results: the app build passed; core tests passed (202), events tests passed (10), and app tests reported 162 passed with one failure in unchanged upstream code. All 17 export/selection/progress regression tests passed. The failing browser fixture,
a_disabled_override_on_an_unlinked_pin_offers_enable, keys its override byperformance, while the fixture manifest name isOneClient 1.21.11 Fabric [performance]. This unrelated fixture correction is not included here. The build also reports an existing unuseduse_start_maximizedimport.Manual checks (not run by the agent):
Regression tests cover actual ZIP contents, cached/manual/disabled mods, nested selection persistence, shared game folders, invalid paths, symlink cycles, failure cleanup, progress finalization and existing notification behavior.
Documentation
The settings descriptions and picker explain the feature. No external documentation changes are included.