Quilted Fabric API (QFAPI) / Quilt Standard Libraries (QSL)

Quilted Fabric API (QFAPI) / Quilt Standard Libraries (QSL)

441k Downloads

QSL 4.0.0 beta 8 and above crashes with Artisanat

SplendidAlakey opened this issue · 6 comments

commented

MC 1.19.2
QSL 4.0.0 beta 8 and 9
Artisanat 2.3.0

Starting with beta 8, the game crashes on startup when Artisanat is installed. Initially reported there: DawnTeamMC/Artisanat#29, but according to the dev the issue is on Quilt's side.

QSL 4.0.0 beta 7 lets the game start normally with Artisanat.

Logs: https://gist.github.com/Footage2-Amply-Pounce/fdbb31bcdcde4b1bf8a351edee369716

commented

Yep, this is caused by the bad practice of using the block before it's even registered. It is supposed to be fixed on the mod's side due to potential issues that come with it (and when we had a similar issue with BetterEnd/BCLib, that was fixed on their side), however, it seems like it's unfortunately something that we'll have to deal with...

However, I do have a plan! We can simply defer the registration of non-registered entries to a queue of some sorts, with a registry event eventually cycling through them and doing the registration itself. A warning log message will be outputted though, and if modders want that cleared out, they might want to do things properly

commented

My worry about having to introduce registry events just to deal with these is a possible slowing down of the startup process.

commented

The dev didn't sound interested in fixing it, since their mods technically aren't marked as Quilt compatible. And if a fix from your side would hinder the overall experience (nobody likes long loading times), even if that mod is not used, then I'd rather not use the mod for the time being. So far that's the only mod in my rather massive modpack that has this issue, so I'm personally completely fine with not using it on Quilt.

Edit: crossed out the part where I incorrectly assumed the dev was simply not interested, as they clarified that they are rather busy at the moment.

commented

This is caused by the registration of oxidation for a block that isn't registered yet.

Our use of a new API that relies on game objects being registered introduce this new constraint.

Unsure how we can fix this on our side though.

commented

We've worked around the issue on our side with the QFAPI 4.0.0-beta.11 release; We still encourage modders to fix the issue on their own sides since even then, there is still a potential of it going haywire and the workaround might have a performance impact, but yeah, in the meantime, things will work now

commented

Just tested 2 mods that I had this problem with (Artisanat and Promenade) and both work. The loading times have increased by a mere 3 seconds, but I highly doubt it's due to the workaround, but rather the fact that more mods = more loading. In any case, 3 seconds is nothing.

Thank you!