aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-12-02 01:04:35 +0800
committershedaniel <daniel@shedaniel.me>2021-12-02 01:04:35 +0800
commitd3b041a9dbae8a84ce49dfcd1442eb2277c7b32e (patch)
treee9409547bc7ec7752e910a3883836716a17bd28c /src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java
parent152d2801e46c570db3c0a83ae46ca5364f53ee44 (diff)
downloadarchitectury-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.java22
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;
}