Skip to content

Commit 82ae46f

Browse files
committed
Merge branch 'dev' into 2022.2
2 parents 3c8bc71 + 5ed5e08 commit 82ae46f

File tree

58 files changed

+1212
-147
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+1212
-147
lines changed

build.gradle.kts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ val gradleToolingExtensionJar = tasks.register<Jar>(gradleToolingExtensionSource
5656

5757
repositories {
5858
maven("https://repo.denwav.dev/repository/maven-public/")
59+
maven("https://maven.fabricmc.net/") {
60+
content {
61+
includeModule("net.fabricmc", "mapping-io")
62+
}
63+
}
5964
mavenCentral()
6065
}
6166

@@ -71,6 +76,7 @@ dependencies {
7176
implementation(files(gradleToolingExtensionJar))
7277

7378
implementation(libs.templateMakerFabric)
79+
implementation(libs.mappingIo)
7480
implementation(libs.bundles.asm)
7581

7682
jflex(libs.jflex.lib)

gradle/libs.versions.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ asm = "9.2"
77
coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
88
coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" }
99

10-
templateMakerFabric = "com.extracraftx.minecraft:TemplateMakerFabric:0.4.0"
10+
templateMakerFabric = "com.extracraftx.minecraft:TemplateMakerFabric:0.4.1"
11+
mappingIo = "net.fabricmc:mapping-io:0.2.1"
1112

1213
# GrammarKit
1314
jflex-lib = "org.jetbrains.idea:jflex:1.7.0-b7f882a"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
* Minecraft Dev for IntelliJ
3+
*
4+
* https://minecraftdev.org
5+
*
6+
* Copyright (c) 2021 minecraft-dev
7+
*
8+
* MIT License
9+
*/
10+
11+
package com.demonwav.mcdev.platform.mcp.gradle.tooling.fabricloom
12+
13+
14+
import org.gradle.api.Project
15+
import org.jetbrains.annotations.NotNull
16+
import org.jetbrains.plugins.gradle.tooling.ErrorMessageBuilder
17+
import org.jetbrains.plugins.gradle.tooling.ModelBuilderService
18+
19+
class FabricLoomModelBuilderImpl implements ModelBuilderService {
20+
21+
@Override
22+
boolean canBuild(String modelName) {
23+
return FabricLoomModel.name == modelName
24+
}
25+
26+
@Override
27+
Object buildAll(String modelName, Project project) {
28+
if (!project.plugins.hasPlugin('fabric-loom')) {
29+
return null
30+
}
31+
32+
def loomExtension = project.extensions.getByName('loom')
33+
def tinyMappings = loomExtension.mappingsProvider.tinyMappings.toFile().getAbsoluteFile()
34+
def decompilers = loomExtension.decompilerOptions.collectEntries {
35+
def task = project.tasks.getByName('genSourcesWith' + it.name.capitalize())
36+
def sourcesPath = task.runtimeJar.get().getAsFile().getAbsolutePath().dropRight(4) + "-sources.jar"
37+
[it.name, sourcesPath]
38+
}
39+
40+
//noinspection GroovyAssignabilityCheck
41+
return new FabricLoomModelImpl(tinyMappings, decompilers)
42+
}
43+
44+
@Override
45+
ErrorMessageBuilder getErrorMessageBuilder(@NotNull Project project, @NotNull Exception e) {
46+
return ErrorMessageBuilder.create(
47+
project, e, "MinecraftDev import errors"
48+
).withDescription("Unable to build MinecraftDev FabricLoom project configuration")
49+
}
50+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Minecraft Dev for IntelliJ
3+
*
4+
* https://minecraftdev.org
5+
*
6+
* Copyright (c) 2021 minecraft-dev
7+
*
8+
* MIT License
9+
*/
10+
11+
package com.demonwav.mcdev.platform.mcp.gradle.tooling.fabricloom
12+
13+
class FabricLoomModelImpl implements FabricLoomModel, Serializable {
14+
15+
private final File tinyMappings
16+
private final Map<String, String> decompilers
17+
18+
FabricLoomModelImpl(File tinyMappings, Map<String, String> decompilers) {
19+
this.tinyMappings = tinyMappings
20+
this.decompilers = decompilers
21+
}
22+
23+
@Override
24+
File getTinyMappings() {
25+
return tinyMappings
26+
}
27+
28+
@Override
29+
Map<String, String> getDecompilers() {
30+
return decompilers
31+
}
32+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Minecraft Dev for IntelliJ
3+
*
4+
* https://minecraftdev.org
5+
*
6+
* Copyright (c) 2021 minecraft-dev
7+
*
8+
* MIT License
9+
*/
10+
11+
package com.demonwav.mcdev.platform.mcp.gradle.tooling.fabricloom;
12+
13+
import java.io.File;
14+
import java.util.Map;
15+
16+
public interface FabricLoomModel {
17+
18+
File getTinyMappings();
19+
20+
Map<String, String> getDecompilers();
21+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
com.demonwav.mcdev.platform.mcp.gradle.tooling.archloom.ArchitecturyModelBuilderImpl
2+
com.demonwav.mcdev.platform.mcp.gradle.tooling.fabricloom.FabricLoomModelBuilderImpl
23
com.demonwav.mcdev.platform.mcp.gradle.tooling.vanillagradle.VanillaGradleModelBuilderImpl
34
com.demonwav.mcdev.platform.mcp.gradle.tooling.McpModelFG2BuilderImpl
45
com.demonwav.mcdev.platform.mcp.gradle.tooling.McpModelFG3BuilderImpl

src/main/grammars/AwLexer.flex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ CLASS_ELEMENT=class
4646
METHOD_ELEMENT=method
4747
FIELD_ELEMENT=field
4848
NAME_ELEMENT=\w+|<init>
49-
CLASS_NAME_ELEMENT=(\w+\/)*\w+(\$\w+)?
49+
CLASS_NAME_ELEMENT=(\w+\/)*\w+(\$\w+)*
5050
COMMENT=#.*
5151
CRLF=\n|\r|\r\n
5252
WHITE_SPACE=\s

src/main/kotlin/platform/architectury/creator/ArchitecturyProjectCreator.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.demonwav.mcdev.creator.buildsystem.gradle.SimpleGradleSetupStep
2424
import com.demonwav.mcdev.platform.fabric.EntryPoint
2525
import com.demonwav.mcdev.platform.fabric.util.FabricConstants
2626
import com.demonwav.mcdev.platform.forge.util.ForgeConstants
27+
import com.demonwav.mcdev.platform.forge.util.ForgePackAdditionalData
2728
import com.demonwav.mcdev.platform.forge.util.ForgePackDescriptor
2829
import com.demonwav.mcdev.util.runGradleTaskAndWait
2930
import com.demonwav.mcdev.util.runWriteAction
@@ -253,7 +254,9 @@ class ArchitecturyForgeProjectCreator(
253254
override fun runStep(indicator: ProgressIndicator) {
254255
val modsTomlText = ArchitecturyTemplate.applyModsToml(project, buildSystem, config)
255256
val packDescriptor = ForgePackDescriptor.forMcVersion(config.mcVersion) ?: ForgePackDescriptor.FORMAT_3
256-
val packMcmetaText = ArchitecturyTemplate.applyPackMcmeta(project, buildSystem.artifactId, packDescriptor)
257+
val additionalData = ForgePackAdditionalData.forMcVersion(config.mcVersion)
258+
val packMcmetaText =
259+
ArchitecturyTemplate.applyPackMcmeta(project, buildSystem.artifactId, packDescriptor, additionalData)
257260
val dir = buildSystem.dirsOrError.resourceDirectory
258261
runWriteTask {
259262
CreatorStep.writeTextToFile(project, dir, ForgeConstants.PACK_MCMETA, packMcmetaText)

src/main/kotlin/platform/architectury/creator/ArchitecturyTemplate.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ package com.demonwav.mcdev.platform.architectury.creator
1212

1313
import com.demonwav.mcdev.creator.buildsystem.BuildSystem
1414
import com.demonwav.mcdev.platform.BaseTemplate
15+
import com.demonwav.mcdev.platform.forge.util.ForgePackAdditionalData
1516
import com.demonwav.mcdev.platform.forge.util.ForgePackDescriptor
1617
import com.demonwav.mcdev.util.License
1718
import com.demonwav.mcdev.util.MinecraftTemplates
@@ -207,11 +208,17 @@ object ArchitecturyTemplate : BaseTemplate() {
207208
return project.applyTemplate(MinecraftTemplates.ARCHITECTURY_FORGE_MODS_TOML_TEMPLATE, props)
208209
}
209210

210-
fun applyPackMcmeta(project: Project, artifactId: String, pack: ForgePackDescriptor): String {
211+
fun applyPackMcmeta(
212+
project: Project,
213+
artifactId: String,
214+
pack: ForgePackDescriptor,
215+
additionalData: ForgePackAdditionalData?
216+
): String {
211217
val props = mapOf(
212218
"ARTIFACT_ID" to artifactId,
213219
"PACK_FORMAT" to pack.format.toString(),
214-
"PACK_COMMENT" to pack.comment
220+
"PACK_COMMENT" to pack.comment,
221+
"FORGE_DATA" to additionalData,
215222
)
216223

217224
return project.applyTemplate(MinecraftTemplates.ARCHITECTURY_FORGE_PACK_MCMETA_TEMPLATE, props)

src/main/kotlin/platform/bukkit/creator/BukkitProjectCreator.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ open class BukkitDependenciesStep(
115115
buildSystem.repositories.add(
116116
BuildRepository(
117117
"papermc-repo",
118-
"https://papermc.io/repo/repository/maven-public/"
118+
"https://repo.papermc.io/repository/maven-public/"
119119
)
120120
)
121121
val paperGroupId = when {

0 commit comments

Comments
 (0)