-
-
Notifications
You must be signed in to change notification settings - Fork 33
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
RFC 0060: Quilt Mod Menu #60
base: main
Are you sure you want to change the base?
Conversation
rfc/0060-mod-menu.md
Outdated
## Explanation | ||
|
||
### Integration | ||
A toggle in the Quilt Installer will allow for this mod to be installed at the same time as loader |
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.
How will updates be sent out? This feature of mod downloads at installation needs to be expanded in my opinion.
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.
Updating is way out of scope for this and shouldn't be necessary.
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.
After discussing with Finn and Cheater, we decided the integration should probably be its own RFC. I'll be removing it from this one
Regarding the Integration section: |
Would there be any official mods other than mod menu, though? |
At the very least, there would be modmenu and QSL. Note that QSL is a content mod as well. |
QSL has it's own team and sub teams. It's not going to be merged into one giant superteam when it's not that necessary What other official mods could there even be? Official Crash Resumer? Official Iris/Sodium? Official Block Mod? Official Dimension Mod? Mod menu you can make the case that it is a highly essential mod given that it's the main way to configure mods, but what else besides that would be sensible to maintain under a banner of the Quilt Official Mods? I just really think if your gonna do installation through installer it shouldn't require making a whole superteam just for that. We already have installer deligated anyways |
Also, if I am misunderstanding your proposal feel free to say so, it just doesn't make sense to me the way you worded it |
Official crash report deobfuscator could be a thing. Mod distribution is a problem qsl has as well, and think that this is outside of the scope of quilt-loader who is currently maintaining the installer. Anyway, this is absolutely outside the scope of this PR. |
|
||
|
||
## Motivation | ||
As of right now, we do not supply an official Mod Menu for Quilt. The current solution is TerraformerMC's Mod Menu for Fabric, and that does not fully support our additions (Full Quilt support, Quilt Config, quilt.mod.json spec improvements, etc.). Having a standardized Mod Menu would allow for support for these features. Furthermore, it would also be an officially endorsed mod, which would help us lead players to it, and we at The Quilt Project would be able to ensure its quality. |
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.
Full Quilt support, Quilt Config, quilt.mod.json spec improvements
It supports all of the features except config AFAIK?
## Explanation | ||
|
||
### Why are we doing this? | ||
Native Quilt Support, which lets us add additional features from things like quilt.mod.json or Quilt Config without issue. |
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.
Native Quilt Support, which lets us add additional features from things like quilt.mod.json
Native Quilt support is not required to support Quilt features
Standardization, allowing an official solution compared to Fabric's unofficial Mod Menu | ||
|
||
### Why not a fork of Terraformer's Mod Menu? | ||
The author of the Mod Menu himself, Prospector, said that ModMenu is "janky" - it is likely not worth the effort to clean up code AND integrate with other Quilt Standards. |
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.
I'll elaborate here. Mod Menu was created as one of the first Fabric mods and as time has gone on, it has increased in scope and capability. Admittedly, a lot of the code was rather haphazardly thrown together, and many remnants of the original code is visible, especially in the rendering part. The mod was also refactored to support multiple loaders more easily at some point, which also doesn't really make sense for a native mod. There are tons of undocumented features, such as localizable mod descriptions, which you would not know about unless you happened to find it in the code (I myself forgot I added the feature until I came across it in the code once).
I have advised that an official Quilt mod list screen be written from the ground up, however I will say that I am fairly happy with the UI that I have created as I put great effort into making the mod fit as seamlessly into vanilla as possible. I welcome anyone to take inspiration from or straight up rip-off my UI.
|
||
Some people may not want to be forced upon a Mod Menu in that case we are taking away their choice on whether or not to have a Mod Menu. | ||
|
||
This, however, is almost a non-issue; mod menus are often lightweight, and they are often the best way to abstract access to a mod's config. |
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.
I am not really clear on how the implementation of this would work, but I would suggest that it still be optional? For example, if I create a highly customized and integrated modpack, I would not want there to be a mod menu (and users should not need to access configs anyway).
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.
We can prob integreate a config option for removing the button from the main menu.
- API to allow for support of other config systems | ||
- Supports showing parent/JiJed mods | ||
- Drawbacks | ||
- No native Quilt support. Thus it cant have support for features in Quilt such as support for Loader Plugin loaded mods, Quilt Config, Contributor Roles. |
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.
Thus it cant have support for features in Quilt such as support for Loader Plugin loaded mods, Quilt Config, Contributor Roles.
This isn't true, contributor roles are already supported and it's not particularly difficult to support more Quilt features without being a quilt-native mod.
- Supports showing parent/JiJed mods | ||
- Drawbacks | ||
- No native Quilt support. Thus it cant have support for features in Quilt such as support for Loader Plugin loaded mods, Quilt Config, Contributor Roles. | ||
- Its downloaded and installed manually, causing confusion amongst new users |
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.
Arguably can also be a benefit
|
||
- TerraformerMCs Mod Menu | ||
- Benefits | ||
- Very well designed UI. Its visually pleasing and easy to use. |
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.
Seems a little subjective, maybe instead mention what makes it well designed, such as being consistent with the vanilla game's user interface to give users an intuitive interface.
- Drawbacks | ||
- Not particularly well-designed - can be a bit confusing to deal with. | ||
- Does not support alternative config systems. | ||
- Does not support showing parent/JIJed mods |
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.
Does forge have these?
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.
It does as of very recently
- Does not support showing parent/JIJed mods | ||
|
||
|
||
## Unresolved Questions |
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.
How will it be distributed? Is it a team under the QSL project or a separate project entirely? Will it be optional?
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.
Atm we are thinking of having it as an option for the installer where u can toggle the installation and such. Updates will be provided via curseforge, modrinth etc.
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.
There will maybe be a team which manages all these content mods, but this is out of scope for this rfc.
- No installation needed, thus making it more standard and causing less confusion amongst users | ||
- Drawbacks | ||
- Not particularly well-designed - can be a bit confusing to deal with. | ||
- Does not support alternative config systems. |
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.
I don't think this is true at all? I'm pretty sure you can supply your own config GUI just like Mod Menu using a ConfigGuiFactory https://github.com/MinecraftForge/MinecraftForge/blob/0e66b7b21757e510aef706ca320881b9eb268822/src/main/java/net/minecraftforge/client/ConfigGuiHandler.java#L19
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.
Yep, example usage here: https://github.com/Juuxel/Adorn/blob/fdb3e57c65668f27af08411a17e8fccbc7538de4/forge/src/main/kotlin/juuxel/adorn/platform/forge/client/AdornClient.kt#L22-L24
(Adorn uses the same custom config screen with both Mod Menu and Forge)
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.
LGTM, i can also help code this
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.
Overall seems somewhat shakily put together and not 100% thought through. While I agree this is something that Quilt should explore, I don't think this RFC fully explores the different options that Quilt can take. Ill approve since I believe that Quilt should put work into this, but I feel like this RFC will likely be mended in the near future.
I don't have any particular changes to recommend, but I agree with Oro. I think think RFC needs some revising, but I believe the underlying problem is that it's really just invoking a lot of questions that haven't been answered -
|
I will have to discuss the first 2 questions. But I can answer the third. The way we distribute them is via the installer and modrinth and all the other sites. We have an option in the quilt installer where u can choose the mods u like to install. Updates will be provided over curseforge and the other sites there are. |
And still open? I was also thinking of adding an internal marketplace (free and in moderation) if this proposal is approved. Please let me know :) |
Is it open: Yes I suppose so |
Rendered View This RFC proposes an official Mod Menu for Quilt alongside an accompanying team.