Skip to content

Commit 33bd283

Browse files
committed
Merge branch 'dev' into 2022.2
2 parents 9bf107f + 4b2804e commit 33bd283

35 files changed

+111
-602
lines changed

build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ import org.jlleitschuh.gradle.ktlint.tasks.BaseKtLintCheckTask
2929
import org.jlleitschuh.gradle.ktlint.tasks.KtLintFormatTask
3030

3131
plugins {
32-
kotlin("jvm") version "1.8.0"
32+
kotlin("jvm") version "1.9.0"
3333
java
3434
mcdev
3535
groovy
3636
idea
37-
id("org.jetbrains.intellij") version "1.14.1"
37+
id("org.jetbrains.intellij") version "1.15.0"
3838
id("org.cadixdev.licenser")
3939
id("org.jlleitschuh.gradle.ktlint") version "10.3.0"
4040
}
@@ -278,7 +278,7 @@ license {
278278

279279
exclude("com/demonwav/mcdev/platform/mixin/invalidInjectorMethodSignature/*.java")
280280

281-
tasks {
281+
this.tasks {
282282
register("gradle") {
283283
files.from(
284284
fileTree(project.projectDir) {

gradle/wrapper/gradle-wrapper.jar

1.76 KB
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
44
networkTimeout=10000
5+
validateDistributionUrl=true
56
zipStoreBase=GRADLE_USER_HOME
67
zipStorePath=wrapper/dists

gradlew

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,6 @@ done
8585
APP_BASE_NAME=${0##*/}
8686
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
8787

88-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89-
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
90-
9188
# Use the maximum available, or set MAX_FD != -1 to use that value.
9289
MAX_FD=maximum
9390

@@ -133,26 +130,29 @@ location of your Java installation."
133130
fi
134131
else
135132
JAVACMD=java
136-
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
133+
if ! command -v java >/dev/null 2>&1
134+
then
135+
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
137136
138137
Please set the JAVA_HOME variable in your environment to match the
139138
location of your Java installation."
139+
fi
140140
fi
141141

142142
# Increase the maximum file descriptors if we can.
143143
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144144
case $MAX_FD in #(
145145
max*)
146146
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
147-
# shellcheck disable=SC3045
147+
# shellcheck disable=SC3045
148148
MAX_FD=$( ulimit -H -n ) ||
149149
warn "Could not query maximum file descriptor limit"
150150
esac
151151
case $MAX_FD in #(
152152
'' | soft) :;; #(
153153
*)
154154
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
155-
# shellcheck disable=SC3045
155+
# shellcheck disable=SC3045
156156
ulimit -n "$MAX_FD" ||
157157
warn "Could not set maximum file descriptor limit to $MAX_FD"
158158
esac
@@ -197,6 +197,10 @@ if "$cygwin" || "$msys" ; then
197197
done
198198
fi
199199

200+
201+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
202+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
203+
200204
# Collect all arguments for the java command;
201205
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
202206
# shell script including quotes and variable substitutions, so put them in

src/main/kotlin/creator/creator-utils.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,12 @@ fun FixedAssetsNewProjectWizardStep.addLicense(project: Project) {
6666
addTemplates(project, "LICENSE" to "${license.id}.txt")
6767
}
6868

69-
fun splitPackage(text: String): Pair<String, String> {
69+
fun splitPackage(text: String): Pair<String?, String> {
7070
val index = text.lastIndexOf('.')
71+
if (index == -1) {
72+
return null to text
73+
}
74+
7175
val className = text.substring(index + 1)
7276
val packageName = text.substring(0, index)
7377
return packageName to className

src/main/kotlin/creator/step/FixedAssetsNewProjectWizardStep.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ import java.nio.file.Path
5151
abstract class FixedAssetsNewProjectWizardStep(parent: NewProjectWizardStep) : AbstractNewProjectWizardStep(parent) {
5252
lateinit var outputDirectory: String
5353
private val assets = arrayListOf<FixedGeneratorAsset>()
54-
val templateProperties = hashMapOf<String, Any>()
54+
val templateProperties = hashMapOf<String, Any?>()
5555
private val filesToOpen = hashSetOf<String>()
5656

5757
fun addAssets(vararg assets: Any) = addAssets(assets.toList())
@@ -66,9 +66,9 @@ abstract class FixedAssetsNewProjectWizardStep(parent: NewProjectWizardStep) : A
6666
}
6767
}
6868

69-
fun addTemplateProperties(vararg properties: Pair<String, Any>) = addTemplateProperties(properties.toMap())
69+
fun addTemplateProperties(vararg properties: Pair<String, Any?>) = addTemplateProperties(properties.toMap())
7070

71-
fun addTemplateProperties(properties: Map<String, Any>) = templateProperties.putAll(properties)
71+
fun addTemplateProperties(properties: Map<String, Any?>) = templateProperties.putAll(properties)
7272

7373
fun addFilesToOpen(vararg relativeCanonicalPaths: String) = addFilesToOpen(relativeCanonicalPaths.toList())
7474

src/main/kotlin/platform/forge/creator/asset-steps.kt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ class ForgeProjectFilesStep(parent: NewProjectWizardStep) : AbstractLongRunningA
5353
override fun setupAssets(project: Project) {
5454
val mcVersion = data.getUserData(ForgeVersionChainStep.MC_VERSION_KEY) ?: return
5555
val forgeVersion = data.getUserData(ForgeVersionChainStep.FORGE_VERSION_KEY) ?: return
56-
val (mainPackageName, mainClassName) = splitPackage(data.getUserData(MainClassStep.KEY) ?: return)
56+
val mainClass = data.getUserData(MainClassStep.KEY) ?: return
57+
val (mainPackageName, mainClassName) = splitPackage(mainClass)
5758
val buildSystemProps = findStep<BuildSystemPropertiesStep<*>>()
5859
val modName = data.getUserData(AbstractModNameStep.KEY) ?: return
5960
val license = data.getUserData(LicenseStep.KEY) ?: return
@@ -108,12 +109,12 @@ class ForgeProjectFilesStep(parent: NewProjectWizardStep) : AbstractLongRunningA
108109
mcVersion >= MinecraftVersions.MC1_19 -> MinecraftTemplates.FG3_1_19_MAIN_CLASS_TEMPLATE
109110
mcVersion >= MinecraftVersions.MC1_18 -> MinecraftTemplates.FG3_1_18_MAIN_CLASS_TEMPLATE
110111
mcVersion >= MinecraftVersions.MC1_17 -> MinecraftTemplates.FG3_1_17_MAIN_CLASS_TEMPLATE
111-
else -> MinecraftTemplates.FG3_MAIN_CLASS_TEMPLATE
112+
else -> MinecraftTemplates.FG3_1_16_MAIN_CLASS_TEMPLATE
112113
}
113114

114115
assets.addTemplates(
115116
project,
116-
"src/main/java/${mainPackageName.replace('.', '/')}/$mainClassName.java" to mainClassTemplate,
117+
"src/main/java/${mainClass.replace('.', '/')}.java" to mainClassTemplate,
117118
"src/main/resources/pack.mcmeta" to MinecraftTemplates.PACK_MCMETA_TEMPLATE,
118119
"src/main/resources/META-INF/mods.toml" to MinecraftTemplates.MODS_TOML_TEMPLATE,
119120
)
@@ -124,10 +125,12 @@ class ForgeProjectFilesStep(parent: NewProjectWizardStep) : AbstractLongRunningA
124125
}
125126

126127
if (configTemplate != null) {
127-
assets.addTemplates(
128-
project,
129-
"src/main/java/${mainPackageName.replace('.', '/')}/Config.java" to configTemplate,
130-
)
128+
val configPath = if (mainPackageName != null) {
129+
"src/main/java/${mainPackageName.replace('.', '/')}/Config.java"
130+
} else {
131+
"src/main/java/Config.java"
132+
}
133+
assets.addTemplates(project, configPath to configTemplate)
131134
}
132135

133136
assets.addLicense(project)

src/main/kotlin/platform/forge/creator/gradle-steps.kt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ import com.demonwav.mcdev.creator.step.LicenseStep
4040
import com.demonwav.mcdev.creator.step.NewProjectWizardChainStep.Companion.nextStep
4141
import com.demonwav.mcdev.creator.step.UseMixinsStep
4242
import com.demonwav.mcdev.util.MinecraftTemplates
43-
import com.demonwav.mcdev.util.MinecraftVersions
4443
import com.demonwav.mcdev.util.SemanticVersion
4544
import com.intellij.ide.wizard.NewProjectWizardStep
4645
import com.intellij.openapi.application.WriteAction
@@ -95,9 +94,6 @@ class ForgeGradleFilesStep(parent: NewProjectWizardStep) : AbstractLongRunningAs
9594
assets.addTemplateProperties(
9695
"MOD_NAME" to modName,
9796
"MC_VERSION" to mcVersion,
98-
"MCP_CHANNEL" to "official",
99-
"MCP_VERSION" to mcVersion,
100-
"MCP_MC_VERSION" to mcVersion,
10197
"MC_NEXT_VERSION" to mcNextVersion,
10298
"FORGE_VERSION" to forgeVersion,
10399
"FORGE_SPEC_VERSION" to forgeVersion.parts[0].versionString,
@@ -122,13 +118,6 @@ class ForgeGradleFilesStep(parent: NewProjectWizardStep) : AbstractLongRunningAs
122118
assets.addTemplateProperties("GAME_TEST_FRAMEWORK" to "true")
123119
}
124120

125-
if (mcVersion <= MinecraftVersions.MC1_16_5) {
126-
assets.addTemplateProperties(
127-
"MCP_CHANNEL" to "snapshot",
128-
"MCP_VERSION" to "20210309",
129-
)
130-
}
131-
132121
assets.addTemplates(
133122
project,
134123
"build.gradle" to MinecraftTemplates.FG3_BUILD_GRADLE_TEMPLATE,

src/main/kotlin/platform/mcp/fabricloom/FabricLoomDecompileSourceProvider.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import com.intellij.openapi.application.runWriteActionAndWait
2929
import com.intellij.openapi.externalSystem.task.TaskCallback
3030
import com.intellij.openapi.roots.LibraryOrderEntry
3131
import com.intellij.openapi.roots.OrderRootType
32+
import com.intellij.openapi.roots.impl.libraries.LibraryEx
3233
import com.intellij.openapi.util.ActionCallback
3334
import com.intellij.psi.PsiFile
3435
import com.intellij.psi.PsiJavaFile
@@ -103,6 +104,10 @@ class FabricLoomDecompileSourceProvider : AttachSourcesProvider {
103104
val library = libraryEntry.library
104105
if (library != null) {
105106
runWriteActionAndWait {
107+
if (library is LibraryEx && library.isDisposed) {
108+
return@runWriteActionAndWait
109+
}
110+
106111
val model = library.modifiableModel
107112
model.addRoot("jar://$sourcePath!/", OrderRootType.SOURCES)
108113
model.commit()

src/main/kotlin/platform/mixin/handlers/injectionPoint/ConstantInjectionPoint.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.demonwav.mcdev.platform.mixin.reference.MixinSelector
2424
import com.demonwav.mcdev.util.constantValue
2525
import com.demonwav.mcdev.util.createLiteralExpression
2626
import com.demonwav.mcdev.util.descriptor
27+
import com.demonwav.mcdev.util.ifNotBlank
2728
import com.intellij.codeInsight.lookup.LookupElementBuilder
2829
import com.intellij.openapi.project.Project
2930
import com.intellij.psi.JavaPsiFacade
@@ -60,7 +61,7 @@ class ConstantInjectionPoint : InjectionPoint<PsiElement>() {
6061
val longValue = args["longValue"]?.toLongOrNull()
6162
val doubleValue = args["doubleValue"]?.toDoubleOrNull()
6263
val stringValue = args["stringValue"]
63-
val classValue = args["classValue"]?.let { Type.getObjectType(it.replace('.', '/')) }
64+
val classValue = args["classValue"]?.ifNotBlank { Type.getObjectType(it.replace('.', '/')) }
6465
val count =
6566
nullValue.toInt() +
6667
(intValue != null).toInt() +

0 commit comments

Comments
 (0)