diff options
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/jarvis')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/jarvis/JarvisIntegration.kt | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/jarvis/JarvisIntegration.kt b/src/main/kotlin/moe/nea/firmament/jarvis/JarvisIntegration.kt index 3dfb7d0..f691dba 100644 --- a/src/main/kotlin/moe/nea/firmament/jarvis/JarvisIntegration.kt +++ b/src/main/kotlin/moe/nea/firmament/jarvis/JarvisIntegration.kt @@ -1,21 +1,42 @@ package moe.nea.firmament.jarvis +import moe.nea.jarvis.api.Jarvis import moe.nea.jarvis.api.JarvisConfigOption +import moe.nea.jarvis.api.JarvisHud import moe.nea.jarvis.api.JarvisPlugin import net.minecraft.client.gui.screen.Screen import net.minecraft.text.Text import moe.nea.firmament.Firmament import moe.nea.firmament.features.FeatureManager +import moe.nea.firmament.gui.config.HudMeta +import moe.nea.firmament.gui.config.HudMetaHandler import moe.nea.firmament.repo.RepoManager class JarvisIntegration : JarvisPlugin { override fun getModId(): String = Firmament.MOD_ID - override fun getAllConfigOptions(): List<JarvisConfigOption> { - val configs = listOf( + companion object { + lateinit var jarvis: Jarvis + } + + override fun onInitialize(jarvis: Jarvis) { + Companion.jarvis = jarvis + } + + val configs + get() = listOf( RepoManager.Config ) + FeatureManager.allFeatures.mapNotNull { it.config } + + + override fun getAllHuds(): List<JarvisHud> { + return configs.flatMap { config -> + config.sortedOptions.mapNotNull { if (it.handler is HudMetaHandler) it.value as HudMeta else null } + } + } + + override fun getAllConfigOptions(): List<JarvisConfigOption> { return configs.flatMap { config -> config.sortedOptions.map { object : JarvisConfigOption { |