mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-03 16:04:38 +01:00
577418ea75
We have so many random strings around at the moment this will be better for now
64 lines
3.1 KiB
Diff
64 lines
3.1 KiB
Diff
From 386d76f2e47c4d3e3b824d6ec2c25d914fbe6e2c Mon Sep 17 00:00:00 2001
|
|
From: Zach Brown <Zbob750@live.com>
|
|
Date: Sun, 28 Dec 2014 16:28:21 -0600
|
|
Subject: [PATCH] Check PaperSpigot versions
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
|
index b55abdb..e91e1d8 100644
|
|
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
|
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
|
@@ -185,7 +185,21 @@ public class VersionCommand extends BukkitCommand {
|
|
private void obtainVersion() {
|
|
String version = Bukkit.getVersion();
|
|
if (version == null) version = "Custom";
|
|
- if (version.startsWith("git-Spigot-")) {
|
|
+ // PaperSpigot start
|
|
+ if (version.startsWith("git-PaperSpigot-")) {
|
|
+ String[] parts = version.substring("git-PaperSpigot-".length()).split("[-\\s]");
|
|
+ int paperSpigotVersions = getDistance("paperspigot", parts[0]);
|
|
+ if (paperSpigotVersions == -1) {
|
|
+ setVersionMessage("Error obtaining version information");
|
|
+ } else {
|
|
+ if (paperSpigotVersions == 0) {
|
|
+ setVersionMessage("You are running the latest version");
|
|
+ } else {
|
|
+ setVersionMessage("You are " + paperSpigotVersions + " version(s) behind");
|
|
+ }
|
|
+ }
|
|
+ } else if (version.startsWith("git-Spigot-")) {
|
|
+ // PaperSpigot end
|
|
String[] parts = version.substring("git-Spigot-".length()).split("-");
|
|
int cbVersions = getDistance("craftbukkit", parts[1].substring(0, parts[1].indexOf(' ')));
|
|
int spigotVersions = getDistance("spigot", parts[0]);
|
|
@@ -232,17 +246,20 @@ public class VersionCommand extends BukkitCommand {
|
|
}
|
|
}
|
|
|
|
- private static int getDistance(String repo, String hash) {
|
|
+ private static int getDistance(String repo, String currentVerInt) { // PaperSpigot
|
|
try {
|
|
BufferedReader reader = Resources.asCharSource(
|
|
- new URL("https://hub.spigotmc.org/stash/rest/api/1.0/projects/SPIGOT/repos/" + repo + "/commits?since=" + URLEncoder.encode(hash, "UTF-8") + "&withCounts=true"),
|
|
+ new URL("https://ci.destroystokyo.com/job/PaperSpigot/lastSuccessfulBuild/buildNumber"), // PaperSpigot
|
|
Charsets.UTF_8
|
|
).openBufferedStream();
|
|
try {
|
|
- JSONObject obj = (JSONObject) new JSONParser().parse(reader);
|
|
- return ((Number) obj.get("totalCount")).intValue();
|
|
- } catch (ParseException ex) {
|
|
- ex.printStackTrace();
|
|
+ // PaperSpigot start
|
|
+ int newVer = Integer.decode(reader.readLine());
|
|
+ int currentVer = Integer.decode(currentVerInt);
|
|
+ return newVer - currentVer;
|
|
+ } catch (NumberFormatException ex) {
|
|
+ //ex.printStackTrace();
|
|
+ // PaperSpigot end
|
|
return -1;
|
|
} finally {
|
|
reader.close();
|
|
--
|
|
2.7.1
|
|
|