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

Quilt Loader impacts #257

Open
Madis0 opened this issue Mar 11, 2022 · 64 comments
Open

Quilt Loader impacts #257

Madis0 opened this issue Mar 11, 2022 · 64 comments
Labels
meta Improvements or additions to CF listing, manifest, etc. WIP Mods that are experimental and will not be included until considered "stable enough"

Comments

@Madis0
Copy link
Member

Madis0 commented Mar 11, 2022

TL;DR: Fabulously Optimized will not move to Quilt soon, but it is something that has to be considered long-term if it becomes widespread.


Here is a FAQ of why Quilt matters to Fabulously Optimized, and what has to be done to accommodate it.

What is Quilt?
The site describes it as

The Quilt project is an open-source, community-driven modding toolchain designed primarily for Minecraft. By focusing on speed, ease of use and modularity, Quilt aims to provide a sleek and modern modding toolchain with an open ecosystem.

...but it is essentially a fork of Fabric Loader and API because of conflicts within its management team.

Why does it matter?
Because some current Fabric mod devs are planning to move over to it, dropping support for Fabric altogether. And others, well, aren't. Who knows, how many mods will be affected in the long term.

When does it matter?
Possibly when more launchers and Curseforge supports it.

The first beta released on 2022-04-20 and Modrinth had the mod listing support from the start. Then some launchers followed, and... will see.

Can Quilt load Fabric mods?

In most cases, yes. As Quilt is a fork, most Fabric mods should be compatible with Quilt initially – but this may not be the case forever.

Can Fabric load Quilt mods?

No. Quilt mods are distinct from Fabric mods, and not defined in the same way.

Can I install Fabulously Optimized and replace Fabric with Quilt now?
Probably, while Fabric mods are still supported in it, but do not ask for support regarding that.

How long will backwards compatibility for loading Fabric mods last?

Quilt will likely continue to support Fabric mods directly for quite some time – at least until Quilt is properly established. However, at that point, we do plan on dropping first-party support for Fabric mods – although, there’s no reason the community can’t continue to maintain that support, and we’ll provide the required resources if someone else decides to continue that part of the project after we stop maintaining it.

So what if Fabulously Optimized wants to move to Quilt?

  • First and foremost, (widespread) launcher support is needed
  • Hosting is needed (Curseforge and Modrinth are now supported)
  • Enough mods moved over to be worthwhile
  • Telemetry must be fully removed or have an easy opt-out removed since 0.19.5
  • The mod list issue needs to be resolved (probably with a separate mod) Seems like this won't be an issue.

The mod list issue?
Edit: read this comment for an update

Quilt, similar to Forge, is using a system where a list of all used mods must be sent to the server. That means the server can see all mods you use and disallow you if you are not using the mods server allows (regardless of whether the mods you use provide the same features or not).

Fabulously Optimized deems that as an invasion of users' privacy and freedom.
No one should be banned because they use "too many mods" or "not the right zoom mod". The servers can already ban any cheaters or rule disobeyers with existing, heuristical plugins, they do not need to see the names of the client mods for that (nor do the cheat mods announce themselves anyway).
Quilt has said there will be no configuration or opt-out for that system, so one must hope there will be an external mod that can opt this out.

So what if Fabulously Optimized will stay on Fabric?

  • Short-term, nothing will happen
  • Long term, the list of available mods may decrease drastically and Quilt would have to be considered to keep up with it. If done, efforts will be made to make the transition as seamless as possible to users.

What about both?
Maintaining two modpacks is too much for me.


Sources:

@Madis0 Madis0 added the meta Improvements or additions to CF listing, manifest, etc. label Mar 11, 2022
@Kichura
Copy link
Member

Kichura commented Mar 11, 2022

Replying to this as it seems relevant to my personal needs:

  1. The privacy context is the top priority and that i do not wish for everyone to be affected by a blocking-wall in a sense that for example being that you are only allowed to use sodium instead of optifabric / canvas renderer due to the server owner choosing this type of path instead of letting the user decide on what they want to use in this respect,

    and while i do recognize that this would reduce cheaters to a minimium - this would in turn cause server owners/quilt developers have to whitelist/blacklist multiple mods in hopes this would be effective which...unfortunately isn't. it would in fact make things worse for novice/experienced modders as they must obey on what the server owners want people to use. (malicious or not)

  2. The compatibility mode is helpful so that mod developers have more time to decide on rather they wanna make the jump to quilt in it's entirety or not as it is considered fair similar to forge -> fabric jumping. Although i am not sure on how many developers are considering this as some of them haven't seen this yet or just aren't ready for it due to burnouts and all that - but i assume documentations could help this a bit but who knows?

  3. I am looking forward to the beta obviously. although with the two things i have discussed along with madis; this would be considered questionable in some ways as i cannot be sure on how well the migration will turn out - even if i decline it; i just cannot guarantee the final result(s) of it.

@surfaceflinger
Copy link

surfaceflinger commented Mar 12, 2022

Privacy issues can be easily resolved by adding a mod that would make the client look like vanilla. Wurst already has this as a module, but not standalone + it would create the same concerns as their zoom mod.

@Kichura
Copy link
Member

Kichura commented Mar 12, 2022

Privacy issues can be easily resolved by adding a mod that would make the client look like vanilla. Wurst already has this as a module, but not standalone + it would create the same concerns as their zoom mod.

Well the main problem with this is that people can still figure out what your client is regardless of brand name so this won't change anything - it needs a more prior approach when trying to reduce exposure.

@TiboOpGithub
Copy link

Privacy issues can be easily resolved by adding a mod that would make the client look like vanilla. Wurst already has this as a module, but not standalone + it would create the same concerns as their zoom mod.

Well the main problem with this is that people can still figure out what your client is regardless of brand name so this won't change anything - it needs a more prior approach when trying to reduce exposure.

The problem isn't that they see you using quilt (I think) but as long as you can make sure the server doesn't see all your mods by having a mod it seems like a good solution.

@maximumpower55
Copy link

maximumpower55 commented Apr 9, 2022

As a quilt dev... I Just want to add something quickly here about the common assumptions about the modlist sending in quilt, it will not be in the loader, it will be in the qsl networking module and i highly doubt any mods in FO right now use the networking module from at least fabric.

@Madis0
Copy link
Member Author

Madis0 commented Apr 9, 2022

As a quilt dev... I Just want to add something quickly here about the common assumptions about the modlist sending in quilt, it will not be in the loader, it will be in the qsl networking module and i highly doubt any mods in FO right now use the networking module from at least fabric.

Alright, but if any single mod uses that, the module still sends the entire modlist, right?

This was referenced Apr 10, 2022
@maximumpower55
Copy link

As a quilt dev... I Just want to add something quickly here about the common assumptions about the modlist sending in quilt, it will not be in the loader, it will be in the qsl networking module and i highly doubt any mods in FO right now use the networking module from at least fabric.

Alright, but if any single mod uses that, the module still sends the entire modlist, right?

Yes.

@maximumpower55
Copy link

maximumpower55 commented Apr 16, 2022

Instead of just adding reactions to my comment i think it would be better for you to actually join the quilt discord to have a good ol' chat since github issues is not a good place to explain this, https://discord.quiltmc.org/.

@maximumpower55
Copy link

Also you will be fully able to patch this out

@maximumpower55
Copy link

Fabulously Optimized deems that as an invasion of users' privacy and freedom. No one should be banned because they use "too many mods" or "not the right zoom mod". The servers can already ban any cheaters or rule disobeyers with existing, heuristical plugins, they do not need to see the names of the client mods for that (nor do the cheat mods announce themselves anyway). Quilt has said there will be no configuration or opt-out for that system, so one must hope there will be an external mod that can opt this out.

This isn't meant to be a anticheat, also if the server doesn't allow you to use like a zoom mod for a example just don't play on that server

@maximumpower55
Copy link

maximumpower55 commented Apr 16, 2022

Also this might be a bit off topic, but forge does this exact same thing and no body seems to care about that

@Madis0
Copy link
Member Author

Madis0 commented Apr 16, 2022

@maximumpower55

Instead of just adding reactions to my comment i think it would be better for you to actually join the quilt discord to have a good ol' chat since github issues is not a good place to explain this, https://discord.quiltmc.org/.

I did it last year, it initiated a long discussion: https://discord.com/channels/817576132726620200/847158608524345394/857245880466145280
The result was: https://discord.com/channels/817576132726620200/847158608524345394/857601674167975966

Feel free to ping me there if you want to add anything to that discussion.

Also this might be a bit off topic, but forge does this exact same thing and no body seems to care about that

[sarcasm]

Indeed I don't care about that as

  • I no longer use Forge
  • I do not make a Forge modpack
  • I do not play on servers that do this

[/sarcasm]

...but that's not the point. People want an alternative to Optifine and I provide that.

I do my best to choose the best mods but I know that if someone would get a feature nerfed on a server (or maybe the server not liking the mod list altogether), they will want to or be forced to return to said Optifine. And that behavior is unhealthy for the entire modding community - getting blamed just because you're using the wrong thing, not because you broke any rules with that thing.

@Madis0 Madis0 pinned this issue Apr 16, 2022
@Madis0 Madis0 changed the title Quilt Loader Quilt Loader impacts Apr 16, 2022
@gdude2002
Copy link

Hello! Quilt community manager here.

I just woke up so this may not be the most fantastic of responses, apologies.

The mod list packet is not designed to be an anti-cheat solution. Quilt will not be providing any mechanism to filter users based on it, nor will it be taking steps to make it difficult to patch out. As mentioned earlier, it will be part of the QSL networking module and, as it's a standard plugin channel packet, will require the server to be listening for it before sending anything.

The main reason the packet exists is to ease moderation in Quilt community spaces where the intention of a mod developer is ambiguous. It was a response to the long-winded issue about how to define cheat/utility mods - for grey-area mods, this will give us a yardstick to figure out whether the mod developer intends for their mod to be used on servers that do not want their mod to be used there.

Most of us completely agree that this isn't an ideal solution, and we'd love to get some suggestions on better approaches. That said, it's been an awful long time now, and we haven't really seen anything reasonable other than "screw what you need, remove it". Ultimately, we accept that some servers do not have competent or reasonable staff members, and that is the main drawback - but I also personally believe this is possible to mitigate with a good community solution to blacklisting categories of mods, rather than forcing server owners to do it themselves (although, as mentioned before, Quilt as an org will not be providing ways to action these packets).

Essentially:

  • The mod-list packet is not anti-cheat, is deliberately not designed to be resilient enough to be used as anti-cheat, and largely exists to help our moderators resolve grey area mod reviews in official Quilt spaces only
  • Yes, the approach has undeniable drawbacks. Got something better? I'd love to hear it.
  • I personally don't feel this is as large an issue as some people make it out to be - even though it is undeniably an issue, I believe we can get pretty far by educating server owners, and working with the community to come up with a good tool for category-based filtering that doesn't encourage server owners to inspect users' mod lists
  • If you're not developing a mod that could be considered cheating by conventional standards, we likely won't think to check for a patch - but we'd like to stress that including one makes it much easier for malicious mods to work around server restrictions

I think that's about all for now - I am unlikely to reply to this issue for a while since I have a pile of stuff to do before the beta on the 20th, but I do appreciate people's concerns here and would love to see a better solution to this problem post-beta. Feel free to hit me up on Discord if needed.

@Madis0
Copy link
Member Author

Madis0 commented Apr 16, 2022

@gdude2002 Thanks for the reply.
In my opinion, a reasonable solution would be to broadcast only the mods that use said networking API instead of all mods the client has. Because obviously the server needs to communicate with the mods that network and this would preserve the privacy of mods that do not network at all or use a different method (like a different API).

@gdude2002
Copy link

@gdude2002 Thanks for the reply. In my opinion, a reasonable solution would be to broadcast only the mods that use said networking API instead of all mods the client has. Because obviously the server needs to communicate with the mods that network and this would preserve the privacy of mods that do not network at all or use a different method (like a different API).

That's an interesting solution - how would you go about denoting this?

@Madis0
Copy link
Member Author

Madis0 commented Apr 16, 2022

Perhaps the API could provide a listener and all mods that register on it get their list sent at once?

@gdude2002
Copy link

Doesn't that just make it opt-in? Kinda defeats the point

@TheMadHau5
Copy link
Contributor

It doesn't really help against "grey-area" mods either.

A common pattern in 1.8 cheats was to co-opt a well known "good" mod (say, keypress or cps mods) and then patch it with cheat functionality and distribute that.
This system (like Forge's) is completely ineffective to that.

@Madis0
Copy link
Member Author

Madis0 commented Apr 16, 2022

Doesn't that just make it opt-in? Kinda defeats the point

Hmm no, I meant like if they want to use the abilities of the API, they must notify the API of their presence first and then the API records that and provides the methods.
Like instantiating a class, though that's a bit different concept.

@gdude2002
Copy link

I feel like this wouldn't work out for a number of reasons:

  1. It'd make the API surface incompatible and generally worse
  2. Most of the grey-area mods I'm thinking of wouldn't be using the networking API in the first place

Either way, probs better to have this discussion in a Quilt space - I'm not a Quilt dev (the Community Team is completely separate) and I doubt most of the devs are aware of this thread

@gdude2002
Copy link

It doesn't really help against "grey-area" mods either.

A common pattern in 1.8 cheats was to co-opt a well known "good" mod (say, keypress or cps mods) and then patch it with cheat functionality and distribute that. This system (like Forge's) is completely ineffective to that.

This isn't an anti-cheat! This is about moderation issues in Quilt spaces. I've said that a couple times.

@Madis0
Copy link
Member Author

Madis0 commented Apr 16, 2022

@gdude2002

Either way, probs better to have this discussion in a Quilt space - I'm not a Quilt dev (the Community Team is completely separate) and I doubt most of the devs are aware of this thread

Could you refer to the most appropriate place for this discussion (e.g. specific thread in Quilt's discord)?
Don't really want to post in the wrong place and get an answer "this has been discussed already".

@gdude2002
Copy link

gdude2002 commented Apr 16, 2022

Probably the best thing to do is make a thread on the toolchain server entitled "modid list alternatives" or something like that, in #qsl-general

@RaptaG
Copy link
Contributor

RaptaG commented Apr 16, 2022

PolyMC/PolyMC#406 Support from PolyMC (?)

@gdude2002
Copy link

We've confirmed support in both ATLauncher and PolyMC so far, yes.

@osfanbuff63
Copy link
Member

osfanbuff63 commented Jun 8, 2022

Can Quilt load Fabric mods?

In most cases, yes. As Quilt is a fork, most Fabric mods should be compatible with Quilt initially – but this may not be the case forever.

From SpyglassMC/Spyglass#957:

@osfanbuff63 Quilt when reaching full release will have full support for Fabric mods. The point of [eventually] porting the mod is to support & utilize the more healthy ecosystem. ie. You would be able to use all of your Fabric mods alongside before they are ported.

@Madis0
Copy link
Member Author

Madis0 commented Jul 8, 2022

https://www.curseforge.com/minecraft/mc-mods/jumpquilt is now a thing, for what it's worth.

@LoganDark
Copy link

Personally, I wouldn't like to see a move to quilt. It's a shame that a few mods are moving away, but that's their decision. I suppose the ideal scenario would be two modpacks, one for pure Fabric and one utilizing the quilt backwards-compatibility, allowing users to pick which one they prefer. If one day you decide to drop Fabric support altogether you will be leaving a lot of people behind.

I don't have an objective view of the situation (unfortunately) so I can't make any statements about the relation between the two loaders. If there's a neutral resource I could draw from I don't know about it.

@gdude2002
Copy link

Oh hey Logan, been a while since I've seen you around.

I think the best way to come to an opinion is via your own experience, personally. While it's impossible to deny (in good faith) that what happened at Fabric happened, it's worth noting that Quilt doesn't define itself as "an opponent", rather that it tries to be an improvement by serving as the final nuclear option that nobody really wanted to take.

Why not hang out on Discord and see for yourself whether you're a fan of the concept or not?

@LoganDark
Copy link

LoganDark commented Aug 4, 2022

Oh hey Logan, been a while since I've seen you around.

If I understand correctly you transitioned to the Quilt spaces which I am very explicitly not a part of. Though with that said I've also been inactive Fabric-wise for the past year or so.

I think the best way to come to an opinion is via your own experience, personally.

I am very biased and have an incomplete view of the situation so please take all this with a grain of salt:

  • I wasn't there for what happened at Fabric
  • I don't see anything wrong with Player or how they treated the situation following the incident (but, again, difficult to find neutral sources on that)
  • I think Quilt was a major overreaction and Fabric is still very technically impressive regardless of blips in the community spaces
  • I think Quilt's efforts to diverge and create incompatibilities with Fabric could have been avoided
  • I think it's too late to go back now

So my personal view of Quilt is "unnecessary" and "unfortunate", and therefore "to be avoided"... which is almost certainly not a very good opinion to have, but still one that at least some others seem to share (to a certain extent).

Why not hang out on Discord and see for yourself whether you're a fan of the concept or not?

It's difficult for me to justify that. I've never had any issues with the official Fabric community spaces. Plus there's personal stuff happening right now that means I won't be on Discord until September 12th.

I know this isn't the place to discuss all the Quilt drama but I just thought I'd give you a little more insight.

@gdude2002
Copy link

gdude2002 commented Aug 4, 2022 via email

@LoganDark

This comment was marked as off-topic.

@gdude2002

This comment was marked as off-topic.

@coderbot16
Copy link

coderbot16 commented Aug 4, 2022

If one day you decide to drop Fabric support altogether you will be leaving a lot of people behind.

This outcome doesn't follow from what you wrote. As long as launchers support Quilt, and as long as all the existing mods work on Quilt, nobody will be left behind, because everyone installing the modpack will still be able to use it.

User preferences between Quilt and Fabric have little to no bearing here because using Quilt or Fabric is just an implementation detail of the modpack af the end of the day.

If mods that the modpack relies on or would like to add are Quilt only, then it follows that the modpack should switch to Quilt to ensure that the user experience is not compromised.

@LoganDark
Copy link

This outcome doesn't follow from what you wrote. As long as launchers support Quilt, and as long as all the existing mods work on Quilt, nobody will be left behind, because everyone installing the modpack will still be able to use it.

It's not because of technical limitations that I said that. There are users who do not use Quilt for other reasons, like myself. Those are the people who would get left behind by such a migration.

@coderbot16
Copy link

I don't think there's evidence to conclude that these users make up a meaningful proportion of FO's userbase or contributors, so I don't think project decision making should be constrained by them.

The decision of whether to use Fabric or Quilt for FO should be done based on the relative technical merits of both, since those are what ultimately impact the user experience. While Fabric seems to be the better option currently, it's likely that Quilt will be a better option as it matures and gains support from all popular launchers, hence the creation of this issue.

@Madis0
Copy link
Member Author

Madis0 commented Aug 5, 2022

Coderbot said it well, and just to reiterate that this is the official stance, I'll repeat:

I am interested in moving over to Quilt only when it is technically the only feasible way forward, aka only when most (or most important) mods do it. I do not want to do it for "community reasons" for either loader, because ultimately I view both as just tools.

I hope that clarifies it for people who downvoted the OP as well.

@Madis0 Madis0 added the WIP Mods that are experimental and will not be included until considered "stable enough" label Nov 4, 2022
@coderbot16
Copy link

coderbot16 commented Jan 30, 2023

LambdaBetterGrass has moved over to Quilt in the 1.19.3 update since it was infeasible to port the mod to 1.19.3 without utilizing the APIs that Quilt provides related to resource reloading. As a result, I think it's now worth evaluating whether a move to a Quilt-based modpack that uses JumpQuilt on CurseForge is worthwhile.

In my experience, the original JumpLoader (for Fabric) only really caused one big issue, which was a resource loading bug that was caused by fragile code I originally wrote for Fabric API. Needless to say, that problem wouldn't be relevant for JumpQuilt, so I think it would be worth doing a feasibility test of FO on Quilt rather than potentially wasting time replacing or porting a dependency that already exists, which is the only other option.

@Madis0
Copy link
Member Author

Madis0 commented Jan 30, 2023

LambdaBetterGrass has moved over to Quilt in the 1.19.3 update since it was infeasible to port the mod to 1.19.3 without utilizing the APIs that Quilt provides related to resource reloading. As a result, I think it's now worth evaluating whether a move to a Quilt-based modpack that uses JumpQuilt on CurseForge is worthwhile.

In my experience, the original JumpLoader (for Fabric) only really caused one big issue, which was a resource loading bug that was caused by fragile code I originally wrote for Fabric API. Needless to say, that problem wouldn't be relevant for JumpQuilt, so I think it would be worth doing a feasibility test of FO on Quilt rather than potentially wasting time replacing or porting a dependency that already exists, which is the only other option.

I am currently still having a "wait-and-see" approach.

  • As of now, that is just a one mod. Maybe it will be two when LambDynamicLights moves over, but that would still be insignificant on a grand scale. I'm not seeing a mass exodus by performance or graphical mods just yet.
  • As of now, being easier to port to did not actually mean it would be faster to actually do so. Still took two months to get it on 1.19.3. Note that I'm not blaming the dev or Mojang for anything, just stating the current state of things. Maybe there will be a bigger speed difference for 1.19.4/1.20/1.20.1 mods?
  • Currently the UX of using Quilt is still suboptimal. JumpQuilt is needed for CurseForge (please vote) and GDLauncher (to be implemented in their rewrite); CurseForge shows 6x less mods and Modrinth 3x less mods as compatible with Quilt compared to Fabric, regardless of what is the real case.
  • There are now and may be some Quilt-specific bugs that occur when running Fabric mods. May be insignificant, but it is also a point to consider.

Maybe I'll consider it for 1.21 if the situation changes by then.

Edit: for more context and timelines, Fabric was released on 1.14, but modders started caring on 1.16.x (Sodium, FO)
Quilt was released on 1.18.2, so it would make sense to see modders start caring on 1.20.x.

@coderbot16
Copy link

coderbot16 commented Jan 30, 2023

The problem is that this approach leads to a circular outcome. There's not many quilt exclusive mods because platforms, modpacks, and other mods aren't quilt exclusive, and platforms and modpacks don't support quilt since there's not many quilt exclusive mods. So just keep that in mind when you directly work around Quilt mods as they start to move over, as it seems is happening with better grass.

@Madis0
Copy link
Member Author

Madis0 commented Jan 30, 2023

I am not saying that Quilt should have more exclusive mods, in fact any kind of exclusivity is actually bad for the user.

What I'm saying is a natural progression of how Quilt could replace (or "replace") Fabric:

  1. First-class support by loaders and listings (if your mod supports Quilt, mark it as such!)
  2. Few devs that find Quilt tools as beneficial (performance/graphical mods) will move over
  3. Modpacks will see that Quilt is worth switching to
  4. Users will see that Quilt is worth switching to
  5. Mod devs will see that Quilt is worth developing to (whether exclusively or not is case-by-case)

In an ideal scenario, most mods will keep working on Fabric and Quilt as they won't use Quilt internals. But those that do could drive the force for the entire ecosystem, if they themselves are significant in it.

@LambdAurora
Copy link

  • As of now, being easier to port to did not actually mean it would be faster to actually do so. Still took two months to get it on 1.19.3. Note that I'm not blaming the dev or Mojang for anything, just stating the current state of things. Maybe there will be a bigger speed difference for 1.19.4/1.20/1.20.1 mods?

It took me two months because I shockingly have a uni life to attend.

1.19.3 wrecked atlases, model loading, and resource loader.
Which are things LambdaBetterGrass heavily depend on. It would have taken me longer to port anything if I chose to stay on Fabric. Quilt provides me with the abstractions I need to work with virtual resource packs and with great integration within the game (this is good for both devs and users). I chose to not reinvent the (my own) wheel.

This also guarantees faster updates in the future even though it was not that visible in 1.19.3.

  • Currently the UX of using Quilt is still suboptimal. JumpQuilt is needed for CurseForge (please vote) and GDLauncher (to be implemented in their rewrite)

As far as I know it's a false issue, people had no issues working with JumpLoader for Fabric stuff back in the days. It also means stuff works despite the lack of support from CurseForge.

I am not saying that Quilt should have more exclusive mods, in fact any kind of exclusivity is actually bad for the user.

Depends on the case! In this case the LBG exclusivity is kind of good: some intended behavior was broken due to lack of support on Fabric. For example LBG's built-in default resource pack is intended to be enabled by default upon pack discovery if the pack was never seen before, this is not supported by Fabric but by Quilt. The mod also has now better support for resource loading features. Any optimization made on the abstraction will actually be applied to the mod as well and be good to the user. (And Quilt resource loader actually implements some optimization measures).

I'm getting a bit tired about the "exclusivity" debacle, it's not like Fabric which was incompatible with Forge mods, Quilt has compatibility with Fabric mods making the exclusivity argument kind of useless.
Sure some mods don't work with Quilt but they're a minority, and usually have weird stuff associated to them, which would have broke in another context too at one point.

@Madis0
Copy link
Member Author

Madis0 commented Jan 30, 2023

It took me two months because I shockingly have a uni life to attend.

1.19.3 wrecked atlases, model loading, and resource loader.
Which are things LambdaBetterGrass heavily depend on. It would have taken me longer to port anything if I chose to stay on Fabric. Quilt provides me with the abstractions I need to work with virtual resource packs and with great integration within the game (this is good for both devs and users). I chose to not reinvent the (my own) wheel.

As I said, I'm not blaming you, any other mod devs or Mojang for it. I know what it means to rewrite code, I am a dev too. All I said was facts - it did not necessarily took less time to port it right now (from a user perspective). Maybe due to personal life, maybe due to the time when 1.19.3 was released (holidays), that's currently beside the point.

I understand the points you made about making it Quilt-exclusive and I do not blame you, personally, for it.

As far as I know it's a false issue, people had no issues working with JumpLoader for Fabric stuff back in the days.

Fabulously Optimized started out on it and the biggest problems were harder mod installing, somewhat slower install (Forge bloat) and startup.
Are they dealbreakers? Not necessarily.
Are they objectively worse UX compared to current state of things? Yes.
CurseForge Launcher is still the most used and most impactful (download count, rewards for modders) launcher for this modpack, so these things must be considered.

I'm getting a bit tired about the "exclusivity" debacle, it's not like Fabric which was incompatible with Forge mods, Quilt has compatibility with Fabric mods making the exclusivity argument kind of useless.
Sure some mods don't work with Quilt but they're a minority, and usually have weird stuff associated to them, which would have broke in another context too at one point.

Indeed, that is a better state of things. But I'm not quite fond of the idea that some devs promote: "move to Quilt, because it supports Fabric mods too".

So why move if Fabric also supports Fabric mods, has alternatives to mods that moved to Quilt-only, and is supported by every popular launcher already?
Semi-rethorical question, please don't quote internal code structure benefits here. The goal is to think of that question from the user perspective.

@Madis0
Copy link
Member Author

Madis0 commented Jan 30, 2023

Edit: these responses were made to a comment in between mine.


It's also worth noting that Iris is about to move to Quilt-recommended (but not required) and their installer will be installing Quilt instead of Fabric.

🤷 If there would be some Quilt-exclusive features that are too hard on Fabric, maybe that could be enticing.

Personally, I'm not against moving to Quilt, but it's quite a big change to make

Exactly. It's a big change, so it must not be done for the sake of it. Lots of preparation from all parties is needed to make it worthwhile, and I do not feel that it is an important change for FO in the near future. In the far future (1.21+), sure, possibly.

Another reminder that this is just a big loop as well.

I do not agree. Fabric vs Forge for example had faster loader updates for new MC versions, smaller and more flexible API (faster startup, smaller mods), and the mixin-based approach made it easier for modders to achieve more complex mods that used to be (near-)impossible.

What does Quilt have that any random user can see? The better error popup is a good example, but right now that's the only example I can think of.

Besides supporting modders, I can't understand from
the bit that I've used CF Launcher how it's better than any other,

Well, it also has the best CurseForge integration in terms of installing modpacks, mods, resource packs. Whether it is the best overall though, is up to any user. All I'm saying is that it is important, because it is the default, just like Modrinth's launcher will be for Modrinth.

@LambdAurora
Copy link

We're June, and now I've seen the pretty disappointing treatment of mods that dare go Quilt only.

Rather than to look into JumpQuilt, which pre-Fabric supported modpacks did not have any issue to use its predecessor, I see a will to recreate, feature-incomplete versions of the mod to replace them in the pack.

So, I'd like to put back on the table a reconsideration of the current treatment of Quilt, especially that now QSL and Quilted Fabric API have finally a stable versioning since we consider the libraries to be stable enough.

@Madis0
Copy link
Member Author

Madis0 commented Jun 24, 2023

We're June, and now I've seen the pretty disappointing treatment of mods that dare go Quilt only.

Rather than to look into JumpQuilt, which pre-Fabric supported modpacks did not have any issue to use its predecessor, I see a will to recreate, feature-incomplete versions of the mod to replace them in the pack.

I'd say you're looking at it from a wrong angle, which I'd draw a parallel to the new, currently more relevant event #626. Just because some mods are "jumping ship" does not mean there is yet a critical mass doing it.

I'll not switch to Quilt just because some mods switched over - for now that just means a minor inconvenience and a void to fill.
But as with the aforementioned event, it already means that some smaller changes must be made (discontinuing GDL, changing MMC instructions etc), it is a good time to make bigger changes for my own behalf (#627), and a migration strategy to eventually exit CF could be considered.

I have considered accommodating Quilt by doing something like providing an overrides file similar to my Fabric one, though for the time being I don't really understand the syntax described there and didn't fully test it yet as it seemed to lack a feature or two I'm currently using.


Here's a summary of what I currently think of Quilt:

  • CurseForge support of Quilt is there but still sucks. JumpQuilt is a thing but using it would not be an upgrade to users in terms of UX. CurseForge still has the majority (~60%+) of downloads for FO so this will not be ignored.
  • Adding mods to the pack is currently painful on all launchers - CF would suggest Forge mods and others would suggest a subset of Fabric mods. Solution would be to ask more devs to mark their mods as Quilt-compatible.
  • Quilt lacks Fabric-like overrides which benefit FO a lot in logs and alphas-betas. As the syntax is different, I am not sure it can work the same as the Fabric file yet.
  • Quilt overall has less development at the moment, which may affect bugs and version updates and does not instill confidence of sustainability, neither does this event. More time is needed to see how things go.
  • Some Quilt-specific bugs in mods. I'd rather not elaborate as the list can change in time, just something to also consider and potentially work around for.

Here is a summary of what I'm currently doing:

Here's what you can do:

  • Keep voting and bugging CurseForge on better Quilt support.
  • Ask all your favorite mods to mark theirselves as explicitly Quilt-compatible
  • Help Quilt with development. FO could bring more users to Quilt, but if there are not enough developers to build the main thing, what's the point...

@LambdAurora
Copy link

  • CurseForge support of Quilt is there but still sucks. JumpQuilt is a thing but using it would not be an upgrade to users in terms of UX. CurseForge still has the majority (~60%+) of downloads for FO so this will not be ignored.

Overall I am definitely blaming CurseForge a lot more, everything feels like an uphill battle with them, except maybe when it comes to malware.

  • Adding mods to the pack is currently painful on all launchers - CF would suggest Forge mods and others would suggest a subset of Fabric mods. Solution would be to ask more devs to mark their mods as Quilt-compatible.

I have not noticed that many Fabric mods not marking their mods as Quilt-compatible, but I guess that might be user-bias. In the Quilt Project Discord every linked mod updates or releases are asked to at least mark their releases as Quilt-compatible because then why advertise there?

  • Quilt lacks Fabric-like overrides which benefit FO a lot in logs and alphas-betas. As the syntax is different, I am not sure it can work the same as the Fabric file yet.

I believe that Quilt has now Fabric-like overrides with equivalent features despite the different syntax.

  • Quilt overall has less development at the moment, which may affect bugs and version updates and does not instill confidence of sustainability, [...]

So far, despite slower pace at the moment, there wasn't any critical issue affecting bugs or version updates.

[...], neither does this event. More time is needed to see how things go.

That's kind of a shit argument here, during that event the development did not care about kashike's tantrum and continued to work, as said in the statement, and as this GitHub PR comment testifies.

About #626, from what I read on the issue it seems to be a solved question since the modpack now bundles those mods? I'm not sure how it's more relevant if it's solved.

And I will reiterate, what I find extremely disappointing is how easy it has been to replace one of the mods with a low quality resource pack the minute it jumped to Quilt. No discussion with the mod author. The thing to learn with that is, as a mod author, I can't expect support from one of the de-facto OptiFine alternatives modpack. Now if I have users complaining about how fractured the mods are compared to OptiFine, I can't suggest this modpack anymore and will have to recommend alternatives.

@Madis0
Copy link
Member Author

Madis0 commented Jun 24, 2023

And I will reiterate, what I find extremely disappointing is how easy it has been to replace one of the mods with a low quality resource pack the minute it jumped to Quilt. No discussion with the mod author. The thing to learn with that is, as a mod author, I can't expect support from one of the de-facto OptiFine alternatives modpack. Now if I have users complaining about how fractured the mods are compared to OptiFine, I can't suggest this modpack anymore and will have to recommend alternatives.

I do not understand this argument, please elaborate. Here's my point of view:

You had made a Fabric mod that replicated OptiFine's better grass with all of its features and more. As of 1.19.3, you decided to leave Fabric for various reasons.

There were some interested parties who considered porting it or creating an alternative, but back then (and now) none exist.

So what's the best alternative? A resource pack. I looked around for available packs and they weren't satisfactory for several reasons (availability, maintenance, license, hardcoded textures etc) so I made my own.

No discussion with the mod author.

With all due respect, what kind of discussion did you expect? I honestly cannot understand.

  • I didn't try to convince you to port to Fabric anyway to respect your decision.
  • I didn't use any of your resources that your mod consists of, so no licensing issues.
  • The idea of "better grass" isn't unique in your mod in regards of patents or similar, so that is irrelevant as well.
  • If I skipped the mod and did not provide an alternative in FO, you could possibly have had more users run to you to blame, annoy etc. So I saved your nerves by not really blaming you at all.

So I did the most sensible thing and adapted to the situation in a way that causes the least friction to my users and you.

@LambdAurora
Copy link

I do not understand this argument, please elaborate. Here's my point of view:

You had made a Fabric mod that replicated OptiFine's better grass with all of its features and more. As of 1.19.3, you decided to leave Fabric for various reasons.

There were some interested parties who considered porting it or creating an alternative, but back then (and now) none exist.

So what's the best alternative? A resource pack. I looked around for available packs and they weren't satisfactory for several reasons (availability, maintenance, license, hardcoded textures etc) so I made my own.

My point is that now I know I can't expect modpacks to support me if I want to use better APIs that make my life easier and allow me to update more frequently. Or at least, not in the current state of things.

Aside from CurseForge, now that Modrinth has modpack support, and this modpack is on Modrinth as well, and considering that the launchers supporting Modrinth have better support for Modrinth, I think a variant of the modpack on Quilt is not too far-fetched, aside from the annoyingly increased maintenance burden, which I totally understand as I'm also a fan of lessening maintenance burden.

No discussion with the mod author.

With all due respect, what kind of discussion did you expect? I honestly cannot understand.

* I didn't try to convince you to port to Fabric anyway to respect your decision.

* I didn't use any of your resources that your mod consists of, so no licensing issues.

* The idea of "better grass" isn't unique in your mod in regards of patents or similar, so that is irrelevant as well.

* If I skipped the mod and did not provide an alternative in FO, you could possibly have had more users run to you to blame, annoy etc. So I saved your nerves by not really _blaming_ you at all.

So I did the most sensible thing and adapted to the situation in a way that causes the least friction to my users and you.

When I say discussion, I expected to at least be informed of the change. I only was made aware because someone brought it up in a totally random discussion on Discord. I at least appreciate not having attempted to convince me to get back to Fabric nor causing licensing issues. And I have in no way talked that the idea of "better grass" is unique.

Like, there's been talks here previously but not confirmation on the fate, that's what I at least wanted to know.

If I skipped the mod and did not provide an alternative in FO, you could possibly have had more users run to you to blame, annoy etc. So I saved your nerves by not really blaming you at all.

I'm not sure, so far I've seen users complaining at how bad the provided alternative is, and I have already people asking why Quilt so I already have tags on Discord to explain why.

Overall, it's just, I don't know, I'm a bit upset that CurseForge doesn't do shit, that I wasn't aware of the change, and I'm tired of fighting for so much stuff.

@Madis0
Copy link
Member Author

Madis0 commented Jun 24, 2023

My point is that now I know I can't expect modpacks to support me if I want to use better APIs that make my life easier and allow me to update more frequently.

I'd rephrase it as "mods cannot expect modpacks to follow their footsteps in important decisions".

When I say discussion, I expected to at least be informed of the change.

Everyone who is interested in following what changes are done to Fabulously Optimized are free to follow and discuss in this GitHub repo and/or Discord, such changes are usually cross-posted and publicly discussed with the userbase.
I didn't notify you, the dev, directly, because I didn't have anything to suggest or ask at the time - it was solely a reaction to your decision.


That said, let's steer this conversation back to Quilt Loader itself. Any issues with specific mods can be discussed in separate issues or privately, if sensitive.

@Madis0
Copy link
Member Author

Madis0 commented Jul 26, 2023

Status update, from newest to oldest news.

@Madis0
Copy link
Member Author

Madis0 commented Oct 22, 2023

Sustainability update:

There are still ways to go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Improvements or additions to CF listing, manifest, etc. WIP Mods that are experimental and will not be included until considered "stable enough"
Projects
None yet
Development

No branches or pull requests