User: kyle wood Date: 27 Mar 25 03:10 Revision: 44e3d5ededc4c55cf20e879ae49e6f436faf3a54 Summary: Merge branch '2024.2' into 2024.3 TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=9866&personal=false Index: build.gradle.kts =================================================================== --- build.gradle.kts (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ build.gradle.kts (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published @@ -105,6 +105,7 @@ bundledPlugin("ByteCodeViewer") bundledPlugin("org.intellij.intelliLang") bundledPlugin("com.intellij.properties") + bundledPlugin("Git4Idea") bundledPlugin("com.intellij.modules.json") // Optional dependencies @@ -112,6 +113,7 @@ bundledPlugin("org.toml.lang") bundledPlugin("org.jetbrains.plugins.yaml") + testFramework(TestFrameworkType.JUnit5) testFramework(TestFrameworkType.Plugin.Java) Index: gradle.properties =================================================================== --- gradle.properties (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ gradle.properties (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ # # https://mcdev.io/ # -# Copyright (C) 2024 minecraft-dev +# Copyright (C) 2025 minecraft-dev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published Index: gradle/libs.versions.toml =================================================================== --- gradle/libs.versions.toml (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ gradle/libs.versions.toml (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -7,8 +7,8 @@ fuel = "2.3.1" licenser = "0.6.1" changelog = "2.2.0" -intellij-plugin = "2.1.0" -intellij-ide = "243.21155.17-EAP-SNAPSHOT" +intellij-plugin = "2.4.0" +intellij-ide = "2024.3.5" idea-ext = "1.1.8" psiPlugin = "243.7768" @@ -31,7 +31,7 @@ coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" } mappingIo = "net.fabricmc:mapping-io:0.2.1" -mixinExtras-expressions = "io.github.llamalad7:mixinextras-expressions:0.0.1" +mixinExtras-expressions = "io.github.llamalad7:mixinextras-expressions:0.0.4" # GrammarKit jflex-lib = "org.jetbrains.idea:jflex:1.7.0-b7f882a" Index: obfuscation-explorer/build.gradle.kts =================================================================== --- obfuscation-explorer/build.gradle.kts (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ obfuscation-explorer/build.gradle.kts (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: obfuscation-explorer/src/main/kotlin/facet/config/MappingsTable.kt =================================================================== --- obfuscation-explorer/src/main/kotlin/facet/config/MappingsTable.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ obfuscation-explorer/src/main/kotlin/facet/config/MappingsTable.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/MinecraftConfigurable.kt =================================================================== --- src/main/kotlin/MinecraftConfigurable.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/MinecraftConfigurable.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published @@ -22,6 +22,7 @@ import com.demonwav.mcdev.asset.MCDevBundle import com.demonwav.mcdev.asset.PlatformAssets +import com.demonwav.mcdev.creator.custom.mavenRepoTable import com.demonwav.mcdev.creator.custom.templateRepoTable import com.demonwav.mcdev.update.ConfigurePluginUpdatesDialog import com.intellij.ide.projectView.ProjectView @@ -104,16 +105,26 @@ } group(MCDevBundle("minecraft.settings.creator")) { - row(MCDevBundle("minecraft.settings.creator.repos")) {} + twoColumnsRow( + { label(MCDevBundle("minecraft.settings.creator.repos")) }, + { label(MCDevBundle("minecraft.settings.creator.maven")) }, + ) - row { + twoColumnsRow({ templateRepoTable( MutableProperty( { settings.creatorTemplateRepos.toMutableList() }, { settings.creatorTemplateRepos = it } ) ) - }.resizableRow() + }, { + mavenRepoTable( + MutableProperty( + { settings.creatorMavenRepos.toMutableList() }, + { settings.creatorMavenRepos = it } + ) + ) + }).resizableRow() } onApply { Index: src/main/kotlin/MinecraftSettings.kt =================================================================== --- src/main/kotlin/MinecraftSettings.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/MinecraftSettings.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published @@ -29,6 +29,7 @@ import com.intellij.util.xmlb.annotations.Attribute import com.intellij.util.xmlb.annotations.Tag import com.intellij.util.xmlb.annotations.Text +import com.intellij.util.xmlb.annotations.Transient @State(name = "MinecraftSettings", storages = [Storage("minecraft_dev.xml")]) class MinecraftSettings : PersistentStateComponent { @@ -44,6 +45,7 @@ var mixinClassIcon: Boolean = true, var creatorTemplateRepos: List = listOf(TemplateRepo.makeBuiltinRepo()), + var creatorMavenRepos: List = listOf(), ) @Tag("repo") @@ -65,6 +67,20 @@ } } + @Tag("maven") + data class MavenRepo( + @get:Attribute("id") + var id: String, + @get:Attribute("url") + var url: String, + @get:Attribute("username") + var username: String, + @get:Transient // Saved in PasswordSafe + var password: String? + ) { + constructor() : this("", "", "", "") + } + private var state = State() override fun getState(): State { @@ -127,6 +143,12 @@ state.creatorTemplateRepos = creatorTemplateRepos.map { it.copy() } } + var creatorMavenRepos: List + get() = state.creatorMavenRepos.map { it.copy() } + set(creatorMavenRepos) { + state.creatorMavenRepos = creatorMavenRepos.map { it.copy() } + } + enum class UnderlineType(private val regular: String, val effectType: EffectType) { NORMAL("Normal", EffectType.LINE_UNDERSCORE), Index: src/main/kotlin/creator/custom/finalizers/ImportGradleProjectFinalizer.kt =================================================================== --- src/main/kotlin/creator/custom/finalizers/ImportGradleProjectFinalizer.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/creator/custom/finalizers/ImportGradleProjectFinalizer.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/creator/custom/providers/LocalTemplateProvider.kt =================================================================== --- src/main/kotlin/creator/custom/providers/LocalTemplateProvider.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/creator/custom/providers/LocalTemplateProvider.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/creator/custom/providers/ZipTemplateProvider.kt =================================================================== --- src/main/kotlin/creator/custom/providers/ZipTemplateProvider.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/creator/custom/providers/ZipTemplateProvider.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/platform/fabric/reference/FabricClientUseScopeEnlarger.kt =================================================================== --- src/main/kotlin/platform/fabric/reference/FabricClientUseScopeEnlarger.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/platform/fabric/reference/FabricClientUseScopeEnlarger.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/platform/forge/ForgeModule.kt =================================================================== --- src/main/kotlin/platform/forge/ForgeModule.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/platform/forge/ForgeModule.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/platform/mcp/McpModule.kt =================================================================== --- src/main/kotlin/platform/mcp/McpModule.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/platform/mcp/McpModule.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/platform/mixin/completion/MixinCompletionConfidence.kt =================================================================== --- src/main/kotlin/platform/mixin/completion/MixinCompletionConfidence.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/platform/mixin/completion/MixinCompletionConfidence.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/translations/lang/spellcheck/LangKeySplitter.kt =================================================================== --- src/main/kotlin/translations/lang/spellcheck/LangKeySplitter.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/translations/lang/spellcheck/LangKeySplitter.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/translations/reference/TranslationReferenceCompletionConfidence.kt =================================================================== --- src/main/kotlin/translations/reference/TranslationReferenceCompletionConfidence.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/translations/reference/TranslationReferenceCompletionConfidence.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/kotlin/update/Channels.kt =================================================================== --- src/main/kotlin/update/Channels.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/kotlin/update/Channels.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published Index: src/main/resources/META-INF/plugin.xml =================================================================== --- src/main/resources/META-INF/plugin.xml (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/main/resources/META-INF/plugin.xml (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ https://mcdev.io/ - Copyright (C) 2024 minecraft-dev + Copyright (C) 2025 minecraft-dev This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published @@ -715,11 +715,6 @@ implementationClass="com.demonwav.mcdev.platform.mixin.completion.MixinCompletionWeigher" id="mcdev.mixin" order="first"/> - - + implementationClass="com.demonwav.mcdev.platform.mixin.insight.MixinElementLineMarkerProvider"/> + + + + + + - ~/.m2/settings.xml servers, see Maven's documentation\ +
- ~/.gradle/gradle.properties, see Gradle's documentation +minecraft.settings.creator.maven.column.id=ID +minecraft.settings.creator.maven.column.id.tooltip=The server ID as it is in the Maven's settings.xml, or Gradle's home gradle.properties. +minecraft.settings.creator.maven.column.url=URL +minecraft.settings.creator.maven.column.url.tooltip=The base URL used to find what credentials to use. +minecraft.settings.creator.maven.column.username=Username +minecraft.settings.creator.maven.column.password=Password +minecraft.settings.creator.maven.default_id=repo-id minecraft.settings.force_external_annotations=Force external annotations in Minecraft projects minecraft.settings.force_external_annotations.comment=The plugin uses external annotations to provide support for some features, like recognizing translation methods. @@ -296,6 +320,11 @@ minecraft.before=Before minecraft.after=After +mixin.codeVision.target.accessor.hint={0,choice, 0#no accessor mixins|1#1 accessor mixin|2#{0,number} accessor mixins} +mixin.codeVision.target.accessor.name=Accessor Mixins +mixin.codeVision.target.hint={0,choice, 0#no mixins|1#1 mixin|2#{0,number} mixins} +mixin.codeVision.target.name=Mixins + mixinextras.expression.lang.errors.array_access_missing_index=Missing index mixinextras.expression.lang.errors.array_length_after_empty=Cannot specify array length after an unspecified array length mixinextras.expression.lang.errors.empty_array_initializer=Array initializer cannot be empty Index: src/test/kotlin/framework/ProjectBuilderTest.kt =================================================================== --- src/test/kotlin/framework/ProjectBuilderTest.kt (revision 092f5c175cf4a8c5d70b87941f93e6aebf8af46f) +++ src/test/kotlin/framework/ProjectBuilderTest.kt (revision 44e3d5ededc4c55cf20e879ae49e6f436faf3a54) @@ -3,7 +3,7 @@ * * https://mcdev.io/ * - * Copyright (C) 2024 minecraft-dev + * Copyright (C) 2025 minecraft-dev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published