feat: MoulConfig config gui

This commit is contained in:
Linnea Gräf
2024-11-12 17:02:08 +01:00
parent 9763a4caa4
commit b774daef5b
14 changed files with 691 additions and 22 deletions

View File

@@ -0,0 +1,39 @@
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() {
}
}