From e9b2b5153d96448b9424c74295234cb2a551238a Mon Sep 17 00:00:00 2001 From: arcade_kappa Date: Sun, 21 Dec 2025 21:22:55 +0800 Subject: [PATCH] Update checker URL for cleanroom --- .../com/cleanroommc/common/CleanroomContainer.java | 13 +++++++++++++ .../net/minecraftforge/common/ForgeVersion.java | 8 ++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/cleanroommc/common/CleanroomContainer.java b/src/main/java/com/cleanroommc/common/CleanroomContainer.java index 94ba529b7..7e11a29f3 100644 --- a/src/main/java/com/cleanroommc/common/CleanroomContainer.java +++ b/src/main/java/com/cleanroommc/common/CleanroomContainer.java @@ -5,6 +5,10 @@ import net.minecraftforge.fml.common.LoadController; import net.minecraftforge.fml.common.ModMetadata; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; import java.util.Arrays; public class CleanroomContainer extends DummyModContainer { @@ -20,10 +24,19 @@ public CleanroomContainer() { """; meta.version = CleanroomVersion.VERSION; meta.authorList = Arrays.asList("LexManos", "cpw", "fry", "Rongmario", "kappa_maintainer", "Li"); + meta.updateJSON = "https://download.cleanroommc.com/api/forge"; } @Override public boolean registerBus(EventBus bus, LoadController controller) { return true; } + + @Override + public URL getUpdateUrl() { + try{ + return new URI("https://download.cleanroommc.com/api/forge").toURL(); + } catch (MalformedURLException | URISyntaxException ignored){} + return null; + } } diff --git a/src/main/java/net/minecraftforge/common/ForgeVersion.java b/src/main/java/net/minecraftforge/common/ForgeVersion.java index ecf8f5dce..757afa6cf 100644 --- a/src/main/java/net/minecraftforge/common/ForgeVersion.java +++ b/src/main/java/net/minecraftforge/common/ForgeVersion.java @@ -26,6 +26,7 @@ import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -216,9 +217,8 @@ private InputStream openUrlStream(URL url) throws IOException for (int redirects = 0; redirects < MAX_HTTP_REDIRECTS; redirects++) { URLConnection c = currentUrl.openConnection(); - if (c instanceof HttpURLConnection) + if (c instanceof HttpURLConnection huc) { - HttpURLConnection huc = (HttpURLConnection) c; huc.setInstanceFollowRedirects(false); int responseCode = huc.getResponseCode(); if (responseCode >= 300 && responseCode <= 399) @@ -250,7 +250,7 @@ private void process(ModContainer mod, URL url) ComparableVersion target = null; InputStream con = openUrlStream(url); - String data = new String(ByteStreams.toByteArray(con), "UTF-8"); + String data = new String(ByteStreams.toByteArray(con), StandardCharsets.UTF_8); con.close(); log.debug("[{}] Received version check data:\n{}", mod.getModId(), data); @@ -375,7 +375,7 @@ public static Map gatherMods() return ret; } - private static Map results = new ConcurrentHashMap(); + private static final Map results = new ConcurrentHashMap<>(); private static final CheckResult PENDING_CHECK = new CheckResult(PENDING, null, null, null, null, null); public static CheckResult getResult(ModContainer mod)