diff options
author | shedaniel <daniel@shedaniel.me> | 2021-12-02 01:04:35 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-12-02 01:04:35 +0800 |
commit | d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e (patch) | |
tree | e9409547bc7ec7752e910a3883836716a17bd28c /src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java | |
parent | 152d2801e46c570db3c0a83ae46ca5364f53ee44 (diff) | |
download | architectury-loom-d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e.tar.gz architectury-loom-d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e.tar.bz2 architectury-loom-d3b041a9dbae8a84ce49dfcd1442eb2277c7b32e.zip |
Fix support for Forge 1.18
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java')
-rw-r--r-- | src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java | 22 |
1 files changed, 22 insertions, 0 deletions
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; } |