aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/gui/config/ChoiceHandler.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/gui/config/ChoiceHandler.kt')
-rw-r--r--src/main/kotlin/gui/config/ChoiceHandler.kt7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/kotlin/gui/config/ChoiceHandler.kt b/src/main/kotlin/gui/config/ChoiceHandler.kt
index 2ea3efc..494d08a 100644
--- a/src/main/kotlin/gui/config/ChoiceHandler.kt
+++ b/src/main/kotlin/gui/config/ChoiceHandler.kt
@@ -7,16 +7,17 @@ import io.github.notenoughupdates.moulconfig.gui.component.RowComponent
import io.github.notenoughupdates.moulconfig.gui.component.TextComponent
import kotlinx.serialization.json.JsonElement
import kotlin.jvm.optionals.getOrNull
-import net.minecraft.util.StringIdentifiable
+import net.minecraft.util.StringRepresentable
import moe.nea.firmament.gui.CheckboxComponent
import moe.nea.firmament.util.ErrorUtil
+import moe.nea.firmament.util.data.ManagedConfig
import moe.nea.firmament.util.json.KJsonOps
class ChoiceHandler<E>(
val enumClass: Class<E>,
val universe: List<E>,
-) : ManagedConfig.OptionHandler<E> where E : Enum<E>, E : StringIdentifiable {
- val codec = StringIdentifiable.createCodec {
+) : ManagedConfig.OptionHandler<E> where E : Enum<E>, E : StringRepresentable {
+ val codec = StringRepresentable.fromEnum {
@Suppress("UNCHECKED_CAST", "PLATFORM_CLASS_MAPPED_TO_KOTLIN")
(universe as java.util.List<*>).toArray(arrayOfNulls<Enum<E>>(0)) as Array<E>
}