IrisShaders / Iris

A modern shaders mod for Minecraft compatible with existing OptiFine shader packs
https://irisshaders.dev
GNU Lesser General Public License v3.0
3.34k stars 635 forks source link

State compatible sodium versions in dependencies instead of doing runtime checks #2206

Open EntityinArray opened 9 months ago

EntityinArray commented 9 months ago

Hello, thank you for working on this amazing mod

Is your feature request related to a problem? Please describe. Create doesn't support the newest version of Sodium, so i'm forced to mix and match older versions of Sodium, Indium and Iris.

The final obstacle to starting up is this screen image

"Download the correct version of Sodium, remove the incorrect version" What's the correct version? Which versions are incorrect?

Describe the solution you'd like Dependencies allow you to state which versions of mods your mod is compatible with Fabric will show you this nice screen: image

Describe alternatives you've considered Please, stop doing weird checks of your own and use dependencies instead State which versions of Sodium your mod is compatible with in the mod's dependencies, instead of showing this cryptic screen

Happy New Year!

coderbot16 commented 9 months ago

I think that there is definitely something to be desired here in terms of documenting exactly what versions of Iris are compatible with what versions of Sodium, both externally and in the error messages.

However in my personal opinion I don't immediately agree that going back to the Fabric error screen would be an improvement over an improved Iris error screen here. The generic Fabric & Quilt error screens are very poorly adapted to simple situations like Iris and Sodium and easily overwhelm the user with useless information. And trying to figure out a way to allow the generic screens to tailor the Iris/Sodium error reporting haven't gone anywhere.

If the screen opening so late in game startup is a point of frustration here, then perhaps we can borrow the very early initialization error reporting functionality from Sodium?

That being said, it looks like on the 1.20 versions and above, the Sodium dependency is declared in the mod manifest as desired, I think that we should either commit to keeping or dropping the custom error screen: https://github.com/IrisShaders/Iris/commit/5d5271bc3aec2ac4dce29ed6cf5f12e74ce76650