From 7204a7d4f303996d807b97cf195ca3cfb448ec3c Mon Sep 17 00:00:00 2001 From: Juuz <6596629+Juuxel@users.noreply.github.com> Date: Tue, 4 Mar 2025 18:27:24 +0200 Subject: [PATCH] Fix DLI not applying to multiword NeoForge envs like dataClient Fixes #268. All the environments are now lowercase which should be fine. Additionally, reverts commits 127345ea and 07f91bfd since the workaround is no longer needed and causes a crash. --- .../configuration/providers/forge/ForgeRunTemplate.java | 7 ------- .../fabricmc/loom/task/launch/GenerateDLIConfigTask.java | 9 +++++++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/forge/ForgeRunTemplate.java b/src/main/java/net/fabricmc/loom/configuration/providers/forge/ForgeRunTemplate.java index 7b8c46fa..ce01ce1c 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/forge/ForgeRunTemplate.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/forge/ForgeRunTemplate.java @@ -116,13 +116,6 @@ public record ForgeRunTemplate( settings.getEnvironmentVariables().putIfAbsent(key, resolved); }); - // TODO: Also remove this hack once DLI supports clientData as the env - if (this.name.equals("dataClient") || this.name.equals("dataServer")) { - for (ConfigValue arg : args) { - settings.programArg(arg.resolve(configValueResolver)); - } - } - // Add MOD_CLASSES, this is something that ForgeGradle does settings.getEnvironmentVariables().computeIfAbsent("MOD_CLASSES", $ -> ConfigValue.of("{source_roots}").resolve(configValueResolver)); } diff --git a/src/main/java/net/fabricmc/loom/task/launch/GenerateDLIConfigTask.java b/src/main/java/net/fabricmc/loom/task/launch/GenerateDLIConfigTask.java index 22be5c7c..d8cabad3 100644 --- a/src/main/java/net/fabricmc/loom/task/launch/GenerateDLIConfigTask.java +++ b/src/main/java/net/fabricmc/loom/task/launch/GenerateDLIConfigTask.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.Set; @@ -272,12 +273,16 @@ public abstract class GenerateDLIConfigTask extends AbstractLoomTask { } for (ForgeRunTemplate.Resolved template : getRunTemplates().get()) { + // Note: lowercase to match RunConfig which lowercases all user input for + // RunConfigSettings.environment + var env = template.name().toLowerCase(Locale.ROOT); + for (String argument : template.args()) { - launchConfig.argument(template.name(), argument); + launchConfig.argument(env, argument); } for (Map.Entry property : template.props().entrySet()) { - launchConfig.property(template.name(), property.getKey(), property.getValue()); + launchConfig.property(env, property.getKey(), property.getValue()); } } }