Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

Commit

Permalink
re-provide version check
Browse files Browse the repository at this point in the history
  • Loading branch information
404Setup committed Aug 4, 2024
1 parent 471b5d9 commit b4f8cbb
Showing 1 changed file with 31 additions and 142 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: 404Setup <[email protected]>
Date: Wed, 29 May 2024 22:34:03 +0800
Subject: [PATCH] Rebrand and Disable version checking
Subject: [PATCH] Rebrand


diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
Expand All @@ -27,156 +27,45 @@ index b52a805150e95d7d27403d3c18088b335a355011..4fa5ca79ea9c015fad4f814ab1e05190
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
index 2f37873738ab542980d13f36356b04b4904e625b..a0094c7a35103e44670c9821219ddf70b38382fc 100644
index 2f37873738ab542980d13f36356b04b4904e625b..ae4363b8cc247d6d659aa903b1077001eb9eaebd 100644
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
@@ -1,41 +1,15 @@
package com.destroystokyo.paper;

import com.destroystokyo.paper.util.VersionFetcher;
-import com.google.common.base.Charsets;
-import com.google.common.io.Resources;
-import com.google.gson.Gson;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonSyntaxException;
-import com.mojang.logging.LogUtils;
-import io.papermc.paper.ServerBuildInfo;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URI;
-import java.util.Optional;
-import java.util.OptionalInt;
-import java.util.stream.StreamSupport;
import net.kyori.adventure.text.Component;
-import net.kyori.adventure.text.event.ClickEvent;
-import net.kyori.adventure.text.format.NamedTextColor;
-import net.kyori.adventure.text.format.TextDecoration;
import org.checkerframework.checker.nullness.qual.NonNull;
-import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.framework.qual.DefaultQualifier;
-import org.slf4j.Logger;

import static net.kyori.adventure.text.Component.text;
import static net.kyori.adventure.text.format.TextColor.color;

@DefaultQualifier(NonNull.class)
public class PaperVersionFetcher implements VersionFetcher {
- private static final Logger LOGGER = LogUtils.getClassLogger();
- private static final int DISTANCE_ERROR = -1;
- private static final int DISTANCE_UNKNOWN = -2;
@@ -35,7 +35,7 @@ public class PaperVersionFetcher implements VersionFetcher {
private static final Logger LOGGER = LogUtils.getClassLogger();
private static final int DISTANCE_ERROR = -1;
private static final int DISTANCE_UNKNOWN = -2;
- private static final String DOWNLOAD_PAGE = "https://github.com/LuminolMC/Luminol"; //Luminol
+ private static final String DOWNLOAD_PAGE = "https://tranic.one/downloads/levelbukkit"; // Luminol // LevelBukkit

@Override
public long getCacheTime() {
@@ -44,103 +18,6 @@ public class PaperVersionFetcher implements VersionFetcher {

@Override
public Component getVersionMessage(final String serverVersion) {
- final Component updateMessage;
- final ServerBuildInfo build = ServerBuildInfo.buildInfo();
- if (build.buildNumber().isEmpty() && build.gitCommit().isEmpty()) {
- updateMessage = text("You are running a development version without access to version information", color(0xFF5300));
- } else {
@@ -49,7 +49,7 @@ public class PaperVersionFetcher implements VersionFetcher {
if (build.buildNumber().isEmpty() && build.gitCommit().isEmpty()) {
updateMessage = text("You are running a development version without access to version information", color(0xFF5300));
} else {
- updateMessage = getUpdateStatusMessage("LuminolMC/Luminol", build); // Folia // Luminol
- }
- final @Nullable Component history = this.getHistory();
-
- return history != null ? Component.textOfChildren(updateMessage, Component.newline(), history) : updateMessage;
- }
-
- private static Component getUpdateStatusMessage(final String repo, final ServerBuildInfo build) {
- int distance = DISTANCE_ERROR;
-
- final OptionalInt buildNumber = build.buildNumber();
- if (buildNumber.isPresent()) {
- distance = fetchDistanceFromSiteApi(build, buildNumber.getAsInt());
- } else {
- final Optional<String> gitBranch = build.gitBranch();
- final Optional<String> gitCommit = build.gitCommit();
- if (gitBranch.isPresent() && gitCommit.isPresent()) {
- distance = fetchDistanceFromGitHub(repo, gitBranch.get(), gitCommit.get());
- }
- }
-
- return switch (distance) {
- case DISTANCE_ERROR -> text("Error obtaining version information", NamedTextColor.YELLOW);
- case 0 -> text("You are running the latest version", NamedTextColor.GREEN);
- case DISTANCE_UNKNOWN -> text("Unknown version", NamedTextColor.YELLOW);
- default -> text("You are " + distance + " version(s) behind", NamedTextColor.YELLOW)
- .append(Component.newline())
- .append(text("Download the new version at: ")
- .append(text(DOWNLOAD_PAGE, NamedTextColor.GOLD)
- .hoverEvent(text("Click to open", NamedTextColor.WHITE))
- .clickEvent(ClickEvent.openUrl(DOWNLOAD_PAGE))));
- };
- }
-
- private static int fetchDistanceFromSiteApi(final ServerBuildInfo build, final int jenkinsBuild) {
- try {
- try (final BufferedReader reader = Resources.asCharSource(
+ updateMessage = getUpdateStatusMessage("LevelTranic/LevelBukkit", build); // Folia // Luminol // LevelBukkit
}
final @Nullable Component history = this.getHistory();

@@ -86,7 +86,7 @@ public class PaperVersionFetcher implements VersionFetcher {
private static int fetchDistanceFromSiteApi(final ServerBuildInfo build, final int jenkinsBuild) {
try {
try (final BufferedReader reader = Resources.asCharSource(
- URI.create("https://api.papermc.io/v2/projects/folia/versions/" + build.minecraftVersionId()).toURL(), // Folia
- Charsets.UTF_8
- ).openBufferedStream()) {
- final JsonObject json = new Gson().fromJson(reader, JsonObject.class);
- final JsonArray builds = json.getAsJsonArray("builds");
- final int latest = StreamSupport.stream(builds.spliterator(), false)
- .mapToInt(JsonElement::getAsInt)
- .max()
- .orElseThrow();
- return latest - jenkinsBuild;
- } catch (final JsonSyntaxException ex) {
+ URI.create("https://mars.tranic.one/v2/projects/levelbukkit/versions/" + build.minecraftVersionId()).toURL(), // Folia // LevelBukkit
Charsets.UTF_8
).openBufferedStream()) {
final JsonObject json = new Gson().fromJson(reader, JsonObject.class);
@@ -97,7 +97,7 @@ public class PaperVersionFetcher implements VersionFetcher {
.orElseThrow();
return latest - jenkinsBuild;
} catch (final JsonSyntaxException ex) {
- LOGGER.error("Error parsing json from Paper's downloads API", ex);
- return DISTANCE_ERROR;
- }
- } catch (final IOException e) {
- LOGGER.error("Error while parsing version", e);
- return DISTANCE_ERROR;
- }
- }
-
- // Contributed by Techcable <[email protected]> in GH-65
- private static int fetchDistanceFromGitHub(final String repo, final String branch, final String hash) {
- try {
- final HttpURLConnection connection = (HttpURLConnection) URI.create("https://api.github.com/repos/%s/compare/%s...%s".formatted(repo, branch, hash)).toURL().openConnection();
- connection.connect();
- if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) return DISTANCE_UNKNOWN; // Unknown commit
- try (final BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charsets.UTF_8))) {
- final JsonObject obj = new Gson().fromJson(reader, JsonObject.class);
- final String status = obj.get("status").getAsString();
- return switch (status) {
- case "identical" -> 0;
- case "behind" -> obj.get("behind_by").getAsInt();
- default -> DISTANCE_ERROR;
- };
- } catch (final JsonSyntaxException | NumberFormatException e) {
- LOGGER.error("Error parsing json from GitHub's API", e);
- return DISTANCE_ERROR;
- }
- } catch (final IOException e) {
- LOGGER.error("Error while parsing version", e);
- return DISTANCE_ERROR;
- }
- }
-
- private @Nullable Component getHistory() {
- final VersionHistoryManager.@Nullable VersionData data = VersionHistoryManager.INSTANCE.getVersionData();
- if (data == null) {
- return null;
- }
-
- final @Nullable String oldVersion = data.getOldVersion();
- if (oldVersion == null) {
- return null;
- }
-
- return text("Previous version: " + oldVersion, NamedTextColor.GRAY, TextDecoration.ITALIC);
+ return text("You are running a development version without access to version information", color(0xFF5300));
}
}
+ LOGGER.error("Error parsing json from downloads API", ex);
return DISTANCE_ERROR;
}
} catch (final IOException e) {
diff --git a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
index 673a81734a0903a0790f3007772642d3d9a044cc..47149c555468de95a3814cd967652fd583fd45d4 100644
--- a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
Expand Down

0 comments on commit b4f8cbb

Please sign in to comment.