Skip to content

Commit f5ea374

Browse files
committed
Fix #2385 Support ModDevGradle Vanilla-Mode
1 parent e97dfd5 commit f5ea374

File tree

5 files changed

+18
-20
lines changed

5 files changed

+18
-20
lines changed

changelog.md

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
- Mixin injection signature fix preview
1414
- Loom 1.8 support
1515
- K2 mode compatibility
16+
- [#2385](https://github.com/minecraft-dev/MinecraftDev/issues/2385) ModDevGradle Vanilla-Mode support
1617

1718
### Changed
1819

src/gradle-tooling-extension/groovy/com/demonwav/mcdev/platform/mcp/gradle/tooling/neomoddev/NeoModDevGradleModelBuilderImpl.groovy

+3-5
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,8 @@ final class NeoModDevGradleModelBuilderImpl implements ModelBuilderService {
4747
return null
4848
}
4949

50-
def neoforgeVersion = extension.version.get()
51-
if (neoforgeVersion == null) {
52-
return null
53-
}
50+
def neoforgeVersion = extension.version.getOrNull()
51+
def neoFormVersion = extension.neoFormVersion.getOrNull()
5452

5553
def accessTransformersRaw = extension.accessTransformers
5654
List<File> accessTransformers
@@ -74,7 +72,7 @@ final class NeoModDevGradleModelBuilderImpl implements ModelBuilderService {
7472
}
7573

7674
//noinspection GroovyAssignabilityCheck
77-
return new NeoModDevGradleModelImpl(neoforgeVersion, mappingsFile, accessTransformers)
75+
return new NeoModDevGradleModelImpl(neoforgeVersion, neoFormVersion, mappingsFile, accessTransformers)
7876
}
7977

8078
@Override

src/gradle-tooling-extension/groovy/com/demonwav/mcdev/platform/mcp/gradle/tooling/neomoddev/NeoModDevGradleModelImpl.groovy

+3-13
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,14 @@
2020

2121
package com.demonwav.mcdev.platform.mcp.gradle.tooling.neomoddev
2222

23-
2423
import com.demonwav.mcdev.platform.mcp.gradle.tooling.McpModelNMD
25-
import groovy.transform.CompileStatic
24+
import groovy.transform.Immutable
2625

27-
@CompileStatic
26+
@Immutable(knownImmutableClasses = [File])
2827
final class NeoModDevGradleModelImpl implements McpModelNMD, Serializable {
2928

3029
final String neoForgeVersion
30+
final String neoFormVersion
3131
final File mappingsFile
3232
final List<File> accessTransformers
33-
34-
NeoModDevGradleModelImpl(
35-
final String neoForgeVersion,
36-
final File mappingsFile,
37-
final List<File> accessTransformers
38-
) {
39-
this.neoForgeVersion = neoForgeVersion
40-
this.mappingsFile = mappingsFile
41-
this.accessTransformers = accessTransformers
42-
}
4333
}

src/gradle-tooling-extension/java/com/demonwav/mcdev/platform/mcp/gradle/tooling/McpModelNMD.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,14 @@
2020

2121
package com.demonwav.mcdev.platform.mcp.gradle.tooling;
2222

23+
import org.jetbrains.annotations.Nullable;
24+
2325
import java.io.File;
2426
import java.util.List;
2527

2628
public interface McpModelNMD {
27-
String getNeoForgeVersion();
29+
@Nullable String getNeoForgeVersion();
30+
@Nullable String getNeoFormVersion();
2831
File getMappingsFile();
2932
List<File> getAccessTransformers();
3033
}

src/main/kotlin/platform/mcp/gradle/datahandler/McpModelNMDHandler.kt

+7-1
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,14 @@ object McpModelNMDHandler : McpModelDataHandler {
4444
) {
4545
val data = resolverCtx.getExtraProject(gradleModule, McpModelNMD::class.java) ?: return
4646

47+
val minecraftVersion = when {
48+
data.neoForgeVersion != null -> "1." + data.neoForgeVersion!!.substringBeforeLast('.').removeSuffix(".0")
49+
data.neoFormVersion != null -> data.neoFormVersion!!.substringBeforeLast('-').removeSuffix(".0")
50+
else -> null
51+
}
52+
4753
val state = McpModuleSettings.State(
48-
"1." + data.neoForgeVersion.substringBeforeLast('.').removeSuffix(".0"),
54+
minecraftVersion,
4955
null,
5056
data.mappingsFile?.absolutePath,
5157
SrgType.TSRG,

0 commit comments

Comments
 (0)