Sodium Extra

Sodium Extra

25M Downloads

Sodium Extra is not 1.18.1 compatible, contrary to what curseforge says

Delfite opened this issue · 9 comments

commented

Make sure you are not opening a duplicate.

Minecraft version.

1.18.1

Sodium Extra version.

0.3.7

Sodium version.

alpha-0.4.0

What happened?

The stacktrace is as follows:

net.fabricmc.loader.impl.FormattedException: net.fabricmc.loader.impl.discovery.ModResolutionException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
	 - Install fabric, any version.
Unmet dependency listing:
	 - Mod 'Sodium Extra' (sodium-extra) 0.3.7 requires any version of fabric, which is missing!
Inactive mods:
	 - mod 'Fabric Resource Loader (v0)' (fabric-resource-loader-v0) 0.4.11+3ac43d9514, reason: newer version active
	at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:189)
	at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:142)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:71)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: net.fabricmc.loader.impl.discovery.ModResolutionException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
	 - Install fabric, any version.
Unmet dependency listing:
	 - Mod 'Sodium Extra' (sodium-extra) 0.3.7 requires any version of fabric, which is missing!
Inactive mods:
	 - mod 'Fabric Resource Loader (v0)' (fabric-resource-loader-v0) 0.4.11+3ac43d9514, reason: newer version active
	at net.fabricmc.loader.impl.discovery.ModResolver.findCompatibleSet(ModResolver.java:159)
	at net.fabricmc.loader.impl.discovery.ModResolver.resolve(ModResolver.java:45)
	at net.fabricmc.loader.impl.FabricLoaderImpl.setup(FabricLoaderImpl.java:224)
	at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:187)
	... 3 more

Curseforge says that sodium extra is 1.18.1 compatible when it is in fact not compatible.
curseforge1
This is almost always caused by devs not actually checking if their mods function in the versions they claim to be compatible with. Not only that but as far as I am aware this is a parameter that must be set manually by the developer themselves, this tells me that you didn't even test to see if it would work in 1.18.1.

Relevant log.

A log is not required and will not be provided.
Reason: Stacktrace and log file show same info.

Additional information.

None.

commented

Yeah sorry about that, installing the API fixed it. For some reason fabric doesn't say you need to install the api itself and instead will just say you need to install fabric itself (which made no sense at all to me) so I just assumed this was an error on your side, oh well, thanks for the help I guess.

commented

Fabric API?

commented

@LonelySauce

commented

Like the above-mentioned, also please check your dependencies before you even open an issue making such accusations.

commented

@FlashyReese Standard Sodium doesn't require the Fabric API and the error message given by Sodium Extra when its not installed just says to install any version of Fabric, it might be helpful to distinguish between the two requirements as a lot of people might run unto this

commented

Well, the thing is I don't have control over that and I'm not at fault here because I wouldn't want the Fabric Loader to interpret the Fabric API as fabric either. Fabric API has its mod identifier named fabric and there is nothing I can do to change that.

There are 2 solutions I can think of:

  1. Mention it more clearly on the CurseForge page as users don't really check mod dependencies when downloading mods.
  2. Do what sodium does, including the module I need into the mod. This would increase the size of the mod, but may also cause problems.
commented

Well, the thing is I don't have control over that and I'm not at fault here because I wouldn't want the fabric loader to interpret the fabric api as fabric either. Fabric API has their mod identifier named as fabric and there is nothing I can do to change that.

There is 2 solutions I can think of:

1. Mention it more clearly on the curseforge page as users don't really check mod dependencies when downloading mods.

2. Do what sodium as does, include the module I need into the mod. This would increase the size of the mod, but may also cause problems.

Oh wow I couldn't even find the dependencies section so it's under relations weird.
You could add something to the description to check the dependencies and link to the relations area but if most people know about that then it should be fine.

I will ask the Fabric API guys to distinguish their name >:C

Thanks for your help

commented

@modmuss50 could you please make it easier to distinguish the Fabric API and Fabric loader as dependencies in error messages? This is confusing :(

commented

@modmuss50 could you please make it easier to distinguish the Fabric API and Fabric loader as dependencies in error messages? This is confusing :(

Firstly, fabric loader is labelled as fabric-loader already, so that doesn't need to be changed.

Secondly, to do this, fabric should allow two Mod IDs in a mod, so that for a temporary period (in 1.18, through 1.19, and up to 1.20) fabric api has both fabric and fabric-api as modids. This would mean that if a mod depends on fabric, the user will get a deprecation warning in logs (just like modmenu did when it deprecated its old API), and then they could remove fabric as a modid around 1.20. This would allow time for the mods to change their dependency from fabric to fabric-api while not suddenly pushing a breaking change.