QuiltMC / quilt-loader

The loader for Quilt mods.
Apache License 2.0
472 stars 87 forks source link

Allowed the (knot) launcher to give the intended namespace #435

Open coolGi69 opened 5 months ago

coolGi69 commented 5 months ago

Adds a getFinalNamespace() to the QuiltLauncher allowing the knot to provide other namespaces outside of intermediary to be used. Currently, the access widener's namespace preference is hardcoded as intermediary within the RuntimeModRemapper, 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.

coolGi69 commented 5 months ago

~~I think a good idea is to move the namespace stuff that I previously moved into the game provider to the launcher. (Less duplicated code)\ I'll implement that tomorrow, so don't merge this yet.~~

coolGi69 commented 3 months ago

Nvm, I don't see what past me in https://github.com/QuiltMC/quilt-loader/pull/435#issuecomment-2139377429 wanted to change.\ Sorry for the long open time, I was on a bit of a development hiatus.

I'll double-check this commit has no issues and report back on its status in a few minutes.

coolGi69 commented 3 months ago

Should be ready to be reviewed/merged now.

Note: I'm not sure if you'd prefer to revert https://github.com/QuiltMC/quilt-loader/pull/435/commits/89b42d3a2bb4ea2fde9f8f5ae9e90784d7606f44, but it will make it so that other knots can just build off the base knot, and don't have to re-implement everything.\ If it is accepted, then many of the things that are made public here can be turned back to private as they no longer have to be implemented by other peoples knots.