Skip to content

Commit 16ef925

Browse files
committed
Merge 1.20 into 1.20.4
2 parents f25ecf3 + df9d280 commit 16ef925

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

fabric/src/main/java/org/embeddedt/modernfix/fabric/mappings/MappingsClearer.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,43 @@
11
package org.embeddedt.modernfix.fabric.mappings;
22

3-
import net.fabricmc.loader.api.FabricLoader;
4-
import net.fabricmc.loader.api.MappingResolver;
3+
import net.fabricmc.loader.api.*;
54
import net.fabricmc.loader.impl.launch.FabricLauncherBase;
65
import net.fabricmc.loader.impl.launch.MappingConfiguration;
76
import org.embeddedt.modernfix.util.CommonModUtil;
87

98
import java.lang.reflect.Constructor;
109
import java.lang.reflect.Field;
1110
import java.util.Map;
11+
import java.util.Optional;
1212

1313
/**
1414
* Designed for Fabric Loader 0.14.x, probably has issues on other versions. The entire thing is wrapped in a try-catch
1515
* so it should never cause crashes, just fail to work.
1616
*/
1717
public class MappingsClearer {
18+
private static final Version LOADER_015;
19+
20+
static {
21+
try {
22+
LOADER_015 = Version.parse("0.15.0");
23+
} catch (VersionParsingException e) {
24+
throw new RuntimeException(e);
25+
}
26+
}
27+
1828
@SuppressWarnings("unchecked")
1929
public static void clear() {
2030
// TODO: Port this to Fabric Loader 0.15
2131

2232
if(true) //FabricLoader.getInstance().isDevelopmentEnvironment())
2333
return; // never do this in dev
34+
35+
Optional<Version> loaderVersion = FabricLoader.getInstance().getModContainer("fabricloader").map(m -> m.getMetadata().getVersion());
36+
if(!loaderVersion.isPresent() || LOADER_015.compareTo(loaderVersion.get()) < 0) {
37+
// Fabric Loader is probably too new, abort
38+
return;
39+
}
40+
2441
CommonModUtil.runWithoutCrash(() -> {
2542
// For now, force the mapping resolver to be initialized. Fabric Loader 0.14.23 stops initializing it early,
2643
// which means that we actually need to keep the TinyMappingFactory tree around for initialization to work

0 commit comments

Comments
 (0)