sodium-fabric
sodium-fabric copied to clipboard
Create a task force for ensuring mod compatibility with Sodium
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:
- 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.)
- Validate the functioning of each addon mod with the future release of Sodium.
- 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.
- 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.
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):
- L_Ender 's Cataclysm
- https://github.com/lender544/L_ender-s-Cataclysm-Backport-1.19.2-1.80/blob/master/src/main/java/com/github/L_Ender/cataclysm/client/render/etc/LavaVisionFluidRenderer.java
- Alex's Caves
- https://github.com/AlexModGuy/AlexsMobs/blob/1.20/src/main/java/com/github/alexthe666/alexsmobs/client/render/LavaVisionFluidRenderer.java#L21
Steam 'n' Rails has a mixin that'll probably break: https://github.com/Layers-of-Railways/Railway/blob/1.20/dev/common/src/main/java/com/railwayteam/railways/mixin/compat/sodium/MixinBlockOcclusionCache.java
Most of nvidium will probably break, however im not sure how much of it can realistically be extracted to an API (similar to iris)
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.
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.
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
https://github.com/AlphaMode/Star/blob/1.20.1/src/main/java/me/alphamode/star/client/renderers/SodiumUpsideDownFluidRenderer.java
needs a api so that they can use sodiums fluid rendering system
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.