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 2cfb8d104..9c21d6233 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 @@ -12,9 +12,11 @@ import java.util.*; public abstract class AbstractPresetConfigEventHandler> implements IConfigListener { private static final Logger LOGGER = LogManager.getLogger(); - + private static final long MS_DELAY_BEFORE_APPLYING_PRESET = 1_000; protected final ArrayList> configList = new ArrayList<>(); + /** this timer is used so each preset isn't applied while a user is clicking through the config options */ + protected Timer presetApplicationTimer; protected boolean changingPreset = false; @@ -38,28 +40,42 @@ public abstract class AbstractPresetConfigEventHandler configEntry : this.configList) { - configEntry.updateConfigEntry(qualityPreset); + configEntry.updateConfigEntry(presetEnum); } this.changingPreset = false; - LOGGER.debug("preset active: "+qualityPreset); - + LOGGER.debug("preset active: "+presetEnum); } + @Override public void onUiModify() { /* do nothing, we only care about modified config values */ }