QuiltMC / rfcs

Repository for requests for comments for proposing changes to the Quilt Project.
Other
61 stars 33 forks source link

RFC 2: New quilt.mod.json Format Proposal #2

Closed Haven-King closed 3 years ago

Haven-King commented 3 years ago

This RFC describes a format to be used by mods to declare their mod.json files. This is a decision that needs to be decided on fairly early in the tech conversation, so I'm opening this now.

Rendered view

Haven-King commented 3 years ago

This RFC is in the final comment period for another three days.

OroArmor commented 3 years ago

While this spec is really comprehensive and thought out. There is a lot of data here that can be filled in and many people wouldn't know how to add. Some form of a program to make a json for this spec would be amazing. (I could make it, just would need a couple hours to get it done today)

BeetMacol commented 3 years ago

While this spec is really comprehensive and thought out. There is a lot of data here that can be filled in and many people wouldn't know how to add. Some form of a program to make a json for this spec would be amazing. (I could make it, just would need a couple hours to get it done today)

I think a wiki page + the file in the template mod would be enough, but such a program can be very handy for both the beginners and advanced modders.

OroArmor commented 3 years ago

Yeah, I'm just saying that it would make complex mod json files way easier to verify. Ill get working on it in just a bit.

zml2008 commented 3 years ago

I fully expect that once this spec is finalized, someone will write a json schema for the QMJ format, which will allow various tools to validate it.

kb-1000 commented 3 years ago

There already is one for fabric.mod.json, if QMJ files aren't too different I can probably derive something from it.

Haven-King commented 3 years ago

I've just made large-scale changes to the way dependencies are handled that I believe address all the concerns there have been so far. I'd like people to re-review that area in particular, then I want to move this to final comment in a couple of days.

Haven-King commented 3 years ago

Moving this to final comment. Final comment will conclude at 12PM UTC on May 12th.

duplexsystem commented 3 years ago

Instead of hard coding [mixin] and [access_widener] wouldn't it be preferable to have something like [external_config] that takes an object like

{
    "mixin": "modid.mixins.json",
    "access_widener" : "modid.accesswidener",
    "custom_value" : "custom_file"
}

It would allow the ability to point to any external (from quilt.mod.json) config files. It could be used, for example, for a mod to get a list of mixins to disable, among other things and provide a much greater level of flexibility than just the ability to inject other values into quilt.mod.json. Might also want to group [icon] under this and just make it a keyed list of external files not config file specific.

Haven-King commented 3 years ago

Instead of hard coding [mixin] and [access_widener] wouldn't it be preferable to have something like [external_config] that takes an object like ...

Mods and loader plugins can define their own top-level custom values, as defined here. Mixin and access widener follow this convention.