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

Axiom incompatibility with Embeddium #399

Closed
PixusPanic opened this issue Oct 20, 2023 · 3 comments
Closed

Axiom incompatibility with Embeddium #399

PixusPanic opened this issue Oct 20, 2023 · 3 comments
Assignees
Labels
compat A mod is found to be incompatible

Comments

@PixusPanic
Copy link

Mod Name

Axiom (1.5.1), Embeddium

Mod Homepage

https://modrinth.com/mod/axiom https://modrinth.com/mod/embeddium

Describe the bug

When both Axiom and Embeddium are ran together, the game crashes upon booting.

Steps to reproduce

  1. Install both Axiom and Embeddium.
  2. Run the game.
  3. The game crashes upon booting.

Logs

https://gist.github.com/PixusPanic/f9d210b2626d2ff9bd7d4ea5682e4d8c

Additional context

Without Embeddium, Axiom seems to work perfectly fine, other than a few missing graphics here and there (such as the context menu when you press left alt by default). I suspect that it has to do with Sodium not properly being "registered" for a mixin since it mentions "axiom.mixins.json:render.MixinLevelRendererWithoutSodium" in the crash log. I haven't tried using Sodium in the mod list yet but I thought Embeddium would work cleaner than it since it's made more as a intended port of it for Forge, but I could be wrong.

I also have to thank you for making this amazing mod and bridging a lot of the gap between mod loaders, especially as someone who just wants to build.

@PixusPanic PixusPanic added the compat A mod is found to be incompatible label Oct 20, 2023
@Su5eD Su5eD self-assigned this Oct 22, 2023
@Su5eD
Copy link
Member

Su5eD commented Oct 22, 2023

Hi, thanks for reporting the issue. I've fixed context rendering once before but it seems like it broke again, sorry about that.

Guessing by the name of the MixinLevelRendererWithoutSodium class, axiom likely applies different mixins based on whether sodium is present or not. So in theory, aliasing embeddium to be also listed as sodium should do the trick. I'll likely have to add a global mod aliasing system to make this work with modpacks, and so that users don't have to edit mod jars themselves.

@Su5eD
Copy link
Member

Su5eD commented Oct 22, 2023

Looks like it works fine with embeddium. I had to edit the embeddium jar manually to add provides=["sodium"], and then add a dependency override for axiom to remove a breaks rule, since sodium and embeddium follow diffrent versioning.

For the global alias system, I'd go with a simple JSON file similar to fabric dependency overrides, with aliases listed as arrays for each modid:

{
    "foo": "example",
    "bar": ["lorem", "ipsum"]
}

Su5eD added a commit that referenced this issue Oct 22, 2023
@Su5eD
Copy link
Member

Su5eD commented Oct 22, 2023

There we go. You should now be able to get it running smoothly with the next release (or latest dev build), provided that you create an alias for embeddium and remove the breaking dependency constraint from axiom. Here's my config files that I've used, both are located inside the config folder:

connector_global_mod_aliases.json

{
  "version": 1,
  "aliases": {
    "cloth_config": "cloth-config2",
    "embeddium": "sodium"
  }
}

fabric_loader_dependencies.json

{
  "version": 1,
  "overrides": {
    "axiom": {
      "-breaks": {
        "sodium": "NONE"
      }
    }
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compat A mod is found to be incompatible
Projects
None yet
Development

No branches or pull requests

2 participants