Revert "remove IConfigEntry.setWithoutSaving()"

This reverts commit d992bd05f4.
This commit is contained in:
James Seibel
2023-06-04 21:45:21 -05:00
parent a49a81be14
commit 4b29e96686
3 changed files with 15 additions and 6 deletions
@@ -23,6 +23,9 @@ public interface IConfigEntry<T>
T get();
T getTrueValue();
/** Sets the value without saving */
void setWithoutSaving(T newValue);
/** Gets the min value */
T getMin();
/** Sets the min value */
@@ -124,16 +124,16 @@ public class ConfigFileHandling {
if (workConfig.contains(entry.getNameWCategory())) {
try {
if (entry.getType().isEnum()) {
entry.set((T) ( workConfig.getEnum(entry.getNameWCategory(), (Class<? extends Enum>) entry.getType()) ));
entry.setWithoutSaving((T) ( workConfig.getEnum(entry.getNameWCategory(), (Class<? extends Enum>) entry.getType()) ));
} else if (ConfigTypeConverters.convertObjects.containsKey(entry.getType())) {
entry.set((T) ConfigTypeConverters.convertFromString(entry.getType(), workConfig.get(entry.getNameWCategory())));
entry.setWithoutSaving((T) ConfigTypeConverters.convertFromString(entry.getType(), workConfig.get(entry.getNameWCategory())));
} else {
if (entry.getType() == workConfig.get(entry.getNameWCategory()).getClass()) { // If the types are the same
entry.set((T) workConfig.get(entry.getNameWCategory()));
entry.setWithoutSaving((T) workConfig.get(entry.getNameWCategory()));
if (entry.isValid() == 0) return;
else if (entry.isValid() == -1) entry.set(entry.getMin());
else if (entry.isValid() == 1) entry.set(entry.getMax());
else if (entry.isValid() == -1) entry.setWithoutSaving(entry.getMin());
else if (entry.isValid() == 1) entry.setWithoutSaving(entry.getMax());
} else {
LOGGER.warn("Entry ["+ entry.getNameWCategory() +"] is invalid. Expected " + entry.getType() + " but got " + workConfig.get(entry.getNameWCategory()).getClass() + ". Using default value.");
saveEntry(entry, workConfig);
@@ -89,7 +89,13 @@ public class ConfigEntry<T> extends AbstractConfigType<T, ConfigEntry<T>> implem
public T getTrueValue() {
return super.get();
}
/** Sets the value without saving */
@Override
public void setWithoutSaving(T newValue) {
super.set(newValue);
}
/** Gets the min value */
@Override
public T getMin() {