Skip to content
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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

RFC 0060: Quilt Mod Menu #60

wants to merge 2 commits into from

Conversation

Siuolplex
Copy link

Rendered View This RFC proposes an official Mod Menu for Quilt alongside an accompanying team.

## Explanation

### Integration
A toggle in the Quilt Installer will allow for this mod to be installed at the same time as loader
Copy link
Member

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.

Copy link
Contributor

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.

Copy link
Author

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

@CheaterCodes
Copy link
Contributor

Regarding the Integration section:
This topic is much more complicated than a single sentence could possibly explain. Frankly, this needs a separate RFC outlining a team responsible for maintaining "official quilt mods", of which mod menu would be a subteam.
It would be that teams responsibility to figure out how to integrate quilt mods into the installation process.

@RedstoneParadox
Copy link

Would there be any official mods other than mod menu, though?

@CheaterCodes
Copy link
Contributor

At the very least, there would be modmenu and QSL. Note that QSL is a content mod as well.
I usually offered config as a third option, but that's likely going to end up in QSL.
I expect more official mods to appear if we can support them.

@Siuolplex
Copy link
Author

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

@Siuolplex
Copy link
Author

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

@CheaterCodes
Copy link
Contributor

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.
I think a super team could make sense to prevent having too many top-level teams, which I think is an organizational hazard.

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.
Copy link
Contributor

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.
Copy link
Contributor

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.
Copy link
Contributor

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.
Copy link
Contributor

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).

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.
Copy link
Contributor

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
Copy link
Contributor

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.
Copy link
Contributor

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does forge have these?

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
Copy link
Contributor

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?

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.

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.
Copy link
Contributor

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

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link

@maximumpower55 maximumpower55 left a 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

Copy link
Member

@OroArmor OroArmor left a 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.

@peaceheis
Copy link
Member

peaceheis commented Jul 7, 2022

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 -

  • Who is responsible for Quilt content mods?
  • Who is responsible for distribution?
  • How do we distribute them?
    As time goes on and on, it will become more obvious that this "by-the-seat-of-our-pants" method of adding new things to The Quilt Project will not work - its an organizational hazard and it's going to cause problems down the line. I don't think discussion of this is necessarily in the scope of this RFC, but it's definitely something to think about. While it's true The Quilt Project is in beta, I do think we need to consider this organization sooner, rather than later.

@zOnlyKroks
Copy link

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.

@Akarys42 Akarys42 changed the title RFC 60: Quilt Mod Menu RFC 0060: Quilt Mod Menu Apr 14, 2023
@Loweredgames
Copy link

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 :)

@zOnlyKroks
Copy link

Is it open: Yes I suppose so
Is it stale: Yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.