From e80889d7dd9b8b3640cffddc5230c7ce0847e7fe Mon Sep 17 00:00:00 2001 From: tom lee Date: Fri, 31 Dec 2021 21:46:04 +0800 Subject: [PATCH] Updated core and config wrappers --- core | 2 +- .../com/seibel/lod/forge/ForgeConfig.java | 46 +++++++++++++- .../config/LodConfigWrapperSingleton.java | 62 ++++++++++++++++++- 3 files changed, 107 insertions(+), 3 deletions(-) diff --git a/core b/core index 8b3404e5f..0ce249ab1 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 8b3404e5f8683c849de9d173911da943480bd388 +Subproject commit 0ce249ab17a98cd9b4b105c56392b6161545fadd diff --git a/src/main/java/com/seibel/lod/forge/ForgeConfig.java b/src/main/java/com/seibel/lod/forge/ForgeConfig.java index b63702e3f..493140885 100644 --- a/src/main/java/com/seibel/lod/forge/ForgeConfig.java +++ b/src/main/java/com/seibel/lod/forge/ForgeConfig.java @@ -50,6 +50,7 @@ import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.I import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IGraphics.IAdvancedGraphics; import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IGraphics.IFogQuality; import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IGraphics.IQuality; +import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IGraphics.ICloudQuality; import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton.IClient.IWorldGenerator; import com.seibel.lod.forge.wrappers.VersionConstants; @@ -114,6 +115,7 @@ public class ForgeConfig public final Quality quality; public final FogQuality fogQuality; public final AdvancedGraphics advancedGraphics; + public final CloudQuality cloudQuality; Graphics(ForgeConfigSpec.Builder builder) { @@ -122,6 +124,7 @@ public class ForgeConfig quality = new Quality(builder); advancedGraphics = new AdvancedGraphics(builder); fogQuality = new FogQuality(builder); + cloudQuality = new CloudQuality(builder); } builder.pop(); } @@ -213,6 +216,7 @@ public class ForgeConfig public final ForgeConfigSpec.BooleanValue alwaysDrawAtMaxQuality; public final ForgeConfigSpec.EnumValue vanillaOverdraw; public final ForgeConfigSpec.BooleanValue useExtendedNearClipPlane; + public final ForgeConfigSpec.IntValue backsideCullingRange; AdvancedGraphics(ForgeConfigSpec.Builder builder) { @@ -239,11 +243,51 @@ public class ForgeConfig .comment("\n\n" + IAdvancedGraphics.USE_EXTENDED_NEAR_CLIP_PLANE_DESC) .define("Use Extended Near Clip Plane", IAdvancedGraphics.USE_EXTENDED_NEAR_CLIP_PLANE_DEFAULT); - + + MinDefaultMax minDefaultMax = IAdvancedGraphics.VANILLA_CULLING_RANGE_MIN_DEFAULT_MAX; + backsideCullingRange = builder.comment("\n\n" + + IAdvancedGraphics.VANILLA_CULLING_RANGE_DESC) + .defineInRange("Backside Culling Range", minDefaultMax.defaultValue, minDefaultMax.minValue, minDefaultMax.maxValue); builder.pop(); } } + + public static class CloudQuality + { + public final ForgeConfigSpec.BooleanValue customClouds; + public final ForgeConfigSpec.BooleanValue fabulousClouds; + public final ForgeConfigSpec.BooleanValue extendClouds; + public final ForgeConfigSpec.DoubleValue cloudHeight; + + CloudQuality(ForgeConfigSpec.Builder builder) + { + builder.comment(ICloudQuality.DESC).push(this.getClass().getSimpleName()); + + customClouds = builder + .comment("\n\n" + + ICloudQuality.CUSTOM_CLOUDS_DESC) + .define("Custom Clouds", ICloudQuality.CUSTOM_CLOUDS_DEFAULT); + + fabulousClouds = builder + .comment("\n\n" + + ICloudQuality.FABULOUS_CLOUDS_DESC) + .define("Fabulous Clouds", ICloudQuality.FABULOUS_CLOUDS_DEFAULT); + + extendClouds = builder + .comment("\n\n" + + ICloudQuality.EXTEND_CLOUDS_DESC) + .define("Extend Clouds", ICloudQuality.EXTEND_CLOUDS_DEFAULT); + + MinDefaultMax minDefaultMax = ICloudQuality.CLOUD_HEIGHT_MIN_DEFAULT_MAX; + cloudHeight = builder.comment("\n\n" + + ICloudQuality.CLOUD_HEIGHT_DESC) + .defineInRange("Cloud Height", minDefaultMax.defaultValue, minDefaultMax.minValue, minDefaultMax.maxValue); + + builder.pop(); + } + } + } diff --git a/src/main/java/com/seibel/lod/forge/wrappers/config/LodConfigWrapperSingleton.java b/src/main/java/com/seibel/lod/forge/wrappers/config/LodConfigWrapperSingleton.java index 75c6284b9..b7f916bf1 100644 --- a/src/main/java/com/seibel/lod/forge/wrappers/config/LodConfigWrapperSingleton.java +++ b/src/main/java/com/seibel/lod/forge/wrappers/config/LodConfigWrapperSingleton.java @@ -97,6 +97,7 @@ public class LodConfigWrapperSingleton implements ILodConfigWrapperSingleton public final IQuality quality; public final IFogQuality fogQuality; public final IAdvancedGraphics advancedGraphics; + public final ICloudQuality cloudQuality; @@ -117,13 +118,19 @@ public class LodConfigWrapperSingleton implements ILodConfigWrapperSingleton { return advancedGraphics; } - + + @Override + public ICloudQuality cloudQuality() + { + return cloudQuality; + } Graphics() { quality = new Quality(); advancedGraphics = new AdvancedGraphics(); fogQuality = new FogQuality(); + cloudQuality = new CloudQuality(); } @@ -288,6 +295,59 @@ public class LodConfigWrapperSingleton implements ILodConfigWrapperSingleton { ForgeConfig.CLIENT.graphics.advancedGraphics.useExtendedNearClipPlane.set(newUseExtendedNearClipPlane); } + @Override + public int getBacksideCullingRange() { + return ForgeConfig.CLIENT.graphics.advancedGraphics.backsideCullingRange.get(); + } + @Override + public void setBacksideCullingRange(int backsideCullingRange) { + ForgeConfig.CLIENT.graphics.advancedGraphics.backsideCullingRange.set(backsideCullingRange); + } + } + + + public static class CloudQuality implements ICloudQuality { + + @Override + public boolean getCustomClouds() { + return ForgeConfig.CLIENT.graphics.cloudQuality.customClouds.get(); + } + + @Override + public void setCustomClouds(boolean newCustomClouds) { + ForgeConfig.CLIENT.graphics.cloudQuality.customClouds.set(newCustomClouds); + } + + @Override + public boolean getFabulousClouds() { + return ForgeConfig.CLIENT.graphics.cloudQuality.fabulousClouds.get(); + } + + @Override + public void setFabulousClouds(boolean newFabulousClouds) { + ForgeConfig.CLIENT.graphics.cloudQuality.fabulousClouds.set(newFabulousClouds); + } + + @Override + public boolean getExtendClouds() { + return ForgeConfig.CLIENT.graphics.cloudQuality.extendClouds.get(); + } + + @Override + public void setExtendClouds(boolean newExtendClouds) { + ForgeConfig.CLIENT.graphics.cloudQuality.extendClouds.set(newExtendClouds); + } + + @Override + public double getCloudHeight() { + return ForgeConfig.CLIENT.graphics.cloudQuality.cloudHeight.get(); + } + + @Override + public void setCloudHeight(double newCloudHeight) { + ForgeConfig.CLIENT.graphics.cloudQuality.cloudHeight.set(newCloudHeight); + } + } }