Add jarvis

This commit is contained in:
nea
2023-07-21 22:10:40 +02:00
parent ce7fd22553
commit 7ac205db0e
5 changed files with 55 additions and 5 deletions

View File

@@ -0,0 +1,37 @@
package moe.nea.firmament.jarvis
import moe.nea.jarvis.api.JarvisConfigOption
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.repo.RepoManager
class JarvisIntegration : JarvisPlugin {
override fun getModId(): String =
Firmament.MOD_ID
override fun getAllConfigOptions(): List<JarvisConfigOption> {
val configs = listOf(
RepoManager.Config
) + FeatureManager.allFeatures.mapNotNull { it.config }
return configs.flatMap { config ->
config.sortedOptions.map {
object : JarvisConfigOption {
override fun title(): Text {
return it.labelText
}
override fun description(): List<Text> {
return emptyList()
}
override fun jumpTo(parentScreen: Screen?): Screen {
return config.getConfigEditor(parentScreen)
}
}
}
}
}
}