Skip to content

Commit dcb7973

Browse files
committed
Merge branch '2021.3' into 2022.1
2 parents 1bf0645 + bfaf4b9 commit dcb7973

File tree

72 files changed

+1308
-156
lines changed

Some content is hidden

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

72 files changed

+1308
-156
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.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ kotlin.code.style=official
1414
ideaVersion = 2022.1
1515
ideaVersionName = 2022.1
1616

17-
coreVersion = 1.5.19
17+
coreVersion = 1.5.20
1818
downloadIdeaSources = true
1919

2020
pluginTomlVersion = 221.5080.126

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"

readme.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ Minecraft Development for IntelliJ
2424
<td align="left">2022.1</td>
2525
<td align="left"><a href="https://ci.denwav.dev/viewType.html?buildTypeId=MinecraftDev_Nightly_20221"><img src="https://ci.denwav.dev/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20221)/statusIcon.svg" alt="2022.1 Nightly Status" /></a></td>
2626
</tr>
27+
<tr>
28+
<td align="left">2022.2</td>
29+
<td align="left"><a href="https://ci.denwav.dev/viewType.html?buildTypeId=MinecraftDev_Nightly_20222"><img src="https://ci.denwav.dev/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20222)/statusIcon.svg" alt="2022.2 Nightly Status" /></a></td>
30+
</tr>
2731
<tr>
2832
<td align="right"><b>OS Tests</b></td>
2933
<td align="left" colspan="2">
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/insight/generation/MinecraftClassCreateAction.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,11 @@ class MinecraftClassCreateAction :
9191
override fun isAvailable(dataContext: DataContext): Boolean {
9292
val psi = dataContext.getData(CommonDataKeys.PSI_ELEMENT)
9393
val module = psi?.findModule() ?: return false
94-
val isModModule = MinecraftFacet.getInstance(module, FabricModuleType, ForgeModuleType) != null
94+
val isFabricMod = MinecraftFacet.getInstance(module, FabricModuleType) != null
95+
val isForgeMod = MinecraftFacet.getInstance(module, ForgeModuleType) != null
9596
val hasMcVersion = MinecraftFacet.getInstance(module, McpModuleType)?.getSettings()?.minecraftVersion != null
9697

97-
return isModModule && hasMcVersion && super.isAvailable(dataContext)
98+
return (isFabricMod || isForgeMod && hasMcVersion) && super.isAvailable(dataContext)
9899
}
99100

100101
override fun checkPackageExists(directory: PsiDirectory): Boolean {

0 commit comments

Comments
 (0)