Don't check for Indium for Sodium version >= 0.6

This commit is contained in:
Ran
2025-04-07 23:53:02 +10:00
parent 95c896f964
commit 10a743ddef
2 changed files with 14 additions and 4 deletions
@@ -90,8 +90,8 @@ public class FabricMain extends AbstractModInitializer implements ClientModIniti
{
ModAccessorInjector.INSTANCE.bind(ISodiumAccessor.class, new SodiumAccessor());
// If sodium is installed Indium is also necessary in order to use the Fabric rendering API
if (!modChecker.isModLoaded("indium"))
// If sodium is installed Indium is also necessary for versions 0.5 and less in order to use the Fabric rendering API
if (!modChecker.isModLoaded("indium") && SodiumAccessor.isSodiumV5OrLess)
{
String indiumMissingMessage = ModInfo.READABLE_NAME + " needs Indium to work with Sodium.\nPlease download Indium from https://modrinth.com/mod/indium";
LOGGER.fatal(indiumMissingMessage);
@@ -43,11 +43,22 @@ import net.minecraft.world.phys.AABB;
public class SodiumAccessor implements ISodiumAccessor
{
/**
* True if sodium 0.5 or less is present. <br>
* This field is public because it's also used to check if we need Indium to be present. <br>
* We need Indium if Sodium 0.5 or less is present.
*/
public static final boolean isSodiumV5OrLess;
#if MC_VER >= MC_1_20_1
private static MethodHandle setFogOcclusionMethod;
private static Object sodiumPerformanceOptions;
#endif
static {
isSodiumV5OrLess = !classPresent("net.caffeinemc.mods.sodium.client.render.SodiumWorldRenderer");
}
//======================//
@@ -72,8 +83,7 @@ public class SodiumAccessor implements ISodiumAccessor
{
if (sodiumPerformanceOptions == null)
{
boolean sodiumV6 = classPresent("net.caffeinemc.mods.sodium.client.render.SodiumWorldRenderer");
if (!sodiumV6)
if (isSodiumV5OrLess)
{
// sodium 0.5