Up-Mods / OkZoomer

Adds a highly-configurable zoom key for Fabric and Quilt. The zoom is yours!
131 stars 24 forks source link

Dependency Snarl with LibGui and mods bundling it #70

Closed ArcanePigeon closed 2 years ago

ArcanePigeon commented 2 years ago

Hi I am the dev of the Probably Chests mod. I have been informed that when loading both of our mods that the game crashes on load giving an error java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'probablychests'! Caused by: java.lang.NoClassDefFoundError: io/github/cottonmc/cotton/gui/SyncedGuiDescription I have the library complied with my mod so I am not sure as to why it would be unable to find the class when loaded with your mod. If you know why please let me know which of us needs to fix something. crash-2022-04-14_18.32.42-client.txt .

EnnuiL commented 2 years ago

Ah, this is a dependency snarl with LibGui; So, Quilted FAPI (which Ok Zoomer uses) has its own versioning scheme that reflects the fact that the bridge might change. However, that version is different than the FAPI module one, and due to Fabric Loader limitations, while it provides the FAPI mod ID, it can't specify a version, and so, it doesn't fit on LibGui's strict depends section, and therefore, it isn't loaded at all, causing the issue with your mod Something that I learned is that the "optional JiJ" behavior is actually an undocumented feature, so, you'll might want a "libgui": "*" in your depends section in order to prevent that silent fail; I'm currently on my way to solve this issue through both making QFAPI use Quilt Loader and its enhanced provides (in fact, I already made a PR) and through a dirty hack for Fabric Loader, and I expect to post a detailed issue about it soon

EnnuiL commented 2 years ago

For the creation of a dirty workaround, I'm unfortunately getting too busy, and it might not be worth doing it too near the Quilt beta release, however, this specific workaround can be placed on .minecraft/config/ in order to "fix" the issue with LibGui; A proper solution would still be using Quilt Loader's provides (and a more effective yet dirty workaround being lying about versioning)

EnnuiL commented 2 years ago

This specific dependency snarl should definitely be fixed by Ok Zoomer 5.0.0-beta.7, which migrates it to Quilt