Better Statistics Screen

Better Statistics Screen

21M Downloads

[v2.9.1+QuiltLodaer-0.18.1] Incompatibility Notice and How to Resolve for users [Please Read Quilt users]

Shibva opened this issue ยท 4 comments

commented

What happened?

This is a notifiaction/report that the recent push from 2.8.1 to 2.9.1 of BetterStats has created an incompatability with the Quiltloader version 0.18.1

What is Quiltloader?

Quiltloader or Quilt for short is a Forked project on the Frabic Loader made as a responce to certain events wtih the Fabric Developers that I will not indulge in for the sake of this reports consistency. This is done using its own loader and its own API known as Quilted Fabric API or QFAPI for short

This only supports Farbic API

Yes, this is true; however this mod also ran on Quilt as well. How? One fo the main objectives is depsite it being a fork on the Farbic Loader and its API its goal is to be as in-line wtih the Fabric API as possible; meaning that within the QFAPI itself it contains a embeded version of Farbics API in addition to some of Quilts own API applications; this allows for it to be backwards compatible with all fabric mods in the version its supports

So whats the problem then?

It appears the version of Farbic that it requires for the mod to run on was bumped up to 0.14.21 while the Quiltloader is set to run its farbic compatibility wtih version 0.14.19

Is this an issue?

I thought it was at first but after trying something it ran appropriately; turns out I was just using version 0.18.1 of the quiltloader and updating it to the lattest version (0.19.1 as of the time of writing this) resolved the issue

So why are you positng this?

Tbh Ive decided that this would be a opportunity to bring awareness to any issues that quilt users may have. If any reports pop up saying that it wont run for quilt you can redirect them here.

TLDR

BetterStatus as of ver 2.9.1 is no longer compatible wtih quiltloader (not QFAPI) version 0.18.1 and lower; updating quiltloader to use version 0.19.1 should fix any issue that quiltusers may have. Run the latest quilt-loader installer from Quiltloaders official website and install 0.19.1 should fix the issue.

Steps to reproduce

The issue appears if a user is using quiltloader version 0.18.1 or lower; updating it to 0.19.1 should fix the issue.

I recommend pinning this on the issues page

Relevant log output or crash report

Crash Report is unnecessary in this case due to the issue having been resolved; this report is just to notify users that may run into the same issue regarding BetterStats 2.9.1 no longer loading as intended.

Other installed mods

This is non-applicable

Code of Conduct

  • I agree that if the issue is regarding a crash, I gave the logs and the crash report.
  • I agree that I will be available later for any follow-up questions to help diagnose and resolve the issue.
commented

Yeah, sorry about that. I usually tend to keep all embedded dependencies up to date with latest versions, which does end up killing QuiltMC support at times. This is related to #47.

There's also a workaround that involves removing embedded dependencies, and installing them yourself.
It may be a bit more complicated, but I'll try to explain how this one works:

  1. Download your JAR file of choice.
  2. Make sure you have "View > File name extensions" enabled in your file explorer
  3. Rename the downloaded jar file from *.jar to *.zip
  4. Extract the .zip file, and then delete it, as you'll no longer need it
  5. Go to META-INF > jarjar, and remove the Fabric API and Architectury API files from there. Keep TCDCommons
  6. Go back to the root directory of the extracted zip file contents
  7. Select all files in there, and .zip them all back up. Then rename the new *.zip file to *.jar. (Replace star (*) with your name of choice)
  8. I believe this step is optional, but you can try removing the jar file entries from fabric.mod.json just in case you get any issues.

Here's an example video of how to remove embedded dependencies from a Minecraft mod .jar file:

2023-06-16.21-54-41.mov
commented

Oh wait, I just noticed you said it's incompatible with lower versions, not higher ones. Well, in that case, yes, you can update Quilt. But if you ever come across a situation where it's incompatible with higher versions, you can follow the tip above ^

commented

Embedding the entirety of Architectury API and Fabric API in the form of JAR files is a very bad idea in any case.

For example, it adds another attack vector for exploits such as Fractureiser, in the case that the JAR files are somehow infected prior to compiling the mod, while being much more difficult detect by nature of the JAR files being nested inside the primary JAR, thus not being as easy to scan.

At the very, very least, the mod should be using modImplementation include("fabric-api"), which safely grabs an official copy of Fabric API from Fabric's Maven repository and embeds it in the JAR file automatically. (along with modApi include("architectury-api"), of course)

Preferably, only the required parts of Architectury / Fabric API should be included by specifying groups, as seen here, for example: https://github.com/phomc/grimoire/blob/dev/build.gradle#L29

Or, best of all, the APIs could simply not be included at all, given most users will likely have them installed anyway.

commented

The mentioned issues should be resolved in v3.0 now. However, given there's no plans to backport v3.0 at this time, those issues will remain for older game versions. I will keep this issue pinned until I have to unpin it to free up space for another future pinned issue.