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 { return emptyArray() } override fun getEditor(): GuiOptionEditor { return editorInstance } override fun getCategory(): ProcessedCategory { return category } override fun getConfig(): Config { return config } override fun explicitNotifyChange() { } }