Skip to content

Commit 9ddc70f

Browse files
committed
set minimum Quilt Loader version to 0.29.3
1 parent ec78617 commit 9ddc70f

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

src/main/java/net/ornithemc/meta/data/VersionDatabase.java

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public class VersionDatabase {
6767
public static final PomDependencyParser OSL_DEPENDENCY_PARSER = new PomDependencyParser(ORNITHE_MAVEN_URL + "net/ornithemc/osl");
6868

6969
private static final Pattern INVALID_FABRIC_LOADER_VERSIONS_GEN2 = Pattern.compile("^(?:0\\.(?:\\d|1[0-6])\\.|0\\.17\\.[0-2])");
70+
private static final Pattern INVALID_QUILT_LOADER_VERSIONS_GEN2 = Pattern.compile("^(?:0\\.(?:\\d|1\\d|2[0-8])\\.|0\\.29\\.[0-2])");
7071

7172
public final VersionManifest manifest = new VersionManifest();
7273
private final Int2ObjectMap<List<BaseVersion>> game;
@@ -119,6 +120,25 @@ public static StableVersionIdentifier filterFabricLoaderVersions(int generation)
119120
};
120121
}
121122

123+
public static StableVersionIdentifier filterQuiltLoaderVersions(int generation) {
124+
return versions -> {
125+
boolean foundStableVersion = false;
126+
127+
for (Iterator<? extends BaseVersion> it = versions.iterator(); it.hasNext(); ) {
128+
BaseVersion version = it.next();
129+
130+
if (generation >= 2 && INVALID_QUILT_LOADER_VERSIONS_GEN2.matcher(version.getVersion()).matches()) {
131+
it.remove();
132+
} else
133+
// Quilt publishes beta versions of their loader, filter those out
134+
if (!foundStableVersion && isPublicLoaderVersion(version) && !version.getVersion().contains("-")) {
135+
foundStableVersion = true;
136+
version.setStable(true);
137+
}
138+
}
139+
};
140+
}
141+
122142
public static final Map<String, PomParser> getOslModulePomParsers(List<MavenVersion> osl) {
123143
Set<String> versions = new HashSet<>();
124144
Map<String, PomParser> parsers = new HashMap<>();
@@ -169,15 +189,7 @@ public static VersionDatabase generate() throws IOException, XMLStreamException
169189
database.feather.put(generation, featherParser(generation).getMeta(MavenBuildGameVersion::new, generation == 1 ? "net.ornithemc:feather:" : String.format("net.ornithemc:feather-gen%d:", generation)));
170190
database.loader.put(generation, new EnumMap<>(LoaderType.class));
171191
database.loader.get(generation).put(LoaderType.FABRIC, FABRIC_LOADER_PARSER.getMeta(MavenBuildVersion::new, "net.fabricmc:fabric-loader:", filterFabricLoaderVersions(generation)));
172-
database.loader.get(generation).put(LoaderType.QUILT, QUILT_LOADER_PARSER.getMeta(MavenBuildVersion::new, "org.quiltmc:quilt-loader:", list -> {
173-
for (BaseVersion version : list) {
174-
// Quilt publishes beta versions of their loader, filter those out
175-
if (isPublicLoaderVersion(version) && !version.getVersion().contains("-")) {
176-
version.setStable(true);
177-
break;
178-
}
179-
}
180-
}));
192+
database.loader.get(generation).put(LoaderType.QUILT, QUILT_LOADER_PARSER.getMeta(MavenBuildVersion::new, "org.quiltmc:quilt-loader:", filterQuiltLoaderVersions(generation)));
181193
}
182194
database.raven = RAVEN_PARSER.getMeta(MavenBuildGameVersion::new, "net.ornithemc:raven:");
183195
database.sparrow = SPARROW_PARSER.getMeta(MavenBuildGameVersion::new, "net.ornithemc:sparrow:");

0 commit comments

Comments
 (0)