File tree Expand file tree Collapse file tree 5 files changed +38
-2
lines changed
legacy/java/net/neoforged/moddevgradle/legacyforge/dsl
main/java/net/neoforged/moddevgradle/dsl
test/java/net/neoforged/moddevgradle Expand file tree Collapse file tree 5 files changed +38
-2
lines changed Original file line number Diff line number Diff line change 33import javax .inject .Inject ;
44import net .neoforged .moddevgradle .dsl .DataFileCollection ;
55import net .neoforged .moddevgradle .dsl .ModDevExtension ;
6+ import net .neoforged .moddevgradle .internal .ModDevArtifactsWorkflow ;
67import net .neoforged .moddevgradle .legacyforge .internal .LegacyForgeModDevPlugin ;
78import org .gradle .api .Action ;
9+ import org .gradle .api .InvalidUserCodeException ;
810import org .gradle .api .Project ;
911
1012/**
@@ -49,6 +51,18 @@ public void setMcpVersion(String version) {
4951 });
5052 }
5153
54+ /**
55+ * After enabling modding, you can retrieve the version of MCP you picked using this getter.
56+ * This getter will throw if you have not enabled vanilla-mode yet.
57+ */
58+ public String getMcpVersion () {
59+ var dependencies = ModDevArtifactsWorkflow .get (project ).dependencies ();
60+ if (dependencies .neoFormDependency () == null ) {
61+ throw new InvalidUserCodeException ("You cannot retrieve the MCP version without setting it first." );
62+ }
63+ return dependencies .neoFormDependency ().getVersion ();
64+ }
65+
5266 public void enable (Action <LegacyForgeModdingSettings > customizer ) {
5367 var plugin = project .getPlugins ().getPlugin (LegacyForgeModDevPlugin .class );
5468
Original file line number Diff line number Diff line change @@ -159,7 +159,7 @@ public void addModdingDependenciesTo(SourceSet sourceSet) {
159159
160160 /**
161161 * After enabling modding, you can retrieve the version of the modding platform you picked using this getter.
162- * I.e. the NeoForge or Forge version. If you chose to enable vanilla-only mode, this getter returns null .
162+ * I.e. the NeoForge or Forge version. If you chose to enable vanilla-only mode, this getter will throw .
163163 */
164164 public String getVersion () {
165165 var dependencies = ModDevArtifactsWorkflow .get (project ).dependencies ();
Original file line number Diff line number Diff line change 11package net .neoforged .moddevgradle .dsl ;
22
33import javax .inject .Inject ;
4+ import net .neoforged .moddevgradle .internal .ModDevArtifactsWorkflow ;
45import net .neoforged .moddevgradle .internal .ModDevPlugin ;
56import org .gradle .api .Action ;
7+ import org .gradle .api .InvalidUserCodeException ;
68import org .gradle .api .Project ;
79
810/**
@@ -50,6 +52,19 @@ public void setNeoFormVersion(String version) {
5052 });
5153 }
5254
55+ /**
56+ * After enabling modding, you can retrieve the version of NeoForm you picked using this getter.
57+ * This is only meaningful if you have enabled vanilla-only mode or if you have overridden NeoForm for NeoForge.
58+ * This getter throws if no NeoForm version was set.
59+ */
60+ public String getNeoFormVersion () {
61+ var dependencies = ModDevArtifactsWorkflow .get (project ).dependencies ();
62+ if (dependencies .neoFormDependency () == null ) {
63+ throw new InvalidUserCodeException ("You cannot retrieve the NeoForm version without setting it first." );
64+ }
65+ return dependencies .neoFormDependency ().getVersion ();
66+ }
67+
5368 public void enable (Action <ModdingVersionSettings > customizer ) {
5469 var modDevPlugin = project .getPlugins ().getPlugin (ModDevPlugin .class );
5570
Original file line number Diff line number Diff line change @@ -119,7 +119,7 @@ void testEnable() {
119119 @ Test
120120 void testGetVersion () {
121121 extension .setNeoFormVersion (VERSION );
122- assertEquals (VersionCapabilitiesInternal . ofNeoFormVersion ( VERSION ) , extension .getVersionCapabilities ());
122+ assertEquals (VERSION , extension .getNeoFormVersion ());
123123 }
124124
125125 @ Test
Original file line number Diff line number Diff line change 11package net .neoforged .moddevgradle .legacyforge ;
22
33import static org .assertj .core .api .Assertions .assertThat ;
4+ import static org .junit .jupiter .api .Assertions .assertEquals ;
45import static org .junit .jupiter .api .Assertions .assertThrows ;
56
67import java .util .Set ;
@@ -57,6 +58,12 @@ void testEnableVanillaOnlyMode() {
5758 "build/moddev/artifacts/vanilla-1.17.1-client-extra-aka-minecraft-resources.jar" ,
5859 "de.oceanlabs.mcp:mcp_config:1.17.1[net.neoforged:neoform-dependencies]" ,
5960 "build/moddev/artifacts/intermediateToNamed.zip" );
61+ assertEquals ("1.17.1" , extension .getMcpVersion ());
62+ }
63+
64+ @ Test
65+ void testGetMcpVersionThrowsBeforeEnabling () {
66+ assertThrows (InvalidUserCodeException .class , extension ::getMcpVersion );
6067 }
6168
6269 @ Test
You can’t perform that action at this time.
0 commit comments