From d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 2 Dec 2021 01:04:35 +0800 Subject: Fix support for Forge 1.18 Signed-off-by: shedaniel --- .../providers/MinecraftProviderImpl.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java') diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java b/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java index 1967bb72..c8987bfe 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java @@ -52,6 +52,7 @@ import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.MirrorUtil; import net.fabricmc.loom.util.DownloadUtil; import net.fabricmc.loom.util.HashedDownloadUtil; +import net.fabricmc.loom.util.ZipUtils; import net.fabricmc.stitch.merge.JarMerger; public class MinecraftProviderImpl extends DependencyProvider implements MinecraftProvider { @@ -67,6 +68,7 @@ public class MinecraftProviderImpl extends DependencyProvider implements Minecra public File minecraftServerJar; // The extracted server jar from the boostrap, only exists in >=21w39a public File minecraftExtractedServerJar; + private Boolean isNewerThan21w39a; private File minecraftMergedJar; private File versionManifestJson; private File experimentalVersionsJson; @@ -332,6 +334,26 @@ public class MinecraftProviderImpl extends DependencyProvider implements Minecra } } + public File getMinecraftServerJar() { + if (isNewerThan21w39a()) { + try { + return getServerJarToMerge(getProject().getLogger()); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + return minecraftServerJar; + } + + public boolean isNewerThan21w39a() { + if (isNewerThan21w39a != null) { + return isNewerThan21w39a; + } + + return isNewerThan21w39a = ZipUtils.contains(minecraftServerJar.toPath(), "META-INF/versions.list"); + } + public File getMergedJar() { return minecraftMergedJar; } -- cgit