aboutsummaryrefslogtreecommitdiff
path: root/src/compat/moulconfig/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/compat/moulconfig/java')
-rw-r--r--src/compat/moulconfig/java/MCConfigEditorIntegration.kt193
-rw-r--r--src/compat/moulconfig/java/ProcessedOptionFirm.kt3
2 files changed, 106 insertions, 90 deletions
diff --git a/src/compat/moulconfig/java/MCConfigEditorIntegration.kt b/src/compat/moulconfig/java/MCConfigEditorIntegration.kt
index dec2559..2d71aa0 100644
--- a/src/compat/moulconfig/java/MCConfigEditorIntegration.kt
+++ b/src/compat/moulconfig/java/MCConfigEditorIntegration.kt
@@ -35,6 +35,7 @@ import net.minecraft.util.Identifier
import net.minecraft.util.StringIdentifiable
import net.minecraft.util.Util
import moe.nea.firmament.Firmament
+import moe.nea.firmament.gui.config.AllConfigsGui
import moe.nea.firmament.gui.config.BooleanHandler
import moe.nea.firmament.gui.config.ChoiceHandler
import moe.nea.firmament.gui.config.ClickHandler
@@ -96,25 +97,27 @@ class MCConfigEditorIntegration : FirmamentConfigScreenProvider {
val mappedSetter = setter.xmap(fromT, toT)
private val delegateI by lazy {
- wrapComponent(RowComponent(
- AlignComponent(
- TextComponent(
- IMinecraft.instance.defaultFontRenderer,
- { formatter(setter.get()) },
- 25,
- TextComponent.TextAlignment.CENTER, false, false
+ wrapComponent(
+ RowComponent(
+ AlignComponent(
+ TextComponent(
+ IMinecraft.instance.defaultFontRenderer,
+ { formatter(setter.get()) },
+ 25,
+ TextComponent.TextAlignment.CENTER, false, false
+ ),
+ GetSetter.constant(HorizontalAlign.CENTER),
+ GetSetter.constant(VerticalAlign.CENTER)
),
- GetSetter.constant(HorizontalAlign.CENTER),
- GetSetter.constant(VerticalAlign.CENTER)
- ),
- SliderComponent(
- mappedSetter,
- fromT(minValue),
- fromT(maxValue),
- minStep,
- 40
+ SliderComponent(
+ mappedSetter,
+ fromT(minValue),
+ fromT(maxValue),
+ minStep,
+ 40
+ )
)
- ))
+ )
}
}
@@ -302,100 +305,110 @@ class MCConfigEditorIntegration : FirmamentConfigScreenProvider {
}
}
- override fun open(parent: Screen?): Screen {
- val configObject = object : Config() {
- override fun saveNow() {
- ManagedConfig.allManagedConfigs.getAll().forEach { it.save() }
- }
+ val configObject = object : Config() {
+ override fun saveNow() {
+ ManagedConfig.allManagedConfigs.getAll().forEach { it.save() }
+ }
- override fun shouldAutoFocusSearchbar(): Boolean {
- return true
- }
+ override fun shouldAutoFocusSearchbar(): Boolean {
+ return true
+ }
+
+ override fun getTitle(): String {
+ return "Firmament ${Firmament.version.friendlyString}"
+ }
+
+ @Deprecated("Deprecated in java")
+ override fun executeRunnable(runnableId: Int) {
+ if (runnableId >= 0)
+ ErrorUtil.softError("Executed runnable $runnableId")
+ }
- override fun getTitle(): String {
- return "Firmament"
+ override fun getDescriptionBehaviour(option: ProcessedOption?): DescriptionRendereringBehaviour {
+ return DescriptionRendereringBehaviour.EXPAND_PANEL
+ }
+
+ fun mkSocial(name: String, identifier: Identifier, link: String) = object : Social() {
+ override fun onClick() {
+ Util.getOperatingSystem().open(URI(link))
}
- @Deprecated("Deprecated in java")
- override fun executeRunnable(runnableId: Int) {
- if (runnableId >= 0)
- ErrorUtil.softError("Executed runnable $runnableId")
+ override fun getTooltip(): List<String> {
+ return listOf(name)
}
- override fun getDescriptionBehaviour(option: ProcessedOption?): DescriptionRendereringBehaviour {
- return DescriptionRendereringBehaviour.EXPAND_PANEL
+ override fun getIcon(): MyResourceLocation {
+ return identifier.toMoulConfig()
}
+ }
- fun mkSocial(name: String, identifier: Identifier, link: String) = object : Social() {
- override fun onClick() {
- Util.getOperatingSystem().open(URI(link))
+ private val socials = listOf<Social>(
+ mkSocial(
+ "Discord", Firmament.identifier("textures/socials/discord.png"),
+ Firmament.modContainer.metadata.contact.get("discord").get()
+ ),
+ mkSocial(
+ "Source Code", Firmament.identifier("textures/socials/git.png"),
+ Firmament.modContainer.metadata.contact.get("sources").get()
+ ),
+ mkSocial(
+ "Modrinth", Firmament.identifier("textures/socials/modrinth.png"),
+ Firmament.modContainer.metadata.contact.get("modrinth").get()
+ ),
+ )
+
+ override fun getSocials(): List<Social> {
+ return socials
+ }
+ }
+ val categories = ManagedConfig.Category.entries.map {
+ val options = mutableListOf<ProcessedOptionFirm>()
+ var nextAccordionId = 720
+ it.configs.forEach { config ->
+ val categoryAccordionId = nextAccordionId++
+ options.add(object : ProcessedOptionFirm(-1, configObject) {
+ override fun getDebugDeclarationLocation(): String {
+ return "FirmamentConfig:${config.name}"
}
- override fun getTooltip(): List<String> {
- return listOf(name)
+ override fun getName(): String {
+ return config.labelText.string
}
- override fun getIcon(): MyResourceLocation {
- return identifier.toMoulConfig()
+ override fun getDescription(): String {
+ return "Missing description"
}
- }
-
- private val socials = listOf<Social>(
- mkSocial("Discord", Firmament.identifier("textures/socials/discord.png"),
- Firmament.modContainer.metadata.contact.get("discord").get()),
- mkSocial("Source Code", Firmament.identifier("textures/socials/git.png"),
- Firmament.modContainer.metadata.contact.get("sources").get()),
- mkSocial("Modrinth", Firmament.identifier("textures/socials/modrinth.png"),
- Firmament.modContainer.metadata.contact.get("modrinth").get()),
- )
-
- override fun getSocials(): List<Social> {
- return socials
- }
- }
- val categories = ManagedConfig.Category.entries.map {
- val options = mutableListOf<ProcessedOptionFirm>()
- var nextAccordionId = 720
- it.configs.forEach { config ->
- val categoryAccordionId = nextAccordionId++
- options.add(object : ProcessedOptionFirm(-1, configObject) {
- override fun getDebugDeclarationLocation(): String {
- return "FirmamentConfig:${config.name}"
- }
-
- override fun getName(): String {
- return config.labelText.string
- }
-
- override fun getDescription(): String {
- return "Missing description"
- }
- override fun get(): Any {
- return Unit
- }
+ override fun get(): Any {
+ return Unit
+ }
- override fun getType(): Type {
- return Unit.javaClass
- }
+ override fun getType(): Type {
+ return Unit.javaClass
+ }
- override fun set(value: Any?): Boolean {
- return false
- }
+ override fun set(value: Any?): Boolean {
+ return false
+ }
- override fun createEditor(): GuiOptionEditor {
- return GuiOptionEditorAccordion(this, categoryAccordionId)
- }
- })
- config.allOptions.forEach { (key, option) ->
- val processedOption = getHandler(option, categoryAccordionId, configObject)
- options.add(processedOption)
+ override fun createEditor(): GuiOptionEditor {
+ return GuiOptionEditorAccordion(this, categoryAccordionId)
}
+ })
+ config.allOptions.forEach { (key, option) ->
+ val processedOption = getHandler(option, categoryAccordionId, configObject)
+ options.add(processedOption)
}
-
- return@map ProcessedCategoryFirm(it, options)
}
+
+ return@map ProcessedCategoryFirm(it, options)
+ }
+
+ override fun open(search: String?, parent: Screen?): Screen {
val editor = MoulConfigEditor(ProcessedCategory.collect(categories), configObject)
+ if (search != null)
+ editor.search(search)
+ editor.setWide(AllConfigsGui.ConfigConfig.enableWideMC)
return GuiElementWrapper(editor) // TODO : add parent support
}
diff --git a/src/compat/moulconfig/java/ProcessedOptionFirm.kt b/src/compat/moulconfig/java/ProcessedOptionFirm.kt
index 4d0096c..6936048 100644
--- a/src/compat/moulconfig/java/ProcessedOptionFirm.kt
+++ b/src/compat/moulconfig/java/ProcessedOptionFirm.kt
@@ -10,6 +10,9 @@ abstract class ProcessedOptionFirm(
private val accordionId: Int,
private val config: Config
) : ProcessedOption {
+ override fun getPath(): String? {
+ return "nonsense"
+ }
lateinit var category: ProcessedCategoryFirm
override fun getAccordionId(): Int {
return accordionId