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

Crash with Respackopts and LibJF #86

Closed
Julienraptor01 opened this issue Jun 13, 2022 · 6 comments
Closed

Crash with Respackopts and LibJF #86

Julienraptor01 opened this issue Jun 13, 2022 · 6 comments

Comments

@Julienraptor01
Copy link

Julienraptor01 commented Jun 13, 2022

I tried to make my modpack on quilt but Respackopts and its lib LibJF make my game crash while it does work on fabric.
https://paste.ee/p/RCxm4

@Julienraptor01 Julienraptor01 changed the title Crash with LibJF Crash with Respackopts and LibJF Jun 13, 2022
@maximumpower55
Copy link

LibJF uses fabric loader's internals, ModContainerImpl to be more specific, so its not really fixable

@Julienraptor01
Copy link
Author

LibJF uses fabric loader's internals, ModContainerImpl to be more specific, so its not really fixable

is it fixable on the dev side with really little changes ? (I've already talked with him but he responded me that he shouldn't have to do smth as quilt said it would support fabric mods. But if it only require small chnages i can try to ask him to still do it or to do a fork myself.)

@AlexIIL
Copy link
Contributor

AlexIIL commented Jun 13, 2022

To be specific, LibJF creates entrypoint objects directly, which isn't exposed as functionality directly through either fabric-loader api or quilt-loader api. The closest approximation would be to use FabricLoader.getEntrypoints() - however this might not be sufficient, depending on why LibJF chose to create entrypoint objects directly.

@AlexIIL
Copy link
Contributor

AlexIIL commented Jun 13, 2022

Upon closer inspection, it looks like LibJF (ab)uses language adapters to expose an even earlier entrypoint for mods to use. This means they are trying to get entrypoints too early for normal entrypoints methods - since they require language adapters to be setup.

I can't see an easy fix for this, since it depends on why LibJF exposes entrypoints that early.

@Julienraptor01
Copy link
Author

From JFronny

The hacky parts in libjf are needed for manual ASM (for example in powerless, mAME or data-manipulation, which respackopts builds on) and mod injection (for example in modsmod or mixwork) with access to properly loaded configs, both of which are needed elsewhere

@AlexIIL
Copy link
Contributor

AlexIIL commented Jun 13, 2022

Okay, in which case libjf is most likely entirely incompatible with quilt, since it interacts directly with lot more of fabric loader internals than just entrypoints - it's probably not going to be possible for us to support that.

@TheGlitch76 TheGlitch76 closed this as not planned Won't fix, can't repro, duplicate, stale May 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants