Files
Firmament/src/compat/moulconfig/java/ProcessedOptionFirm.kt
2024-11-12 17:02:08 +01:00

40 lines
1.0 KiB
Kotlin

package moe.nea.firmament.compat.moulconfig
import io.github.notenoughupdates.moulconfig.Config
import io.github.notenoughupdates.moulconfig.annotations.SearchTag
import io.github.notenoughupdates.moulconfig.gui.GuiOptionEditor
import io.github.notenoughupdates.moulconfig.processor.ProcessedCategory
import io.github.notenoughupdates.moulconfig.processor.ProcessedOption
abstract class ProcessedOptionFirm(
private val accordionId: Int,
private val config: Config
) : ProcessedOption {
lateinit var category: ProcessedCategoryFirm
override fun getAccordionId(): Int {
return accordionId
}
protected abstract fun createEditor(): GuiOptionEditor
val editorInstance by lazy { createEditor() }
override fun getSearchTags(): Array<SearchTag> {
return emptyArray()
}
override fun getEditor(): GuiOptionEditor {
return editorInstance
}
override fun getCategory(): ProcessedCategory {
return category
}
override fun getConfig(): Config {
return config
}
override fun explicitNotifyChange() {
}
}