diff --git a/api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderingApi.java b/api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderingApi.java
new file mode 100644
index 000000000..15172b2ce
--- /dev/null
+++ b/api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderingApi.java
@@ -0,0 +1,17 @@
+package com.seibel.distanthorizons.api.enums.config;
+
+/**
+ * VULKAN,
+ * OPEN_GL,
+ *
+ * @see EDhApiRenderingEngine
+ *
+ * @since API 7.0.0
+ * @version 2026-3-10
+ */
+public enum EDhApiRenderingApi
+{
+ VULKAN,
+ OPEN_GL;
+
+}
diff --git a/api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderApi.java b/api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderingEngine.java
similarity index 63%
rename from api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderApi.java
rename to api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderingEngine.java
index 9f1de8bca..6309ec1f0 100644
--- a/api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderApi.java
+++ b/api/src/main/java/com/seibel/distanthorizons/api/enums/config/EDhApiRenderingEngine.java
@@ -1,16 +1,16 @@
package com.seibel.distanthorizons.api.enums.config;
-import com.seibel.distanthorizons.coreapi.ModInfo;
-
/**
* AUTO,
* OPEN_GL,
* BLAZE_3D,
*
- * @since API 6.0.0
+ * @see EDhApiRenderingApi
+ *
+ * @since API 7.0.0
* @version 2026-3-10
*/
-public enum EDhApiRenderApi
+public enum EDhApiRenderingEngine
{
AUTO,
OPEN_GL,
diff --git a/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiFramebuffer.java b/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiFramebuffer.java
index 7f3fb4b11..d0c5eba7d 100644
--- a/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiFramebuffer.java
+++ b/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiFramebuffer.java
@@ -19,14 +19,14 @@
package com.seibel.distanthorizons.api.interfaces.override.rendering;
-import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingEngine;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
/**
* Note:
* This is only used if Distant Horizons'
- * {@link IDhApiRenderProxy#getRenderingApi()} returns {@link EDhApiRenderApi#OPEN_GL}
+ * {@link IDhApiRenderProxy#getRenderingApi()} returns {@link EDhApiRenderingEngine#OPEN_GL}
* and {@link IDhApiRenderProxy#isNativeRenderer()} returns true.
* ie this is only used when DH is doing native OpenGL rendering,
* if DH is using Blaze3D this interface will be ignored.
diff --git a/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiGenericObjectShaderProgram.java b/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiGenericObjectShaderProgram.java
index 51c46895d..6a4a0018c 100644
--- a/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiGenericObjectShaderProgram.java
+++ b/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiGenericObjectShaderProgram.java
@@ -19,7 +19,7 @@
package com.seibel.distanthorizons.api.interfaces.override.rendering;
-import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingEngine;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderableBoxGroup;
@@ -31,7 +31,7 @@ import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBoxGroupShad
/**
* Note:
* This is only used if Distant Horizons'
- * {@link IDhApiRenderProxy#getRenderingApi()} returns {@link EDhApiRenderApi#OPEN_GL}
+ * {@link IDhApiRenderProxy#getRenderingApi()} returns {@link EDhApiRenderingEngine#OPEN_GL}
* and {@link IDhApiRenderProxy#isNativeRenderer()} returns true.
* ie this is only used when DH is doing native OpenGL rendering,
* if DH is using Blaze3D this interface will be ignored.
diff --git a/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiShaderProgram.java b/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiShaderProgram.java
index 58c246b6f..7c8aefd22 100644
--- a/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiShaderProgram.java
+++ b/api/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiShaderProgram.java
@@ -19,7 +19,7 @@
package com.seibel.distanthorizons.api.interfaces.override.rendering;
-import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingEngine;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam;
@@ -28,7 +28,7 @@ import com.seibel.distanthorizons.api.objects.math.DhApiVec3f;
/**
* Note:
* This is only used if Distant Horizons'
- * {@link IDhApiRenderProxy#getRenderingApi()} returns {@link EDhApiRenderApi#OPEN_GL}
+ * {@link IDhApiRenderProxy#getRenderingApi()} returns {@link EDhApiRenderingEngine#OPEN_GL}
* and {@link IDhApiRenderProxy#isNativeRenderer()} returns true.
* ie this is only used when DH is doing native OpenGL rendering,
* if DH is using Blaze3D this interface will be ignored.
diff --git a/api/src/main/java/com/seibel/distanthorizons/api/interfaces/render/IDhApiRenderProxy.java b/api/src/main/java/com/seibel/distanthorizons/api/interfaces/render/IDhApiRenderProxy.java
index 52bf20d17..9b3872a42 100644
--- a/api/src/main/java/com/seibel/distanthorizons/api/interfaces/render/IDhApiRenderProxy.java
+++ b/api/src/main/java/com/seibel/distanthorizons/api/interfaces/render/IDhApiRenderProxy.java
@@ -19,7 +19,8 @@
package com.seibel.distanthorizons.api.interfaces.render;
-import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingEngine;
import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiAfterDhInitEvent;
import com.seibel.distanthorizons.api.objects.DhApiResult;
@@ -47,9 +48,8 @@ public interface IDhApiRenderProxy
DhApiResult clearRenderDataCache();
/**
- * Returns which specific {@link EDhApiRenderApi}
- * Distant Horizons will use for rendering.
- * Will not return {@link EDhApiRenderApi#AUTO}.
+ * Returns which specific {@link EDhApiRenderingApi}
+ * Distant Horizons will use for rendering.
*
* @throws IllegalStateException if no renderer has been bound yet,
* wait till after {@link DhApiAfterDhInitEvent} has been fired
@@ -57,7 +57,7 @@ public interface IDhApiRenderProxy
* @see DhApiAfterDhInitEvent
* @since API 7.0.0
*/
- EDhApiRenderApi getRenderingApi() throws IllegalStateException;
+ EDhApiRenderingApi getRenderingApi() throws IllegalStateException;
/**
* Returns true if the current renderer
* is calling the base rendering API's method calls.
diff --git a/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java b/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java
index ed90bc6a7..9368bdcfc 100644
--- a/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java
+++ b/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java
@@ -812,15 +812,15 @@ public class Config
.addListener(IgnoredDimensionCsvHandler.INSTANCE)
.build();
- public static ConfigEntry renderingApi = new ConfigEntry.Builder()
- .set(EDhApiRenderApi.AUTO)
+ public static ConfigEntry renderingEngine = new ConfigEntry.Builder()
+ .set(EDhApiRenderingEngine.AUTO)
.comment(""
+ "Requires a restart to change. \n"
+ " \n"
+ "Options: \n"
- + EDhApiRenderApi.AUTO + " - changes based on the most likely API for that MC version \n"
- + EDhApiRenderApi.OPEN_GL + " - Default \n"
- + EDhApiRenderApi.BLAZE_3D + " - Only supported on MC 1.21.11 \n"
+ + EDhApiRenderingEngine.AUTO + " - changes based on the most likely API for that MC version \n"
+ + EDhApiRenderingEngine.OPEN_GL + " - Default \n"
+ + EDhApiRenderingEngine.BLAZE_3D + " - Only supported on MC 1.21.11 \n"
+ "")
.build();
@@ -1438,8 +1438,9 @@ public class Config
public static ConfigEntry dataCompression = new ConfigEntry.Builder()
.set(EDhApiDataCompressionMode.Z_STD_BLOCK)
- // only visible via the API since there is no reason to use any compressor except ZStandard as of 2025-11-24
- .setAppearance(EConfigEntryAppearance.ONLY_IN_API)
+ // only visible via the file since there is no reason to use any compressor except ZStandard as of 2025-11-24
+ // the only reason this hasn't been fully removed is due to some people having issues specifically with ZSTD
+ .setAppearance(EConfigEntryAppearance.ONLY_IN_FILE)
.build();
public static ConfigEntry worldCompression = new ConfigEntry.Builder()
diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/DhApiRenderProxy.java b/core/src/main/java/com/seibel/distanthorizons/core/render/DhApiRenderProxy.java
index dee4ccb21..49352b619 100644
--- a/core/src/main/java/com/seibel/distanthorizons/core/render/DhApiRenderProxy.java
+++ b/core/src/main/java/com/seibel/distanthorizons/core/render/DhApiRenderProxy.java
@@ -19,7 +19,8 @@
package com.seibel.distanthorizons.core.render;
-import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingEngine;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
import com.seibel.distanthorizons.api.objects.DhApiResult;
import com.seibel.distanthorizons.core.api.internal.SharedApi;
@@ -97,7 +98,7 @@ public class DhApiRenderProxy implements IDhApiRenderProxy
}
@Override
- public EDhApiRenderApi getRenderingApi() throws IllegalStateException
+ public EDhApiRenderingApi getRenderingApi() throws IllegalStateException
{
AbstractDhRenderApiDefinition apiDef = tryGetApiDef();
if (apiDef == null)
diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/IVersionConstants.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/IVersionConstants.java
index 9c71c8071..32107ee27 100644
--- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/IVersionConstants.java
+++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/IVersionConstants.java
@@ -19,7 +19,7 @@
package com.seibel.distanthorizons.core.wrapperInterfaces;
-import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingEngine;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
/**
@@ -34,6 +34,6 @@ public interface IVersionConstants extends IBindable
{
String getMinecraftVersion();
- EDhApiRenderApi getDefaultRenderingApi();
+ EDhApiRenderingEngine getDefaultRenderingEngine();
}
diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
index 153756d82..83ffa102e 100644
--- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
+++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
@@ -21,9 +21,9 @@ package com.seibel.distanthorizons.core.wrapperInterfaces.minecraft;
import java.awt.Color;
-import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
import com.seibel.distanthorizons.core.api.internal.rendering.DhRenderState;
import com.seibel.distanthorizons.core.enums.EDhDirection;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingApi;
import com.seibel.distanthorizons.core.wrapperInterfaces.misc.ILightMapWrapper;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
import com.seibel.distanthorizons.core.util.math.Vec3d;
@@ -76,8 +76,8 @@ public interface IMinecraftRenderWrapper extends IBindable
boolean mcRendersToFrameBuffer();
boolean runningLegacyOpenGL();
- /** Returns the API Minecraft is currently using for rendering */
- EDhApiRenderApi getMcRenderingApi();
+ /** Returns the Graphics API Minecraft is currently using for rendering */
+ EDhApiRenderingApi getMcRenderingApi();
/** @return -1 if no valid framebuffer is available yet */
int getTargetFramebuffer(); // Note: Iris is now hooking onto this for DH + Iris compat, try not to change (unless we wanna deal with some annoyances)
diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/render/AbstractDhRenderApiDefinition.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/render/AbstractDhRenderApiDefinition.java
index 5fba84ff8..6ec513451 100644
--- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/render/AbstractDhRenderApiDefinition.java
+++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/render/AbstractDhRenderApiDefinition.java
@@ -1,6 +1,7 @@
package com.seibel.distanthorizons.core.wrapperInterfaces.render;
-import com.seibel.distanthorizons.api.enums.config.EDhApiRenderApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingApi;
+import com.seibel.distanthorizons.api.enums.config.EDhApiRenderingEngine;
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.jar.EPlatform;
import com.seibel.distanthorizons.core.render.EDhRenderDepth;
@@ -32,8 +33,7 @@ public abstract class AbstractDhRenderApiDefinition implements IBindable
public boolean useSingleIbo() { return this.useSingleIbo; }
public abstract EDhRenderDepth getRenderDepth();
- /** will not return {@link EDhApiRenderApi#AUTO} */
- public abstract EDhApiRenderApi getRenderApi();
+ public abstract EDhApiRenderingApi getRenderApi();
/**
* Returns true if the current renderer
* is calling the base rendering API's method calls.