From 3d349cb292ea6193f8bf1ab7f6aeb4536f804d8d Mon Sep 17 00:00:00 2001 From: James Seibel Date: Thu, 5 Feb 2026 21:37:29 -0600 Subject: [PATCH] Only allow rendering clouds in config set dimensions --- .../seibel/distanthorizons/core/config/Config.java | 12 ++++++++++++ .../distanthorizons/core/level/AbstractDhLevel.java | 5 +++-- .../world/IDimensionTypeWrapper.java | 1 + .../resources/assets/distanthorizons/lang/en_us.json | 4 ++++ 4 files changed, 20 insertions(+), 2 deletions(-) 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 3bc440fe8..6308833c9 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 @@ -467,6 +467,18 @@ public class Config + "") .build(); + public static ConfigEntry dimensionEnabledCloudRenderingCsv = new ConfigEntry.Builder() + .set("minecraft:overworld") + .setAppearance(EConfigEntryAppearance.ALL) + .comment("" + + "A comma separated separated list of dimension resource locations where DH clouds will render.\n" + + "\n" + + "Example: \"minecraft:overworld,minecraft:the_end\"\n" + + "\n" + + "Changes will only be seen when the world is re-loaded.\n" + + "") + .build(); + public static ConfigEntry enableInstancedRendering = new ConfigEntry.Builder() .set(true) .comment("" diff --git a/core/src/main/java/com/seibel/distanthorizons/core/level/AbstractDhLevel.java b/core/src/main/java/com/seibel/distanthorizons/core/level/AbstractDhLevel.java index d013b3596..1a3817c71 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/level/AbstractDhLevel.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/level/AbstractDhLevel.java @@ -137,8 +137,9 @@ public abstract class AbstractDhLevel implements IDhLevel if (this instanceof IDhClientLevel) { // only add clouds for certain dimension types - if (!this.getLevelWrapper().hasCeiling() - && !this.getLevelWrapper().getDimensionType().isTheEnd()) // TODO config value for white/black list + String enabledCloudDimensions = Config.Client.Advanced.Graphics.GenericRendering.dimensionEnabledCloudRenderingCsv.get(); + String dimName = this.getLevelWrapper().getDimensionType().getName(); + if (enabledCloudDimensions.contains(dimName)) { this.cloudRenderHandler = new CloudRenderHandler((IDhClientLevel)this, genericRenderer); } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IDimensionTypeWrapper.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IDimensionTypeWrapper.java index c4c0905b3..5d54948da 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IDimensionTypeWrapper.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IDimensionTypeWrapper.java @@ -27,6 +27,7 @@ public interface IDimensionTypeWrapper extends IDhApiDimensionTypeWrapper, IBind @Override boolean hasCeiling(); + /** example: "minecraft:overworld" */ String getName(); @Override 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 cb08deb55..0d99a3c41 100644 --- a/core/src/main/resources/assets/distanthorizons/lang/en_us.json +++ b/core/src/main/resources/assets/distanthorizons/lang/en_us.json @@ -233,6 +233,10 @@ "Enable Cloud Rendering", "distanthorizons.config.client.advanced.graphics.genericRendering.enableCloudRendering.@tooltip": "If true LOD clouds will be rendered.", + "distanthorizons.config.client.advanced.graphics.genericRendering.dimensionEnabledCloudRenderingCsv": + "Enable Cloud Rendering", + "distanthorizons.config.client.advanced.graphics.genericRendering.dimensionEnabledCloudRenderingCsv.@tooltip": + "A comma separated separated list of dimension resource locations where DH clouds will render. \n\nExample: \"minecraft:overworld,minecraft:the_end\" \n\nChanges will only be seen when the world is re-loaded.", "distanthorizons.config.client.advanced.graphics.genericRendering.enableUnexploredFogRendering": "Enable Unexplored Fog Rendering", "distanthorizons.config.client.advanced.graphics.genericRendering.enableUnexploredFogRendering.@tooltip":