Dependency resolution arrives in Connector beta 6 #67
Su5eD
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi everyone, just wanted to give a heads up on the next Connector beta release. Starting beta 6, Connector now resolves and checks the dependencies of all discovered fabric mods before transforming or loading them. I've also updated error reporting to make the loading error screen more readable and even color formatted.
Dependency constraints
Besides informing you about required dependencies, this is also to ensure we can safely transform all jars without having to worry about missing method renames. Currently, if you install a mod without all its dependencies present, vanilla methods that come from library classes will not be remapped, leading to crashes.
Dependency overrides
You might run into a situation where a cross-platform mod uses different mod IDs on each platform. Such an example is cloth config, which provides
cloth-config
andcloth-config2
on fabric, while usingcloth_config
as its modid on forge. If you try to load a fabric mod that requirescloth-config
, it will not be found. To fix this, Connector tries to make dependencies compatible by reversing the forgified modid back to a hyphenated format (cloth_config
->cloth-config
). However, in cases where a mod needscloth-config2
specifically and not justcloth-config
, resolution will still fail. That's when you should use a dependency override.Dependency overrides are a fabric loader feature that works on Connector as well. They allow you to replace the broken dependency modid with one that exists on forge. Here's an example
fabric_loader_dependencies.json
that would fit the case I describe above:The error screen
Error reporting has been updated to include clearer messages in a color-coded format similar to the one of Forge. Connector now also passes exceptions to FML earlier, allowing it to skip a larger part of the mod loading process before showing the error screen. This should save you some time and get you to the errors faster.
Here's an example of what a missing dependency error look like:
Also, Connector's own loading errors are no longer just "InvocationTargetException something something" but actually show useful info.
Beta Was this translation helpful? Give feedback.
All reactions