diff --git a/core/src/main/java/com/seibel/distanthorizons/core/IReflectionHandler.java b/core/src/main/java/com/seibel/distanthorizons/core/IReflectionHandler.java
deleted file mode 100644
index 0f2bb9127..000000000
--- a/core/src/main/java/com/seibel/distanthorizons/core/IReflectionHandler.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * This file is part of the Distant Horizons mod
- * licensed under the GNU LGPL v3 License.
- *
- * Copyright (C) 2020-2023 James Seibel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see
- * This interface doesn't necessarily have to exist, but
- * it makes using the singleton handler more uniform (always
- * passing in interfaces), and it may be needed in the future if
- * we find that reflection handlers need to be different for
- * different MC versions.
- *
- * @author James Seibel
- * @version 2022-11-24
- */
-public interface IReflectionHandler extends IBindable
-{
- /** @return if Sodium (or a sodium like) mod is present. */
- boolean sodiumPresent();
-
- boolean optifinePresent();
-
-}
diff --git a/core/src/main/java/com/seibel/distanthorizons/core/ReflectionHandler.java b/core/src/main/java/com/seibel/distanthorizons/core/ReflectionHandler.java
deleted file mode 100644
index 317ba14f5..000000000
--- a/core/src/main/java/com/seibel/distanthorizons/core/ReflectionHandler.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * This file is part of the Distant Horizons mod
- * licensed under the GNU LGPL v3 License.
- *
- * Copyright (C) 2020-2023 James Seibel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see
- *
- * For example: presence/absence of Optifine.
- *
- * @author James Seibel
- * @version 2022-11-24
- */
-public class ReflectionHandler implements IReflectionHandler
-{
- private static final Logger LOGGER = DhLoggerBuilder.getLogger(MethodHandles.lookup().lookupClass().getSimpleName());
-
- public static final ReflectionHandler INSTANCE = new ReflectionHandler();
-
- // populated when the methods are called the first time
- private Boolean sodiumPresent = null;
- private Boolean optifinePresent = false;
-
-
-
- private ReflectionHandler() { }
-
-
-
- //===================//
- // is [mod] present? //
- //===================//
-
- @Override
- public boolean optifinePresent()
- {
- if (this.optifinePresent == null)
- {
- // call the base accessor so we don't have duplicate code
- this.optifinePresent = AbstractOptifineAccessor.isOptifinePresent();
- }
- return this.optifinePresent;
- }
-
- @Override
- public boolean sodiumPresent()
- {
- if (this.sodiumPresent == null)
- {
- try
- {
- Class.forName("me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer");
- this.sodiumPresent = true;
- }
- catch (ClassNotFoundException e)
- {
- this.sodiumPresent = false;
- }
- }
-
- return this.sodiumPresent;
- }
-
-}
diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/modAccessor/AbstractOptifineAccessor.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/modAccessor/AbstractOptifineAccessor.java
index d4427cc16..e65002706 100644
--- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/modAccessor/AbstractOptifineAccessor.java
+++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/modAccessor/AbstractOptifineAccessor.java
@@ -22,7 +22,6 @@ package com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor;
import com.seibel.distanthorizons.api.enums.rendering.EFogDrawMode;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
-import com.seibel.distanthorizons.core.ReflectionHandler;
import java.lang.reflect.Field;
@@ -66,11 +65,7 @@ public abstract class AbstractOptifineAccessor implements IOptifineAccessor
return null;
}
- /**
- * Should not be called frequently since this uses reflection calls to determine if Optifine is present.
- * Use {@link ReflectionHandler#optifinePresent()} instead.
- */
- public static boolean isOptifinePresent() { return getOptifineFogField() != null; }
+ public static boolean optifinePresent() { return getOptifineFogField() != null; }
@@ -115,7 +110,7 @@ public abstract class AbstractOptifineAccessor implements IOptifineAccessor
}
}
-
+ @Override
public double getRenderResolutionMultiplier()
{
/*