Sodium

Sodium

35M Downloads

Create a task force for ensuring mod compatibility with Sodium

jellysquid3 opened this issue ยท 8 comments

commented

We are likely to make organizational changes and improvements with Sodium 0.6 which could break compatibility with certain mods that depend on our internal code.

As part of our continued effort to maintain compatibility with addon mods-- without applying pressure upon other addon developers-- we would like to create a task force for identifying mod compatibility issues ahead of time.

The work of this task force will involve a few different jobs:

  1. Identify the current collection of mods which depend on Sodium internals. (We should have a complete list of these mods before the alpha release of Sodium 0.6.)
  2. Validate the functioning of each addon mod with the future release of Sodium.
  3. Examine the reason for the breakage, and if not possible to fix upstream, submit pull requests downstream early for any mod which does not function correctly.
  4. For pull requests which are declined or otherwise not merged in time, create mixins for these fixes, and incorporate them into a secondary mod for Sodium which provides compatibility with known-incompatible mods.
commented

I will open an issue with checklist items for the aforementioned mods, depending on what solutions they need exactly. For some things (see #2330) it just needs us to architect our code slightly differently.

commented

just gonna throw this in here (you can delete if wrong place)

mixin

Valkyrien Skies (Forge/Fabric)
https://github.com/ValkyrienSkies/Valkyrien-Skies-2/tree/1.18.x/main/common/src/main/java/org/valkyrienskies/mod/mixin/mod_compat/sodium

Shimmer
https://github.com/Low-Drag-MC/Shimmer/tree/1.20/Fabric/src/main/java/com/lowdragmc/shimmer/fabric/core/mixins/sodium
https://github.com/Low-Drag-MC/Shimmer/tree/1.20/Forge/src/main/java/com/lowdragmc/shimmer/forge/core/mixins/rubidium

NoCubes
https://github.com/Cadiboo/NoCubes/tree/526fa53c3fe5097a1f271f84a45da8b6ed4dcbe0/src/main/java/io/github/cadiboo/nocubes/mixin/client/sodium
https://github.com/Cadiboo/NoCubes/blob/master/src/main/java/io/github/cadiboo/nocubes/client/render/SodiumRenderer.java

Bobby
https://github.com/Johni0702/bobby/tree/master/src/main/java/de/johni0702/minecraft/bobby/mixin/sodium

Bobby Reforged
https://github.com/anthxnymc/BobbyReforged/tree/1.19.2/src/main/java/de/johni0702/minecraft/bobby/mixin/sodium
https://github.com/anthxnymc/BobbyReforged/tree/1.19.2/src/main/java/de/johni0702/minecraft/bobby/sodium

Cull Less Leaves
https://github.com/isXander/CullLessLeaves/tree/1.19/src/main/java/dev/isxander/culllessleaves/mixins/sodiumcompat

Majrusz Library
https://github.com/Majrusz/MajruszLibrary/blob/1.20.X/common/src/main/java/com/majruszlibrary/mixin/MixinItemColors.java
(unsure about this one)

Seamless
https://github.com/TeamDiopside/Seamless/blob/1.20.4/fabric/src/main/java/nl/teamdiopside/seamless/fabric/mixin/SodiumGameOptionPagesMixin.java
https://github.com/TeamDiopside/Seamless/blob/1.20.4/forge/src/main/java/nl/teamdiopside/seamless/forge/mixin/SodiumGameOptionPagesMixin.java

Snow! Real Magic! โ›„ (Forge)
https://github.com/Snownee/SnowRealMagic/tree/1.20-forge/src/main/java/snownee/snow/mixin/sodium

Physics Mod
https://github.com/haubna/PhysicsMod/
(unsure about this one)

incompatible

Chunk Animator
https://github.com/Harleyoc1/ChunkAnimator

Fabric version of Create (?)
See https://www.curseforge.com/minecraft/mc-mods/prominent-create

There are some incompatibilities regarding certain lava-vision features (there is no mixin into Sodium but that is the problem of these features not working to my understanding):

commented

Most of nvidium will probably break, however im not sure how much of it can realistically be extracted to an API (similar to iris)

commented

With your support of custom color resolvers and custom fluid colors, Vanadium and Bismuth should be able to mixin a bit easier now. I'll update with findings in the off chance we can't.

commented

Nothing here needs action on Sodium's end, just for documentation

  • Create will break again because of Flywheel, but Pepper and Jozu will take care of that at some point.
  • Create and Portal Cubed have a soft dependency on SpriteContentsExtended that will fail safely if not found.
commented

Nothing here needs action on Sodium's end, just for documentation

  • Create will break again because of Flywheel, but Pepper and Jozu will take care of that at some point.
  • Create and Portal Cubed have a soft dependency on SpriteContentsExtended that will fail safely if not found.

I can take care of flywheel, should be a quick pr