From 71392052eb4741ce78cc3ceae1435705e6ef7d2f Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 29 Jan 2021 10:39:20 +0800 Subject: Data Generator for Forge --- .../net/fabricmc/loom/LoomGradleExtension.java | 25 +++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/main/java/net/fabricmc/loom/LoomGradleExtension.java') 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 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 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 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 getTasksBeforeRun() { return tasksBeforeRun; } - + public void mixinConfig(String config) { mixinConfigs.add(config); } -- cgit