-
-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allowed the (knot) launcher to give the intended namespace #435
base: develop
Are you sure you want to change the base?
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why making this public?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
allowing for the creation of other knots
This reverts commit 09b6423
* Added support for 1.21.2 in McVersionLookup * Update minecraft/src/main/java/net/fabricmc/loader/impl/game/minecraft/McVersionLookup.java Co-authored-by: modmuss <[email protected]> --------- Co-authored-by: modmuss <[email protected]> (cherry picked from commit 991d38d8a62e89f00aa3038b52f428f95b7d44bc)
This should work as a fix for now
Nvm, I don't see what past me in #435 (comment) wanted to change. I'll double-check this commit has no issues and report back on its status in a few minutes. |
Should be ready to be reviewed/merged now. Note: I'm not sure if you'd prefer to revert 89b42d3, but it will make it so that other knots can just build off the base knot, and don't have to re-implement everything. |
Manually merged to not loose history. Also includes a changelog, and new loader beta version
…duplicate mods after solving.
…g rules that affect the same options.
* Port to mapping-io (Glitch's Version) This is step 0 in adding the ability for Loader to use alternative intermediates for mods, or use something like mojmaps at runtime. This commit migrates the pre-existing MappingConfiguration to use mapping-io, but doesn't do much to actually refactor Loader to take advantage of mapping-io's strengths. This PR moves a few dependencies to be shadowed that Floader moved as well. Tiny Remapper was required to be moved to work with mapping-io, tiny mapping parser was removed by upstream, and I just decided to bring AccessWidener in line with upstream as well. (PS: I know QMT exists-ish, but it's not finished and I want to work on a modloader, not a mappings parser. When and if QMT is finished, we can evaluate migrating to it, but the potential to use a first-party library later shouldn't prevent us from improving Loader today) * Fix "duplicate class" spam from Tiny Remapper in RuntimeModRemapper TR eagerly opens nested ZIP files and flattens them, and this slightly bizarre behavior causes lots of issues when trying to remap mods that include JiJ candidates. To mitigate this, we create a read-only view of *only* the `.class` files. This has minimal memory impact as the FS is copy-on-write, so it is just a big map of file paths. * Update actions for Java 21 * Update actions for Java 21 take 2 * Mount instead of CoW * Remove Proguard Proguard is magically adding SequencedCollection to the LVT of MemoryMappingTree.accept in mapping-io. We couldn't find a minimal reproduction, so we're just going to move away from it for now. * Fix mods that need remapping, but don't contain any class files, causing the remapper to crash because the mod directory didn't exist. Also comment out the DedicatedServerOnly annotation on TestMixinGuiHelper, because we're not testing package-stripping annotations any more. This allows us to run the test mod. * Mount temporary files as READ_ONLY --------- Co-authored-by: AlexIIL <[email protected]> Co-authored-by: AlexIIL <[email protected]>
Adds a
getFinalNamespace()
to theQuiltLauncher
allowing the knot to provide other namespaces outside ofintermediary
to be used.Currently, the access widener's namespace preference is hardcoded as
intermediary
within theRuntimeModRemapper
, but with this change the value is now gotten from the launcher.This PR also makes several functions and classes for the knot class loaders public, allowing for the creation of other knots.