From 1db554cb5a24791f63a564f961511f313dd9e8d7 Mon Sep 17 00:00:00 2001 From: JFronny Date: Thu, 1 Jul 2021 16:17:38 +0200 Subject: [PATCH] Hopefully fix enum defaults --- gradle.properties | 2 +- .../jfronny/respackopts/data/entry/ConfigEntry.java | 9 ++++++--- .../jfronny/respackopts/gson/EnumEntrySerializer.java | 5 +++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index a0d4aca..34a082b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.17 yarn_mappings=build.1 loader_version=0.11.3 # Mod Properties -mod_version=2.1.0 +mod_version=2.1.1 maven_group=io.gitlab.jfronny archives_base_name=respackopts diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigEntry.java b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigEntry.java index 918aa9a..8e39674 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigEntry.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigEntry.java @@ -1,5 +1,6 @@ package io.gitlab.jfronny.respackopts.data.entry; +import io.gitlab.jfronny.respackopts.Respackopts; import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; import net.minecraft.text.Text; @@ -18,7 +19,7 @@ public abstract class ConfigEntry { public T getValue() { if (value == null) - value = defaultValue; + value = getDefault(); return value; } @@ -28,8 +29,10 @@ public abstract class ConfigEntry { } public T getDefault() { - if (defaultValue == null) - defaultValue = value; + if (defaultValue == null) { + defaultValue = getValue(); + Respackopts.LOGGER.warn("No default value set for entry, using current"); + } return defaultValue; } diff --git a/src/main/java/io/gitlab/jfronny/respackopts/gson/EnumEntrySerializer.java b/src/main/java/io/gitlab/jfronny/respackopts/gson/EnumEntrySerializer.java index d58c7ae..0316b75 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/gson/EnumEntrySerializer.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gson/EnumEntrySerializer.java @@ -1,6 +1,7 @@ package io.gitlab.jfronny.respackopts.gson; import com.google.gson.*; +import io.gitlab.jfronny.respackopts.Respackopts; import io.gitlab.jfronny.respackopts.data.entry.ConfigEnumEntry; import java.lang.reflect.Type; @@ -36,6 +37,10 @@ public class EnumEntrySerializer implements JsonSerializer, Jso else throw new JsonSyntaxException("Expected string entry in enum"); } + if (result.values.isEmpty()) + Respackopts.LOGGER.warn("Enum entry empty"); + else + result.setDefault(result.values.get(0)); return result; } else