aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/LoomGradleExtension.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-01-29 10:39:20 +0800
committershedaniel <daniel@shedaniel.me>2021-01-29 10:39:20 +0800
commit71392052eb4741ce78cc3ceae1435705e6ef7d2f (patch)
tree5f7fab04452d49886c0a9f3a40abe6011375e507 /src/main/java/net/fabricmc/loom/LoomGradleExtension.java
parentb880d3f9d5784af60dbfec0b800216e99ca05f65 (diff)
downloadarchitectury-loom-71392052eb4741ce78cc3ceae1435705e6ef7d2f.tar.gz
architectury-loom-71392052eb4741ce78cc3ceae1435705e6ef7d2f.tar.bz2
architectury-loom-71392052eb4741ce78cc3ceae1435705e6ef7d2f.zip
Data Generator for Forge
Diffstat (limited to 'src/main/java/net/fabricmc/loom/LoomGradleExtension.java')
-rw-r--r--src/main/java/net/fabricmc/loom/LoomGradleExtension.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java
index 82279a06..974c564a 100644
--- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java
+++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java
@@ -95,6 +95,7 @@ public class LoomGradleExtension {
// Not to be set in the build.gradle
private final Project project;
+ private List<String> dataGenMods = new ArrayList<>();
private LoomDependencyManager dependencyManager;
private JarProcessorManager jarProcessorManager;
private JsonObject installerJson;
@@ -145,6 +146,14 @@ public class LoomGradleExtension {
action.execute(new SourceSetConsumer());
}
+ public boolean isDataGenEnabled() {
+ return isForge() && !dataGenMods.isEmpty();
+ }
+
+ public List<String> getDataGenMods() {
+ return dataGenMods;
+ }
+
public class SourceSetConsumer {
public void add(Object... sourceSets) {
for (Object sourceSet : sourceSets) {
@@ -157,6 +166,20 @@ public class LoomGradleExtension {
}
}
+ public void dataGen(Action<DataGenConsumer> action) {
+ if (!isForge()) {
+ throw new UnsupportedOperationException("Not running with Forge support.");
+ }
+
+ action.execute(new DataGenConsumer());
+ }
+
+ public class DataGenConsumer {
+ public void mod(String... modIds) {
+ dataGenMods.addAll(Arrays.asList(modIds));
+ }
+ }
+
public void addTaskBeforeRun(String task) {
this.tasksBeforeRun.add(task);
}
@@ -164,7 +187,7 @@ public class LoomGradleExtension {
public List<String> getTasksBeforeRun() {
return tasksBeforeRun;
}
-
+
public void mixinConfig(String config) {
mixinConfigs.add(config);
}