From 604987a0054d137102b7855fd662a7b9a29db42d Mon Sep 17 00:00:00 2001 From: cpw Date: Sun, 16 Jun 2019 00:34:23 -0400 Subject: [PATCH] Skip running the datagenerator on unrequested mods. Add a run config for the data task for modders to use Signed-off-by: cpw --- build.gradle | 13 +++++++++++++ src/main/java/net/minecraftforge/fml/ModLoader.java | 2 +- .../fml/event/lifecycle/GatherDataEvent.java | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 33c3e3e16..61c10d58a 100644 --- a/build.gradle +++ b/build.gradle @@ -877,6 +877,19 @@ project(':forge') { environment 'MCP_MAPPINGS', '{mcp_mappings}' environment 'FORGE_VERSION', "${project.version.substring(MC_VERSION.length() + 1)}" } + + data { + main 'net.minecraftforge.userdev.LaunchTesting' + + environment 'target', 'fmldevdata' + + environment 'MC_VERSION', "${MC_VERSION}" + environment 'FORGE_GROUP', "${project.group}" + environment 'MCP_VERSION', "${MCP_VERSION}" + environment 'MOD_CLASSES', '{source_roots}' + environment 'MCP_MAPPINGS', '{mcp_mappings}' + environment 'FORGE_VERSION', "${project.version.substring(MC_VERSION.length() + 1)}" + } } } diff --git a/src/main/java/net/minecraftforge/fml/ModLoader.java b/src/main/java/net/minecraftforge/fml/ModLoader.java index b61ea8436..8396cebaf 100644 --- a/src/main/java/net/minecraftforge/fml/ModLoader.java +++ b/src/main/java/net/minecraftforge/fml/ModLoader.java @@ -231,6 +231,6 @@ public class ModLoader } public Function getDataGeneratorEvent() { - return mc -> new GatherDataEvent(mc, dataGeneratorConfig.makeGenerator(p->dataGeneratorConfig.getMods().size() == 1 ? p : p.resolve(mc.getModId())), dataGeneratorConfig); + return mc -> new GatherDataEvent(mc, dataGeneratorConfig.makeGenerator(p->dataGeneratorConfig.getMods().size() == 1 ? p : p.resolve(mc.getModId()), dataGeneratorConfig.getMods().contains(mc.getModId())), dataGeneratorConfig); } } diff --git a/src/main/java/net/minecraftforge/fml/event/lifecycle/GatherDataEvent.java b/src/main/java/net/minecraftforge/fml/event/lifecycle/GatherDataEvent.java index 5f273df64..f1c15a0d1 100644 --- a/src/main/java/net/minecraftforge/fml/event/lifecycle/GatherDataEvent.java +++ b/src/main/java/net/minecraftforge/fml/event/lifecycle/GatherDataEvent.java @@ -74,9 +74,9 @@ public class GatherDataEvent extends ModLifecycleEvent return mods; } - public DataGenerator makeGenerator(final Function pathEnhancer) { + public DataGenerator makeGenerator(final Function pathEnhancer, final boolean shouldExecute) { final DataGenerator generator = new DataGenerator(pathEnhancer.apply(path), inputs); - generators.add(generator); + if (shouldExecute) generators.add(generator); return generator; }