From 8f0217185fc2fb9b993dfb37356a8f9f8f5754a3 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Mon, 13 Oct 2025 07:33:27 -0500 Subject: [PATCH] Improve config gui object casting --- .../presets/AbstractPresetConfigEventHandler.java | 7 +++---- .../core/config/gui/IConfigGuiInfo.java | 10 ++++++++++ .../core/config/types/AbstractConfigBase.java | 8 ++++++-- .../distanthorizons/core/config/types/ConfigEntry.java | 2 +- .../core/wrapperInterfaces/config/IConfigGui.java | 1 + 5 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 core/src/main/java/com/seibel/distanthorizons/core/config/gui/IConfigGuiInfo.java diff --git a/core/src/main/java/com/seibel/distanthorizons/core/config/eventHandlers/presets/AbstractPresetConfigEventHandler.java b/core/src/main/java/com/seibel/distanthorizons/core/config/eventHandlers/presets/AbstractPresetConfigEventHandler.java index 0e750128a..cdeabb4f1 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/config/eventHandlers/presets/AbstractPresetConfigEventHandler.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/config/eventHandlers/presets/AbstractPresetConfigEventHandler.java @@ -39,8 +39,7 @@ public abstract class AbstractPresetConfigEventHandler> configList = new ArrayList<>(); /** this timer is used so each preset isn't applied while a user is clicking through the config options */ @@ -59,9 +58,9 @@ public abstract class AbstractPresetConfigEventHandler protected final boolean isFloatingPointNumber; protected T value; - @Deprecated - public Object guiValue; // This is a storage variable something like the gui can use + /** + * This stores information related to the GUI state. + * This is set during config UI setup. + */ + public IConfigGuiInfo guiValue; protected EConfigEntryAppearance appearance; diff --git a/core/src/main/java/com/seibel/distanthorizons/core/config/types/ConfigEntry.java b/core/src/main/java/com/seibel/distanthorizons/core/config/types/ConfigEntry.java index 01b876c82..18de47369 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/config/types/ConfigEntry.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/config/types/ConfigEntry.java @@ -223,7 +223,7 @@ public class ConfigEntry extends AbstractConfigBase /** Checks if the given value is valid */ public EConfigValidity getValidity(@Nullable T value, @Nullable T min, @Nullable T max) { - if (ConfigHandler.INSTANCE.runMinMaxValidation) + if (!ConfigHandler.INSTANCE.runMinMaxValidation) { return EConfigValidity.VALID; } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/config/IConfigGui.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/config/IConfigGui.java index fa72615d9..1dcaf6298 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/config/IConfigGui.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/config/IConfigGui.java @@ -21,6 +21,7 @@ package com.seibel.distanthorizons.core.wrapperInterfaces.config; import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable; +/** handles communication between DH Core and the currently active config screen */ public interface IConfigGui extends IBindable {