User: joe Date: 01 Mar 23 20:44 Revision: 3b75c9e8cc1ae79c5cab6c7879e02107e2bd52ca Summary: Merge branch '2022.2' into 2022.3 # Conflicts: # src/main/kotlin/platform/fabric/creator/ui-steps.kt TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8362&personal=false Index: gradle.properties =================================================================== --- gradle.properties (revision 767b00553a60962bff8fb8e12354e8907b0df7de) +++ gradle.properties (revision 3b75c9e8cc1ae79c5cab6c7879e02107e2bd52ca) @@ -14,7 +14,7 @@ ideaVersion = 2022.3 ideaVersionName = 2022.3 -coreVersion = 1.6.0 +coreVersion = 1.6.1 downloadIdeaSources = true pluginTomlVersion = 223.7571.59 Index: src/main/kotlin/platform/architectury/creator/ui-steps.kt =================================================================== --- src/main/kotlin/platform/architectury/creator/ui-steps.kt (revision 767b00553a60962bff8fb8e12354e8907b0df7de) +++ src/main/kotlin/platform/architectury/creator/ui-steps.kt (revision 3b75c9e8cc1ae79c5cab6c7879e02107e2bd52ca) @@ -22,6 +22,7 @@ import com.demonwav.mcdev.creator.step.NewProjectWizardChainStep.Companion.nextStep import com.demonwav.mcdev.creator.step.RepositoryStep import com.demonwav.mcdev.creator.step.UseMixinsStep +import com.demonwav.mcdev.creator.step.VersionChainComboBox import com.demonwav.mcdev.creator.step.WebsiteStep import com.demonwav.mcdev.platform.architectury.ArchitecturyVersion import com.demonwav.mcdev.platform.fabric.util.FabricApiVersions @@ -34,7 +35,6 @@ import com.intellij.openapi.observable.util.bindBooleanStorage import com.intellij.openapi.observable.util.transform import com.intellij.openapi.project.Project -import com.intellij.openapi.ui.ComboBox import com.intellij.openapi.util.Key import com.intellij.ui.JBColor import com.intellij.ui.dsl.builder.Cell @@ -128,7 +128,7 @@ .bindBooleanStorage("${javaClass.name}.useArchApi") private var useArchApi by useArchApiProperty - override fun createComboBox(row: Row, index: Int, items: List>): Cell>> { + override fun createComboBox(row: Row, index: Int, items: List>): Cell { return when (index) { FABRIC_API_VERSION -> { val comboBox = super.createComboBox(row, index, items).bindEnabled(useFabricApiProperty) Index: src/main/kotlin/platform/fabric/creator/ui-steps.kt =================================================================== --- src/main/kotlin/platform/fabric/creator/ui-steps.kt (revision 767b00553a60962bff8fb8e12354e8907b0df7de) +++ src/main/kotlin/platform/fabric/creator/ui-steps.kt (revision 3b75c9e8cc1ae79c5cab6c7879e02107e2bd52ca) @@ -21,6 +21,7 @@ import com.demonwav.mcdev.creator.step.NewProjectWizardChainStep.Companion.nextStep import com.demonwav.mcdev.creator.step.RepositoryStep import com.demonwav.mcdev.creator.step.UseMixinsStep +import com.demonwav.mcdev.creator.step.VersionChainComboBox import com.demonwav.mcdev.creator.step.WaitForSmartModeStep import com.demonwav.mcdev.creator.step.WebsiteStep import com.demonwav.mcdev.platform.fabric.util.FabricApiVersions @@ -33,9 +34,9 @@ import com.intellij.ide.wizard.NewProjectWizardStep import com.intellij.openapi.observable.util.bindBooleanStorage import com.intellij.openapi.observable.util.bindStorage +import com.intellij.openapi.observable.util.not import com.intellij.openapi.observable.util.transform import com.intellij.openapi.project.Project -import com.intellij.openapi.ui.ComboBox import com.intellij.openapi.util.Key import com.intellij.ui.JBColor import com.intellij.ui.dsl.builder.Cell @@ -93,6 +94,7 @@ val LOADER_VERSION_KEY = Key.create("${FabricVersionChainStep::class.java.name}.loaderVersion") val YARN_VERSION_KEY = Key.create("${FabricVersionChainStep::class.java.name}.yarnVersion") val API_VERSION_KEY = Key.create("${FabricVersionChainStep::class.java.name}.apiVersion") + val OFFICIAL_MAPPINGS_KEY = Key.create("${FabricVersionChainStep::class.java.name}.officialMappings") } private val showSnapshotsProperty = propertyGraph.property(false) @@ -103,6 +105,10 @@ .bindBooleanStorage("${javaClass.name}.useApi") private var useApi by useApiProperty + private val useOfficialMappingsProperty = propertyGraph.property(false) + .bindBooleanStorage("${javaClass.name}.useOfficialMappings") + private var useOfficialMappings by useOfficialMappingsProperty + init { showSnapshotsProperty.afterChange { updateVersionBox() } } @@ -113,7 +119,7 @@ } } - override fun createComboBox(row: Row, index: Int, items: List>): Cell>> { + override fun createComboBox(row: Row, index: Int, items: List>): Cell { return when (index) { MINECRAFT_VERSION -> { val comboBox = super.createComboBox(row, index, items) @@ -121,7 +127,8 @@ comboBox } YARN_VERSION -> { - val comboBox = super.createComboBox(row, index, items) + val comboBox = super.createComboBox(row, index, items).bindEnabled(useOfficialMappingsProperty.not()) + row.checkBox("Use Official Mappings").bindSelected(useOfficialMappingsProperty) row.label("").bindText( getVersionProperty(MINECRAFT_VERSION).transform { mcVersion -> mcVersion as FabricMcVersion @@ -132,7 +139,7 @@ "Unable to match Yarn versions to Minecraft version" } }, - ).component.foreground = JBColor.YELLOW + ).bindEnabled(useOfficialMappingsProperty.not()).component.foreground = JBColor.YELLOW comboBox } API_VERSION -> { @@ -187,12 +194,7 @@ private fun updateVersionBox() { val versionBox = getVersionBox(MINECRAFT_VERSION) ?: return val selectedItem = versionBox.selectedItem - versionBox.removeAllItems() - for (gameVer in mcVersions) { - if (showSnapshots || gameVer.stable) { - versionBox.addItem(gameVer) - } - } + versionBox.setSelectableItems(mcVersions.filter { gameVer -> showSnapshots || gameVer.stable }) versionBox.selectedItem = selectedItem } @@ -204,6 +206,7 @@ if (useApi) { data.putUserData(API_VERSION_KEY, getVersion(API_VERSION) as SemanticVersion) } + data.putUserData(OFFICIAL_MAPPINGS_KEY, useOfficialMappings) } }