From 751ce4afefafd2f6bd3521aee0f495180562a4b9 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Wed, 1 Dec 2021 22:40:49 -0600 Subject: [PATCH] Update the config --- core | 2 +- .../com/seibel/lod/forge/ForgeConfig.java | 76 ++++++------ .../config/LodConfigWrapperSingleton.java | 112 +++++++++--------- .../wrappers/minecraft/MinecraftWrapper.java | 5 +- 4 files changed, 97 insertions(+), 98 deletions(-) diff --git a/core b/core index 9b7d3c083..a3d4163b6 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 9b7d3c083fbfe0a8bafe8690f5b8fb963188d71c +Subproject commit a3d4163b67aa1cb71b8980c98605756ee0e78cfc diff --git a/src/main/java/com/seibel/lod/forge/ForgeConfig.java b/src/main/java/com/seibel/lod/forge/ForgeConfig.java index 10b2ceed6..5b8fbda69 100644 --- a/src/main/java/com/seibel/lod/forge/ForgeConfig.java +++ b/src/main/java/com/seibel/lod/forge/ForgeConfig.java @@ -63,7 +63,7 @@ import net.minecraftforge.fml.config.ModConfig; * This handles any configuration the user has access to. * @author Leonardo Amato * @author James Seibel - * @version 11-29-2021 + * @version 12-1-2021 */ @Mod.EventBusSubscriber public class ForgeConfig @@ -72,13 +72,13 @@ public class ForgeConfig // -> Client // | // |-> Graphics - // | |-> QualityOption - // | |-> FogQualityOption - // | |-> AdvancedGraphicsOption + // | |-> Quality + // | |-> FogQuality + // | |-> AdvancedGraphics // | // |-> World Generation // | - // |-> Advanced Mod Option + // |-> Advanced // |-> Threads // |-> Buffers // |-> Debugging @@ -89,7 +89,7 @@ public class ForgeConfig { public final Graphics graphics; public final WorldGenerator worldGenerator; - public final AdvancedModOptions advancedModOptions; + public final Advanced advanced; //================// @@ -101,7 +101,7 @@ public class ForgeConfig { graphics = new Graphics(builder); worldGenerator = new WorldGenerator(builder); - advancedModOptions = new AdvancedModOptions(builder); + advanced = new Advanced(builder); } builder.pop(); } @@ -112,23 +112,23 @@ public class ForgeConfig //==================// public static class Graphics { - public final QualityOption qualityOption; - public final FogQualityOption fogQuality; - public final AdvancedGraphicsOption advancedGraphicsOption; + public final Quality quality; + public final FogQuality fogQuality; + public final AdvancedGraphics advancedGraphics; Graphics(ForgeConfigSpec.Builder builder) { builder.comment(IGraphics.DESC).push("Graphics"); { - qualityOption = new QualityOption(builder); - advancedGraphicsOption = new AdvancedGraphicsOption(builder); - fogQuality = new FogQualityOption(builder); + quality = new Quality(builder); + advancedGraphics = new AdvancedGraphics(builder); + fogQuality = new FogQuality(builder); } builder.pop(); } - public static class QualityOption + public static class Quality { public final ForgeConfigSpec.EnumValue drawResolution; public final ForgeConfigSpec.IntValue lodChunkRenderDistance; @@ -136,7 +136,7 @@ public class ForgeConfig public final ForgeConfigSpec.EnumValue horizontalScale; public final ForgeConfigSpec.EnumValue horizontalQuality; - QualityOption(ForgeConfigSpec.Builder builder) + Quality(ForgeConfigSpec.Builder builder) { builder.comment(IQuality.DESC).push(this.getClass().getSimpleName()); @@ -171,14 +171,14 @@ public class ForgeConfig } - public static class FogQualityOption + public static class FogQuality { public final ForgeConfigSpec.EnumValue fogDistance; public final ForgeConfigSpec.EnumValue fogDrawMode; public final ForgeConfigSpec.EnumValue fogColorMode; public final ForgeConfigSpec.BooleanValue disableVanillaFog; - FogQualityOption(ForgeConfigSpec.Builder builder) + FogQuality(ForgeConfigSpec.Builder builder) { builder.comment(IFogQuality.DESC).push(this.getClass().getSimpleName()); @@ -207,17 +207,15 @@ public class ForgeConfig } - public static class AdvancedGraphicsOption + public static class AdvancedGraphics { public final ForgeConfigSpec.EnumValue lodTemplate; public final ForgeConfigSpec.BooleanValue disableDirectionalCulling; public final ForgeConfigSpec.BooleanValue alwaysDrawAtMaxQuality; public final ForgeConfigSpec.EnumValue vanillaOverdraw; - public final ForgeConfigSpec.EnumValue gpuUploadMethod; - public final ForgeConfigSpec.IntValue gpuUploadTimeoutInMilleseconds; public final ForgeConfigSpec.BooleanValue useExtendedNearClipPlane; - AdvancedGraphicsOption(ForgeConfigSpec.Builder builder) + AdvancedGraphics(ForgeConfigSpec.Builder builder) { builder.comment(IAdvancedGraphics.DESC).push(this.getClass().getSimpleName()); @@ -241,17 +239,6 @@ public class ForgeConfig + IAdvancedGraphics.VANILLA_OVERDRAW_DESC) .defineEnum("Vanilla Overdraw", IAdvancedGraphics.VANILLA_OVERDRAW_DEFAULT); - gpuUploadMethod = builder - .comment("\n\n" - + IAdvancedGraphics.GPU_UPLOAD_METHOD_DESC) - .defineEnum("GPU Upload Method", IAdvancedGraphics.GPU_UPLOAD_METHOD_DEFAULT); - - MinDefaultMax minDefaultMax = IAdvancedGraphics.GPU_UPLOAD_TIMEOUT_IN_MILLISECONDS_DEFAULT; - gpuUploadTimeoutInMilleseconds = builder - .comment("\n\n" - + IAdvancedGraphics.GPU_UPLOAD_TIMEOUT_IN_MILLISECONDS_DESC) - .defineInRange("GPU Upload Timeout in Milleseconds", minDefaultMax.defaultValue, minDefaultMax.minValue, minDefaultMax.maxValue); - // This is a temporary fix (like vanilla overdraw) // hopefully we can remove both once we get individual chunk rendering figured out useExtendedNearClipPlane = builder @@ -315,16 +302,16 @@ public class ForgeConfig - //============================// - // AdvancedModOptions Configs // - //============================// - public static class AdvancedModOptions + //==================// + // Advanced Configs // + //==================// + public static class Advanced { public final Threading threading; public final Debugging debugging; public final Buffers buffers; - public AdvancedModOptions(ForgeConfigSpec.Builder builder) + public Advanced(ForgeConfigSpec.Builder builder) { builder.comment(IAdvanced.DESC).push(this.getClass().getSimpleName()); { @@ -399,12 +386,27 @@ public class ForgeConfig public static class Buffers { + + public final ForgeConfigSpec.EnumValue gpuUploadMethod; + public final ForgeConfigSpec.IntValue gpuUploadTimeoutInMilleseconds; public final ForgeConfigSpec.EnumValue rebuildTimes; Buffers(ForgeConfigSpec.Builder builder) { builder.comment(IBuffers.DESC).push(this.getClass().getSimpleName()); + gpuUploadMethod = builder + .comment("\n\n" + + IBuffers.GPU_UPLOAD_METHOD_DESC) + .defineEnum("GPU Upload Method", IBuffers.GPU_UPLOAD_METHOD_DEFAULT); + + MinDefaultMax minDefaultMax = IBuffers.GPU_UPLOAD_TIMEOUT_IN_MILLISECONDS_DEFAULT; + gpuUploadTimeoutInMilleseconds = builder + .comment("\n\n" + + IBuffers.GPU_UPLOAD_TIMEOUT_IN_MILLISECONDS_DESC) + .defineInRange("GPU Upload Timeout in Milleseconds", minDefaultMax.defaultValue, minDefaultMax.minValue, minDefaultMax.maxValue); + + rebuildTimes = builder .comment("\n\n" + IBuffers.REBUILD_TIMES_DESC) 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 fdd853d05..adc4a35e1 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 @@ -134,60 +134,60 @@ public class LodConfigWrapperSingleton implements ILodConfigWrapperSingleton @Override public HorizontalResolution getDrawResolution() { - return ForgeConfig.CLIENT.graphics.qualityOption.drawResolution.get(); + return ForgeConfig.CLIENT.graphics.quality.drawResolution.get(); } @Override public void setDrawResolution(HorizontalResolution newHorizontalResolution) { - ForgeConfig.CLIENT.graphics.qualityOption.drawResolution.set(newHorizontalResolution); + ForgeConfig.CLIENT.graphics.quality.drawResolution.set(newHorizontalResolution); } @Override public int getLodChunkRenderDistance() { - return ForgeConfig.CLIENT.graphics.qualityOption.lodChunkRenderDistance.get(); + return ForgeConfig.CLIENT.graphics.quality.lodChunkRenderDistance.get(); } @Override public void setLodChunkRenderDistance(int newLodChunkRenderDistance) { - ForgeConfig.CLIENT.graphics.qualityOption.lodChunkRenderDistance.set(newLodChunkRenderDistance); + ForgeConfig.CLIENT.graphics.quality.lodChunkRenderDistance.set(newLodChunkRenderDistance); } @Override public VerticalQuality getVerticalQuality() { - return ForgeConfig.CLIENT.graphics.qualityOption.verticalQuality.get(); + return ForgeConfig.CLIENT.graphics.quality.verticalQuality.get(); } @Override public void setVerticalQuality(VerticalQuality newVerticalQuality) { - ForgeConfig.CLIENT.graphics.qualityOption.verticalQuality.set(newVerticalQuality); + ForgeConfig.CLIENT.graphics.quality.verticalQuality.set(newVerticalQuality); } @Override public HorizontalScale getHorizontalScale() { - return ForgeConfig.CLIENT.graphics.qualityOption.horizontalScale.get(); + return ForgeConfig.CLIENT.graphics.quality.horizontalScale.get(); } @Override public void setHorizontalScale(HorizontalScale newHorizontalScale) { - ForgeConfig.CLIENT.graphics.qualityOption.horizontalScale.set(newHorizontalScale); + ForgeConfig.CLIENT.graphics.quality.horizontalScale.set(newHorizontalScale); } @Override public HorizontalQuality getHorizontalQuality() { - return ForgeConfig.CLIENT.graphics.qualityOption.horizontalQuality.get(); + return ForgeConfig.CLIENT.graphics.quality.horizontalQuality.get(); } @Override public void setHorizontalQuality(HorizontalQuality newHorizontalQuality) { - ForgeConfig.CLIENT.graphics.qualityOption.horizontalQuality.set(newHorizontalQuality); + ForgeConfig.CLIENT.graphics.quality.horizontalQuality.set(newHorizontalQuality); } } @@ -248,84 +248,60 @@ public class LodConfigWrapperSingleton implements ILodConfigWrapperSingleton @Override public LodTemplate getLodTemplate() { - return ForgeConfig.CLIENT.graphics.advancedGraphicsOption.lodTemplate.get(); + return ForgeConfig.CLIENT.graphics.advancedGraphics.lodTemplate.get(); } @Override public void setLodTemplate(LodTemplate newLodTemplate) { - ForgeConfig.CLIENT.graphics.advancedGraphicsOption.lodTemplate.set(newLodTemplate); + ForgeConfig.CLIENT.graphics.advancedGraphics.lodTemplate.set(newLodTemplate); } @Override public boolean getDisableDirectionalCulling() { - return ForgeConfig.CLIENT.graphics.advancedGraphicsOption.disableDirectionalCulling.get(); + return ForgeConfig.CLIENT.graphics.advancedGraphics.disableDirectionalCulling.get(); } @Override public void setDisableDirectionalCulling(boolean newDisableDirectionalCulling) { - ForgeConfig.CLIENT.graphics.advancedGraphicsOption.disableDirectionalCulling.set(newDisableDirectionalCulling); + ForgeConfig.CLIENT.graphics.advancedGraphics.disableDirectionalCulling.set(newDisableDirectionalCulling); } @Override public boolean getAlwaysDrawAtMaxQuality() { - return ForgeConfig.CLIENT.graphics.advancedGraphicsOption.alwaysDrawAtMaxQuality.get(); + return ForgeConfig.CLIENT.graphics.advancedGraphics.alwaysDrawAtMaxQuality.get(); } @Override public void setAlwaysDrawAtMaxQuality(boolean newAlwaysDrawAtMaxQuality) { - ForgeConfig.CLIENT.graphics.advancedGraphicsOption.alwaysDrawAtMaxQuality.set(newAlwaysDrawAtMaxQuality); + ForgeConfig.CLIENT.graphics.advancedGraphics.alwaysDrawAtMaxQuality.set(newAlwaysDrawAtMaxQuality); } @Override public VanillaOverdraw getVanillaOverdraw() { - return ForgeConfig.CLIENT.graphics.advancedGraphicsOption.vanillaOverdraw.get(); + return ForgeConfig.CLIENT.graphics.advancedGraphics.vanillaOverdraw.get(); } @Override public void setVanillaOverdraw(VanillaOverdraw newVanillaOverdraw) { - ForgeConfig.CLIENT.graphics.advancedGraphicsOption.vanillaOverdraw.set(newVanillaOverdraw); - } - - - @Override - public GpuUploadMethod getGpuUploadMethod() - { - return ForgeConfig.CLIENT.graphics.advancedGraphicsOption.gpuUploadMethod.get(); - } - @Override - public void setGpuUploadMethod(GpuUploadMethod newDisableVanillaFog) - { - ForgeConfig.CLIENT.graphics.advancedGraphicsOption.gpuUploadMethod.set(newDisableVanillaFog); - } - - - @Override - public int getGpuUploadTimeoutInMilliseconds() - { - return ForgeConfig.CLIENT.graphics.advancedGraphicsOption.gpuUploadTimeoutInMilleseconds.get(); - } - @Override - public void setGpuUploadTimeoutInMilliseconds(int newTimeoutInMilliseconds) - { - ForgeConfig.CLIENT.graphics.advancedGraphicsOption.gpuUploadTimeoutInMilleseconds.set(newTimeoutInMilliseconds); + ForgeConfig.CLIENT.graphics.advancedGraphics.vanillaOverdraw.set(newVanillaOverdraw); } @Override public boolean getUseExtendedNearClipPlane() { - return ForgeConfig.CLIENT.graphics.advancedGraphicsOption.useExtendedNearClipPlane.get(); + return ForgeConfig.CLIENT.graphics.advancedGraphics.useExtendedNearClipPlane.get(); } @Override public void setUseExtendedNearClipPlane(boolean newUseExtendedNearClipPlane) { - ForgeConfig.CLIENT.graphics.advancedGraphicsOption.useExtendedNearClipPlane.set(newUseExtendedNearClipPlane); + ForgeConfig.CLIENT.graphics.advancedGraphics.useExtendedNearClipPlane.set(newUseExtendedNearClipPlane); } } } @@ -432,24 +408,24 @@ public class LodConfigWrapperSingleton implements ILodConfigWrapperSingleton @Override public int getNumberOfWorldGenerationThreads() { - return ForgeConfig.CLIENT.advancedModOptions.threading.numberOfWorldGenerationThreads.get(); + return ForgeConfig.CLIENT.advanced.threading.numberOfWorldGenerationThreads.get(); } @Override public void setNumberOfWorldGenerationThreads(int newNumberOfWorldGenerationThreads) { - ForgeConfig.CLIENT.advancedModOptions.threading.numberOfWorldGenerationThreads.set(newNumberOfWorldGenerationThreads); + ForgeConfig.CLIENT.advanced.threading.numberOfWorldGenerationThreads.set(newNumberOfWorldGenerationThreads); } @Override public int getNumberOfBufferBuilderThreads() { - return ForgeConfig.CLIENT.advancedModOptions.threading.numberOfBufferBuilderThreads.get(); + return ForgeConfig.CLIENT.advanced.threading.numberOfBufferBuilderThreads.get(); } @Override public void setNumberOfBufferBuilderThreads(int newNumberOfWorldBuilderThreads) { - ForgeConfig.CLIENT.advancedModOptions.threading.numberOfBufferBuilderThreads.set(newNumberOfWorldBuilderThreads); + ForgeConfig.CLIENT.advanced.threading.numberOfBufferBuilderThreads.set(newNumberOfWorldBuilderThreads); } } @@ -464,51 +440,75 @@ public class LodConfigWrapperSingleton implements ILodConfigWrapperSingleton @Override public boolean getDrawLods() { - return ForgeConfig.CLIENT.advancedModOptions.debugging.drawLods.get(); + return ForgeConfig.CLIENT.advanced.debugging.drawLods.get(); } @Override public void setDrawLods(boolean newDrawLods) { - ForgeConfig.CLIENT.advancedModOptions.debugging.drawLods.set(newDrawLods); + ForgeConfig.CLIENT.advanced.debugging.drawLods.set(newDrawLods); } @Override public DebugMode getDebugMode() { - return ForgeConfig.CLIENT.advancedModOptions.debugging.debugMode.get(); + return ForgeConfig.CLIENT.advanced.debugging.debugMode.get(); } @Override public void setDebugMode(DebugMode newDebugMode) { - ForgeConfig.CLIENT.advancedModOptions.debugging.debugMode.set(newDebugMode); + ForgeConfig.CLIENT.advanced.debugging.debugMode.set(newDebugMode); } @Override public boolean getDebugKeybindingsEnabled() { - return ForgeConfig.CLIENT.advancedModOptions.debugging.enableDebugKeybindings.get(); + return ForgeConfig.CLIENT.advanced.debugging.enableDebugKeybindings.get(); } @Override public void setDebugKeybindingsEnabled(boolean newEnableDebugKeybindings) { - ForgeConfig.CLIENT.advancedModOptions.debugging.enableDebugKeybindings.set(newEnableDebugKeybindings); + ForgeConfig.CLIENT.advanced.debugging.enableDebugKeybindings.set(newEnableDebugKeybindings); } } public static class Buffers implements IBuffers { + @Override + public GpuUploadMethod getGpuUploadMethod() + { + return ForgeConfig.CLIENT.advanced.buffers.gpuUploadMethod.get(); + } + @Override + public void setGpuUploadMethod(GpuUploadMethod newDisableVanillaFog) + { + ForgeConfig.CLIENT.advanced.buffers.gpuUploadMethod.set(newDisableVanillaFog); + } + + + @Override + public int getGpuUploadTimeoutInMilliseconds() + { + return ForgeConfig.CLIENT.advanced.buffers.gpuUploadTimeoutInMilleseconds.get(); + } + @Override + public void setGpuUploadTimeoutInMilliseconds(int newTimeoutInMilliseconds) + { + ForgeConfig.CLIENT.advanced.buffers.gpuUploadTimeoutInMilleseconds.set(newTimeoutInMilliseconds); + } + + @Override public BufferRebuildTimes getRebuildTimes() { - return ForgeConfig.CLIENT.advancedModOptions.buffers.rebuildTimes.get(); + return ForgeConfig.CLIENT.advanced.buffers.rebuildTimes.get(); } @Override public void setRebuildTimes(BufferRebuildTimes newBufferRebuildTimes) { - ForgeConfig.CLIENT.advancedModOptions.buffers.rebuildTimes.set(newBufferRebuildTimes); + ForgeConfig.CLIENT.advanced.buffers.rebuildTimes.set(newBufferRebuildTimes); } } } diff --git a/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftWrapper.java b/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftWrapper.java index 993214672..ce4bec53c 100644 --- a/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftWrapper.java +++ b/src/main/java/com/seibel/lod/forge/wrappers/minecraft/MinecraftWrapper.java @@ -60,8 +60,6 @@ import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.DimensionType; import net.minecraft.world.server.ServerWorld; -import javax.annotation.Nullable; - /** * A singleton that wraps the Minecraft class * to allow for easier movement between Minecraft versions. @@ -277,8 +275,7 @@ public class MinecraftWrapper implements IMinecraftWrapper } return WorldWrapper.getWorldWrapper(serverWorld); } - - @Nullable + @Override public IWorldWrapper getWrappedClientWorld() {