From 895e04b7cc82d2a5b23eb0ef1b89722de92c1f6a Mon Sep 17 00:00:00 2001 From: James Seibel Date: Wed, 10 Dec 2025 18:50:35 -0600 Subject: [PATCH] Remove unused wrapper functions and refactor --- .../api/internal/ClientPluginChannelApi.java | 3 +- .../distanthorizons/core/config/Config.java | 17 ++- .../render/bufferBuilding/ColumnBox.java | 9 +- .../render/bufferBuilding/LodQuadBuilder.java | 5 +- .../core/generation/PregenManager.java | 2 - .../core/logging/DhLogger.java | 37 ++++- .../core/render/renderer/LodRenderer.java | 9 ++ .../render/renderer/shaders/FogShader.java | 6 +- .../minecraft/IMinecraftClientWrapper.java | 128 +++++++----------- .../minecraft/IMinecraftRenderWrapper.java | 9 +- .../minecraft/IMinecraftSharedWrapper.java | 3 +- .../modAccessor/AbstractOptifineAccessor.java | 52 ------- .../modAccessor/IOptifineAccessor.java | 7 - .../assets/distanthorizons/lang/en_us.json | 5 + 14 files changed, 132 insertions(+), 160 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java index 516f8b89c..0e7577e03 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java @@ -9,6 +9,7 @@ import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.network.event.internal.CloseInternalEvent; import com.seibel.distanthorizons.core.network.messages.base.LevelInitMessage; import com.seibel.distanthorizons.core.network.session.NetworkSession; +import com.seibel.distanthorizons.core.render.glObject.GLProxy; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import org.jetbrains.annotations.NotNull; @@ -89,7 +90,7 @@ public class ClientPluginChannelApi LOGGER.info("Server level key received: [" + msg.levelKey + "]."); - MC.executeOnRenderThread(() -> + GLProxy.getInstance().queueRunningOnRenderThread(() -> { IClientLevelWrapper clientLevel = MC.getWrappedClientLevel(true); IServerKeyedClientLevel existingKeyedClientLevel = KEYED_CLIENT_LEVEL_MANAGER.getServerKeyedLevel(); 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 cb45e4ac4..e9a927121 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 @@ -123,7 +123,6 @@ public class Config { // common config links need to have their destination // since they aren't part of "client" config class - // TODO determine their destination programically instead of hard coding the value public static ConfigUIComment advancedHeader = new ConfigUIComment.Builder().setParentConfigClass(Advanced.class).build(); @@ -169,6 +168,20 @@ public class Config public static ConfigCategory culling = new ConfigCategory.Builder().set(Culling.class).build(); public static ConfigUISpacer cullingSpacer = new ConfigUISpacer.Builder().build(); + public static ConfigEntry overrideVanillaGraphicsSettings = new ConfigEntry.Builder() + .set(true) + .comment("" + + "If true some vanilla graphics settings will be automatically changed \n" + + "during DH setup to provide a better experience. \n" + + " \n" + + "IE disabling vanilla clouds (which render on top of DH LODs), \n" + + " and chunk fading (DH already fades MC chunks) \n" + + "") + .build(); + public static ConfigUISpacer overrideVanillaSpacer = new ConfigUISpacer.Builder().build(); + + + public static ConfigCategory experimental = new ConfigCategory.Builder().set(Experimental.class).build(); @@ -260,7 +273,7 @@ public class Config public static ConfigEntry lodBias = new ConfigEntry.Builder() .setMinDefaultMax(0d, 0d, null) .comment("" - + "What the value should vanilla Minecraft's texture LodBias be? \n" + + "What value should vanilla Minecraft's texture LodBias be? \n" + "If set to 0 the mod wont overwrite vanilla's default (which so happens to also be 0)") .build(); diff --git a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/ColumnBox.java b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/ColumnBox.java index 17d46a569..7f774732a 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/ColumnBox.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/ColumnBox.java @@ -29,13 +29,14 @@ import com.seibel.distanthorizons.core.util.LodUtil; import com.seibel.distanthorizons.core.util.RenderDataPointUtil; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.distanthorizons.core.dataObjects.render.columnViews.ColumnArrayView; +import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.coreapi.util.MathUtil; import it.unimi.dsi.fastutil.longs.LongArrayList; import org.jetbrains.annotations.NotNull; public class ColumnBox { - private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); + private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); /** * if the skylight has this value that means @@ -122,7 +123,7 @@ public class ColumnBox && !isTopTransparent; if (!skipTop) { - builder.addQuadUp(minX, maxY, minZ, width, width, ColorUtil.applyShade(color, MC.getShade(EDhDirection.UP)), irisBlockMaterialId, skyLightTop, blockLight); + builder.addQuadUp(minX, maxY, minZ, width, width, ColorUtil.applyShade(color, MC_RENDER.getShade(EDhDirection.UP)), irisBlockMaterialId, skyLightTop, blockLight); } } @@ -133,7 +134,7 @@ public class ColumnBox && !isBottomTransparent; if (!skipBottom) { - builder.addQuadDown(minX, minY, minZ, width, width, ColorUtil.applyShade(color, MC.getShade(EDhDirection.DOWN)), irisBlockMaterialId, skyLightBot, blockLight); + builder.addQuadDown(minX, minY, minZ, width, width, ColorUtil.applyShade(color, MC_RENDER.getShade(EDhDirection.DOWN)), irisBlockMaterialId, skyLightBot, blockLight); } } @@ -263,7 +264,7 @@ public class ColumnBox // no adjacent data // //==================// - color = ColorUtil.applyShade(color, MC.getShade(direction)); + color = ColorUtil.applyShade(color, MC_RENDER.getShade(direction)); if (adjColumnView.size == 0 || RenderDataPointUtil.hasZeroHeight(adjColumnView.get(0))) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/LodQuadBuilder.java b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/LodQuadBuilder.java index 3d86f4bf3..8cf307cd2 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/LodQuadBuilder.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/LodQuadBuilder.java @@ -32,6 +32,7 @@ import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.util.ColorUtil; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; +import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import com.seibel.distanthorizons.coreapi.util.MathUtil; import org.lwjgl.system.MemoryUtil; @@ -44,7 +45,7 @@ import org.lwjgl.system.MemoryUtil; public class LodQuadBuilder { private static final DhLogger LOGGER = new DhLoggerBuilder().build(); - private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); + private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); @SuppressWarnings("unchecked") private final ArrayList[] opaqueQuads = (ArrayList[]) new ArrayList[6]; @@ -379,7 +380,7 @@ public class LodQuadBuilder // for horizontal and bottom faces of grass blocks, use the dirt color to // prevent green cliff walls color = this.clientLevelWrapper.getDirtBlockColor(); - color = ColorUtil.applyShade(color, MC.getShade(quad.direction)); + color = ColorUtil.applyShade(color, MC_RENDER.getShade(quad.direction)); } } } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/generation/PregenManager.java b/core/src/main/java/com/seibel/distanthorizons/core/generation/PregenManager.java index b0823879c..518ad90c1 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/generation/PregenManager.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/generation/PregenManager.java @@ -56,10 +56,8 @@ public class PregenManager return pregenState; } - MC_SERVER.setPreventAutoPause(true); pregenState.whenComplete((result, throwable) -> { this.pregenFuture.set(null); - MC_SERVER.setPreventAutoPause(false); }); pregenState.fillPendingQueue(); diff --git a/core/src/main/java/com/seibel/distanthorizons/core/logging/DhLogger.java b/core/src/main/java/com/seibel/distanthorizons/core/logging/DhLogger.java index c3bc9e12d..6a5de6fda 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/logging/DhLogger.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/logging/DhLogger.java @@ -276,7 +276,7 @@ public class DhLogger implements IConfigListener if (mc_client != null) { - mc_client.logToChat(level, msgStr); + this.logToChat(level, msgStr); messageLogged = true; } } @@ -296,6 +296,41 @@ public class DhLogger implements IConfigListener } private static boolean loggingLevelIsLessSpecificThan(Level thisLoggingLevel, Level requestedLogLevel) { return thisLoggingLevel.intLevel() >= requestedLogLevel.intLevel(); } + /** Sends the given message to chat with a formatted prefix and color based on the log level. */ + private void logToChat(Level logLevel, String message) + { + String prefix = "[" + ModInfo.READABLE_NAME + "] "; + if (logLevel == Level.ERROR) + { + prefix += "\u00A74"; + } + else if (logLevel == Level.WARN) + { + prefix += "\u00A76"; + } + else if (logLevel == Level.INFO) + { + prefix += "\u00A7f"; + } + else if (logLevel == Level.DEBUG) + { + prefix += "\u00A77"; + } + else if (logLevel == Level.TRACE) + { + prefix += "\u00A78"; + } + else + { + prefix += "\u00A7f"; + } + + prefix += "\u00A7l\u00A7u"; + prefix += logLevel.name(); + prefix += ":\u00A7r "; + + mc_client.sendChatMessage(prefix + message); + } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java index 32d3b5e20..6856f93c6 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java @@ -42,6 +42,7 @@ import com.seibel.distanthorizons.core.render.renderer.shaders.*; import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.math.Vec3d; import com.seibel.distanthorizons.core.util.objects.SortedArraySet; +import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftGLWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IProfilerWrapper; @@ -69,6 +70,7 @@ public class LodRenderer .maxCountPerSecond(4) .build(); + private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); private static final IMinecraftGLWrapper GLMC = SingletonInjector.INSTANCE.get(IMinecraftGLWrapper.class); private static final IIrisAccessor IRIS_ACCESSOR = ModAccessorInjector.INSTANCE.get(IIrisAccessor.class); @@ -174,6 +176,13 @@ public class LodRenderer return; } + // only do this once, that way they can still be reverted if desired + if (Config.Client.Advanced.Graphics.overrideVanillaGraphicsSettings.get()) + { + MC.disableVanillaClouds(); + MC.disableVanillaChunkFadeIn(); + } + this.renderObjectsCreated = true; } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/shaders/FogShader.java b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/shaders/FogShader.java index 3914247ac..1096c26d9 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/shaders/FogShader.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/shaders/FogShader.java @@ -164,10 +164,11 @@ public class FogShader extends AbstractShaderRenderer // Fog uniforms - this.shader.setUniform(this.uFogColor, MC_RENDER.isFogStateSpecial() ? this.getSpecialFogColor(partialTicks) : this.getFogColor(partialTicks)); + this.shader.setUniform(this.uFogColor, this.getFogColor(partialTicks)); this.shader.setUniform(this.uFogScale, 1.f / lodDrawDistance); this.shader.setUniform(this.uFogVerticalScale, 1.f / MC.getWrappedClientLevel().getMaxHeight()); - this.shader.setUniform(this.uFullFogMode, MC_RENDER.isFogStateSpecial() ? 1 : 0); + // only used for debugging + this.shader.setUniform(this.uFullFogMode, 0); // 1 = render everything with fog color // 7 = use debug rendering // fog config @@ -229,7 +230,6 @@ public class FogShader extends AbstractShaderRenderer return fogColor; } - private Color getSpecialFogColor(float partialTicks) { return MC_RENDER.getSpecialFogColor(partialTicks); } public void setProjectionMatrix(Mat4f projectionMatrix) { diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java index e26c024b8..f717a9204 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java @@ -32,33 +32,11 @@ import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindab import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper; import org.apache.logging.log4j.Level; -/** - * Contains everything related to the Minecraft object. - * - * @author James Seibel - * @version 2022-8-20 - */ public interface IMinecraftClientWrapper extends IBindable { - //================// - // helper methods // - //================// - - /** - * This should be called at the beginning of every frame to - * clear any Minecraft data that becomes out of date after a frame.

- *

- * LightMaps and other time sensitive objects fall in this category.

- *

- * This doesn't affect OpenGL objects in any way. - */ - void clearFrameObjectCache(); - - //=================// - // method wrappers // - //=================// - - float getShade(EDhDirection lodDirection); + //======================// + // multiplayer handling // + //======================// boolean hasSinglePlayerServer(); boolean clientConnectedToDedicatedServer(); @@ -69,24 +47,26 @@ public interface IMinecraftClientWrapper extends IBindable String getCurrentServerIp(); String getCurrentServerVersion(); - //=============// - // Simple gets // - //=============// + + + //=================// + // player handling // + //=================// boolean playerExists(); - UUID getPlayerUUID(); - - String getUsername(); - - // TODO returning null would be easier to understand but might make things harder to parse in some cases /** @return (0,0,0) if no player is loaded */ DhBlockPos getPlayerBlockPos(); - // TODO returning null would be easier to understand but might make things harder to parse in some cases /** @return (0,0) if no player is loaded */ DhChunkPos getPlayerChunkPos(); + + + //================// + // level handling // + //================// + /** * Returns the level the client is currently in.
* Returns null if the client isn't in a level. @@ -98,49 +78,37 @@ public interface IMinecraftClientWrapper extends IBindable */ IClientLevelWrapper getWrappedClientLevel(boolean bypassLevelKeyManager); - IProfilerWrapper getProfiler(); - /** Returns all worlds available to the server */ - ArrayList getAllServerWorlds(); + + //===========// + // messaging // + //===========// void sendChatMessage(String string); - /** Will default to sending a chat message if not supported by the current MC version */ + + /** + * Will default to sending a chat message if not supported by + * the current MC version (1.19.2 and older). + */ void sendOverlayMessage(String string); - /** Sends the given message to chat with a formatted prefix and color based on the log level. */ - default void logToChat(Level logLevel, String message) - { - String prefix = "[" + ModInfo.READABLE_NAME + "] "; - if (logLevel == Level.ERROR) - { - prefix += "\u00A74"; - } - else if (logLevel == Level.WARN) - { - prefix += "\u00A76"; - } - else if (logLevel == Level.INFO) - { - prefix += "\u00A7f"; - } - else if (logLevel == Level.DEBUG) - { - prefix += "\u00A77"; - } - else if (logLevel == Level.TRACE) - { - prefix += "\u00A78"; - } - else - { - prefix += "\u00A7f"; - } - prefix += "\u00A7l\u00A7u"; - prefix += logLevel.name(); - prefix += ":\u00A7r "; - - this.sendChatMessage(prefix + message); - } + + + //==========================// + // vanilla option overrides // + //==========================// + + void disableVanillaClouds(); + + void disableVanillaChunkFadeIn(); + + + + //======// + // misc // + //======// + + IProfilerWrapper getProfiler(); /** * Crashes Minecraft, displaying the given errorMessage

@@ -150,15 +118,17 @@ public interface IMinecraftClientWrapper extends IBindable * Error: ExceptionClass: exceptionErrorMessage
* Exit Code: -1
*/ - void crashMinecraft(String errorMessage, Throwable exception); //FIXME: Move to IMinecraftSharedWrapper + void crashMinecraft(String errorMessage, Throwable exception); + + + //=============// + // mod support // + //=============// + + /** used for Optifine */ Object getOptionsObject(); - /** - * Executes the given task on Minecraft's render thread. - * @deprecated use {@link GLProxy#runningOnRenderThread()} instead - */ - @Deprecated - void executeOnRenderThread(Runnable runnable); + } 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 764ce16a5..1fd06ee77 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,6 +21,7 @@ package com.seibel.distanthorizons.core.wrapperInterfaces.minecraft; import java.awt.Color; +import com.seibel.distanthorizons.core.enums.EDhDirection; import com.seibel.distanthorizons.core.wrapperInterfaces.misc.ILightMapWrapper; import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable; import com.seibel.distanthorizons.core.util.math.Vec3d; @@ -46,8 +47,6 @@ public interface IMinecraftRenderWrapper extends IBindable Color getFogColor(float partialTicks); - default Color getSpecialFogColor(float partialTicks) { return getFogColor(partialTicks); } - /** Unless you really need to know if the player is blind, use {@link IMinecraftRenderWrapper#isFogStateSpecial()} instead */ boolean isFogStateSpecial(); @@ -58,9 +57,6 @@ public interface IMinecraftRenderWrapper extends IBindable /** Measured in chunks */ int getRenderDistance(); - int getScreenWidth(); - int getScreenHeight(); - boolean mcRendersToFrameBuffer(); boolean runningLegacyOpenGL(); @@ -82,5 +78,8 @@ public interface IMinecraftRenderWrapper extends IBindable @Nullable ILightMapWrapper getLightmapWrapper(@NotNull ILevelWrapper level); + float getShade(EDhDirection lodDirection); + + } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java index 372475091..a61c3af55 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java @@ -23,7 +23,6 @@ import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindab import java.io.File; -//TODO: Maybe have IMCClientWrapper & IMCDedicatedWrapper extend this interface??? public interface IMinecraftSharedWrapper extends IBindable { boolean isDedicatedServer(); @@ -32,6 +31,6 @@ public interface IMinecraftSharedWrapper extends IBindable int getPlayerCount(); - void setPreventAutoPause(boolean preventAutoPause); + } 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 e606533c6..96073749e 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 @@ -79,58 +79,6 @@ public abstract class AbstractOptifineAccessor implements IOptifineAccessor // interface methods // //===================// - //@Override - @Deprecated - public EDhApiFogDrawMode getFogDrawMode() - { - if (this.ofFogField == null) - { - // either optifine isn't installed, - // the variable name was changed, or - // the setup method wasn't called yet. - return EDhApiFogDrawMode.FOG_ENABLED; - } - - int returnNum = 0; - - try - { - returnNum = (int) this.ofFogField.get(this.mcOptionsObject); - } - catch (IllegalArgumentException | IllegalAccessException e) - { - LOGGER.error("Unable to get project fog draw mode from Optifine, error: ["+e.getMessage()+"].", e); - } - - switch (returnNum) - { - default: - case 0: // optifine's "default" option, - // it should never be used, so default to fog Enabled - - // normal options - case 1: // fast - case 2: // fancy - return EDhApiFogDrawMode.FOG_ENABLED; - case 3: // off - return EDhApiFogDrawMode.FOG_DISABLED; - } - } - - @Override - public double getRenderResolutionMultiplier() - { - /* - * TODO remove comment when done, this is just here as reference - * Returns the percentage multiplier of the screen's current resolution.
- * 1.0 = 100%
- * 1.5 = 150%
- */ - - // TODO - return 1.0; - } - public boolean getIsShaderActive() { diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java index 352b96f61..ab1c3c54d 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java @@ -27,11 +27,4 @@ import java.util.HashSet; public interface IOptifineAccessor extends IModAccessor { - /** - * Returns the percentage multiplier of the screen's current resolution.
- * 1.0 = 100%
- * 1.5 = 150%
- */ - double getRenderResolutionMultiplier(); - } diff --git a/core/src/main/resources/assets/distanthorizons/lang/en_us.json b/core/src/main/resources/assets/distanthorizons/lang/en_us.json index b8e5012cd..50a8d2cc6 100644 --- a/core/src/main/resources/assets/distanthorizons/lang/en_us.json +++ b/core/src/main/resources/assets/distanthorizons/lang/en_us.json @@ -385,6 +385,11 @@ "distanthorizons.config.client.advanced.graphics.culling.ignoredRenderCaveBlockCsv.@tooltip": "A comma separated list of block resource locations that shouldn't be rendered \nif they are in a 0 sky light underground area. \nNote: air is always included in this list.", + "distanthorizons.config.client.advanced.graphics.overrideVanillaGraphicsSettings": + "Override Vanilla Settings", + "distanthorizons.config.client.advanced.graphics.overrideVanillaGraphicsSettings.@tooltip": + "If true some vanilla graphics settings will be automatically changed \nduring DH setup to provide a better experience. \n\nIE disabling vanilla clouds (which render on top of DH LODs), \nand chunk fading (DH already fades MC chunks).", + "distanthorizons.config.client.advanced.graphics.experimental":