From 17175e6ffe2a2807c257231f8fdfbf2d186be471 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Tue, 14 Oct 2025 11:49:31 +0200 Subject: [PATCH] add intermediary_generations endpoint --- .../ornithemc/meta/data/VersionDatabase.java | 2 ++ .../net/ornithemc/meta/web/EndpointsV3.java | 2 ++ .../web/models/IntermediaryGenerations.java | 30 +++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 src/main/java/net/ornithemc/meta/web/models/IntermediaryGenerations.java diff --git a/src/main/java/net/ornithemc/meta/data/VersionDatabase.java b/src/main/java/net/ornithemc/meta/data/VersionDatabase.java index 1acf83b..130f99c 100644 --- a/src/main/java/net/ornithemc/meta/data/VersionDatabase.java +++ b/src/main/java/net/ornithemc/meta/data/VersionDatabase.java @@ -171,6 +171,7 @@ private static List oslModules(int generation) { private final Int2ObjectMap>> oslModules; private final Int2ObjectMap>> loader; + public IntermediaryGenerations intermediaryGenerations; public List raven; public List sparrow; public List nests; @@ -208,6 +209,7 @@ public static VersionDatabase generate() throws Exception { database.loader.get(generation).put(LoaderType.FABRIC, FABRIC_LOADER_METADATA_PARSER.getVersions(MavenBuildVersion::new, filterLoaderVersions(generation, LoaderType.FABRIC))); database.loader.get(generation).put(LoaderType.QUILT, QUILT_LOADER_METADATA_PARSER.getVersions(MavenBuildVersion::new, filterLoaderVersions(generation, LoaderType.QUILT))); } + database.intermediaryGenerations = new IntermediaryGenerations(config.latestIntermediaryGeneration, config.stableIntermediaryGeneration); database.raven = RAVEN_METADATA_PARSER.getVersions(MavenBuildGameVersion::new); database.sparrow = SPARROW_METADATA_PARSER.getVersions(MavenBuildGameVersion::new); database.nests = NESTS_METADATA_PARSER.getVersions(MavenBuildGameVersion::new); diff --git a/src/main/java/net/ornithemc/meta/web/EndpointsV3.java b/src/main/java/net/ornithemc/meta/web/EndpointsV3.java index 0f29528..de11a50 100644 --- a/src/main/java/net/ornithemc/meta/web/EndpointsV3.java +++ b/src/main/java/net/ornithemc/meta/web/EndpointsV3.java @@ -53,6 +53,8 @@ public static void setup() { jsonGet("", () -> OrnitheMeta.database); + jsonGet("/intermediary_generations", () -> OrnitheMeta.database.intermediaryGenerations); + jsonGetS("/game", generation -> () -> OrnitheMeta.database.getGame(generation)); jsonGetS("/game/intermediary", generation -> () -> compatibleGameVersions(OrnitheMeta.database.getIntermediary(generation), BaseVersion::getVersion, v -> new BaseVersion(v.getVersion(), v.isStable()))); jsonGetS("/game/feather", generation -> () -> compatibleGameVersions(OrnitheMeta.database.getFeather(generation), MavenBuildGameVersion::getGameVersion, v -> new BaseVersion(v.getGameVersion(), v.isStable()))); diff --git a/src/main/java/net/ornithemc/meta/web/models/IntermediaryGenerations.java b/src/main/java/net/ornithemc/meta/web/models/IntermediaryGenerations.java new file mode 100644 index 0000000..5191dba --- /dev/null +++ b/src/main/java/net/ornithemc/meta/web/models/IntermediaryGenerations.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2019 FabricMC + * + * Modifications copyright (c) 2022 OrnitheMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.ornithemc.meta.web.models; + +public class IntermediaryGenerations { + + public int latestIntermediaryGeneration = -1; + public int stableIntermediaryGeneration = -1; + + public IntermediaryGenerations(int latest, int stable) { + this.latestIntermediaryGeneration = latest; + this.stableIntermediaryGeneration = stable; + } +}