Repository navigation
Launcher M5a: mods, resource packs and shaders - #482
Merged
Merged
Conversation
…red Minecraft crate
…r-core Lists each content folder with the metadata that is cheap to read, remembers which Modrinth version each file came from in the instance's content.json, matches unknown files by SHA-1 in one batch, installs Modrinth versions with their required dependencies (the dashboard's rules), edits the resource packs in options.txt and the shader mod's selected pack, and offers Iris or Oculus for the instance's loader. The .mrpack export now lists files that came from Modrinth by their CDN URL.
Mods are matched to the new loader by their metadata file: Quilt also loads Fabric mods, Forge reads mods.toml and mcmod.info, NeoForge reads neoforge.mods.toml (and mods.toml before 1.20.5). Jars without metadata are left alone. Adding a mod by hand uses the same rule. Worlds in saves/ are counted so the Settings tab can warn about them.
…shaders Each section lists what is installed (with icons, versions, Modrinth matches, update checks, enable/disable, resource pack order, the selected shader pack and delete to the Trash) and browses Modrinth with the instance's version and loader as filters. Files can be added with Add file... or dropped onto the list. The Shaders section offers Iris or Oculus when the instance has no shader mod, and Switch to Fabric for vanilla instances. Saving a loader change in Settings now asks first when enabled mods won't load on the new loader or worlds may lose modded blocks, and can turn those mods off. Preview scenes cover the new screens.
…nt.json entries, and look for updates once after the first listing
❌ Deploy Preview for lodestone-dashboard failed. Why did it fail? →
|
❌ Deploy Preview for lodestone-storybook failed. Why did it fail? →
|
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.
Milestone 5a of Lodestone Launcher: the Mods tab becomes Content, with Mods, Resource packs and Shaders, managed the way the dashboard manages server mods.
What's in it
<instance>/content.json. Unknown files are matched to Modrinth by SHA-1 in one batched call..mrpackexport now lists Modrinth files by CDN URL instead of copying them into overrides.cdn.modrinth.comand are checked by SHA-1, size and SHA-512 before an atomic rename..disabledsuffix.options.txt. Every other line is kept, and each pack gets a compatibility badge frompack_format.config/iris.properties, Oculus'sconfig/oculus.propertiesor OptiFine'soptionsshaders.txt. Unknown keys are kept.options.txtand the shader configs when it exits.Verification (local macOS arm64)
cargo fmt --check,cargo clippy --workspace --all-targets -D warningsandcargo test --workspacepass: 298 tests.crates/lodestone-minecraftpasses 48. All offline against a loopback Modrinth mock.zipdependency edge (zip 0.6.6 was already locked).image's webp and gif features were already in the lock.iris.propertieswas written;Using shaderpack: ComplementaryReimagined_r5.9.3.zipand the game reached the menu;content.jsonrecorded the Modrinth project, version and hashes for each file.Not yet: Markdown project bodies (there's a "View on Modrinth" link instead),
.mrpackimport, world backup and screenshots (M5b).🤖 Generated with Claude Code