Update upstream

This commit is contained in:
William Blake Galbreath
2019-05-27 09:44:31 -05:00
parent b4a9e34f46
commit d03525d9f3
5 changed files with 152 additions and 50 deletions

2
Paper

Submodule Paper updated: e9c7232267...70ce6ce831

View File

@@ -1 +1 @@
1.14.1--7fa77f1f7a24ee5eaf47465fa258efa19929c759
1.14.1--8f47f6acfd6895c4b15ca63f63ac0f2da26dbee7

View File

@@ -1,12 +1,11 @@
From 85f4ec173933924204aaaa98c5011d248f22ec50 Mon Sep 17 00:00:00 2001
From 795f3007cf8f327486ac944f86de331532290c47 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 00:57:16 -0500
Subject: [PATCH] Rebrand
---
pom.xml | 13 ++++++-------
.../org/bukkit/command/defaults/VersionCommand.java | 8 ++++----
2 files changed, 10 insertions(+), 11 deletions(-)
pom.xml | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/pom.xml b/pom.xml
index dbbb5c72f..ea0ab736d 100644
@@ -45,39 +44,6 @@ index dbbb5c72f..ea0ab736d 100644
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
index ece8d1c8a..2909e9ecf 100644
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
@@ -211,8 +211,8 @@ public class VersionCommand extends BukkitCommand {
private void obtainVersion() {
String version = Bukkit.getVersion();
if (version == null) version = "Custom";
- if (version.startsWith("git-Paper-")) {
- String[] parts = version.substring("git-Paper-".length()).split("[-\\s]");
+ if (version.startsWith("git-Purpur-")) { // Purpur
+ String[] parts = version.substring("git-Purpur-".length()).split("[-\\s]"); // Purpur
int distance = getDistance(null, parts[0]);
switch (distance) {
case -1:
@@ -268,7 +268,7 @@ public class VersionCommand extends BukkitCommand {
return getFromJenkins(currentVer);
} catch (NumberFormatException ex) {
verInfo = verInfo.replace("\"", "");
- return getFromRepo("PaperMC/Paper", "ver/1.14", verInfo); // Just for now
+ return getFromRepo("pl3xgaming/Purpur", "master", verInfo); // Purpur
}
/*
BufferedReader reader = Resources.asCharSource(
@@ -290,7 +290,7 @@ public class VersionCommand extends BukkitCommand {
private static int getFromJenkins(int currentVer) {
try {
BufferedReader reader = Resources.asCharSource(
- new URL("https://ci.destroystokyo.com/job/Paper-1.14/lastSuccessfulBuild/buildNumber"), // Paper
+ new URL("https://ci.pl3x.net/job/Purpur/lastSuccessfulBuild/buildNumber"), // Purpur // Paper
Charsets.UTF_8
).openBufferedStream();
try {
--
2.20.1

View File

@@ -1,15 +1,18 @@
From 1e655261f55aa2c8547e09d05bc7f5a910757ab2 Mon Sep 17 00:00:00 2001
From 9a63e95cdc75772fed818396f250dc14767c171b Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 01:02:11 -0500
Subject: [PATCH] Rebrand
---
pom.xml | 18 +++++++++---------
.../paper/console/PaperConsole.java | 2 +-
.../net/minecraft/server/MinecraftServer.java | 2 +-
.../org/bukkit/craftbukkit/CraftServer.java | 2 +-
.../bukkit/craftbukkit/util/Versioning.java | 2 +-
5 files changed, 13 insertions(+), 13 deletions(-)
pom.xml | 18 +--
.../paper/console/PaperConsole.java | 2 +-
.../net/minecraft/server/MinecraftServer.java | 2 +-
.../net/pl3x/purpur/PurpurVersionFetcher.java | 114 ++++++++++++++++++
.../org/bukkit/craftbukkit/CraftServer.java | 2 +-
.../craftbukkit/util/CraftMagicNumbers.java | 2 +-
.../bukkit/craftbukkit/util/Versioning.java | 2 +-
7 files changed, 128 insertions(+), 14 deletions(-)
create mode 100644 src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
diff --git a/pom.xml b/pom.xml
index e01d95f17..4955fa3e8 100644
@@ -95,6 +98,126 @@ index 184f1b00f..5bd0a4cc7 100644
}
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
new file mode 100644
index 000000000..a05a8ff70
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
@@ -0,0 +1,114 @@
+package net.pl3x.purpur;
+
+import com.destroystokyo.paper.VersionHistoryManager;
+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.JsonObject;
+import com.google.gson.JsonSyntaxException;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+public class PurpurVersionFetcher implements VersionFetcher {
+ private static final String JENKINS_URL = "https://ci.pl3x.net/job/Purpur/lastSuccessfulBuild/buildNumber";
+ private static final String GITHUB_BRANCH_NAME = "master";
+
+ @Override
+ public long getCacheTime() {
+ return 720000;
+ }
+
+ @Nonnull
+ @Override
+ public String getVersionMessage(@Nonnull String serverVersion) {
+ String[] parts = serverVersion.substring("git-Purpur-".length()).split("[-\\s]");
+ String updateMessage = getUpdateStatusMessage("pl3xgaming/Purpur", GITHUB_BRANCH_NAME, parts[0]);
+
+ return getHistory() + "\n" + updateMessage;
+ }
+
+ private static String getUpdateStatusMessage(@Nonnull String repo, @Nonnull String branch, @Nonnull String versionInfo) {
+ int distance;
+ try {
+ int jenkinsBuild = Integer.parseInt(versionInfo);
+ distance = fetchDistanceFromJenkins(jenkinsBuild);
+ } catch (NumberFormatException ignored) {
+ versionInfo = versionInfo.replace("\"", "");
+ distance = fetchDistanceFromGitHub(repo, branch, versionInfo);
+ }
+
+ switch (distance) {
+ case -1:
+ return "Error obtaining version information";
+ case 0:
+ return "You are running the latest version";
+ case -2:
+ return "Unknown version";
+ default:
+ return "You are " + distance + " version(s) behind";
+ }
+ }
+
+ private static int fetchDistanceFromJenkins(int jenkinsBuild) {
+ try {
+ try (BufferedReader reader = Resources.asCharSource(new URL(JENKINS_URL), Charsets.UTF_8).openBufferedStream()) {
+ return Integer.decode(reader.readLine()) - jenkinsBuild;
+ } catch (NumberFormatException ex) {
+ ex.printStackTrace();
+ return -2;
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ return -1;
+ }
+ }
+
+ // Contributed by Techcable <Techcable@outlook.com> in GH-65
+ private static int fetchDistanceFromGitHub(@Nonnull String repo, @Nonnull String branch, @Nonnull String hash) {
+ try {
+ HttpURLConnection connection = (HttpURLConnection) new URL("https://api.github.com/repos/" + repo + "/compare/" + branch + "..." + hash).openConnection();
+ connection.connect();
+ if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) return -2; // Unknown commit
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charsets.UTF_8))) {
+ JsonObject obj = new Gson().fromJson(reader, JsonObject.class);
+ String status = obj.get("status").getAsString();
+ switch (status) {
+ case "identical":
+ return 0;
+ case "behind":
+ return obj.get("behind_by").getAsInt();
+ default:
+ return -1;
+ }
+ } catch (JsonSyntaxException | NumberFormatException e) {
+ e.printStackTrace();
+ return -1;
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ return -1;
+ }
+ }
+
+ @Nullable
+ private String getHistory() {
+ final VersionHistoryManager.VersionData data = VersionHistoryManager.INSTANCE.getVersionData();
+ if (data == null) {
+ return null;
+ }
+
+ final String oldVersion = data.getOldVersion();
+ if (oldVersion == null) {
+ return null;
+ }
+
+ return "Previous version: " + oldVersion;
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 62cfb6e42..5500c3a22 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -108,6 +231,19 @@ index 62cfb6e42..5500c3a22 100644
private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index bb29b329b..25d10d0c7 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -279,7 +279,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
- return new com.destroystokyo.paper.PaperVersionFetcher();
+ return new net.pl3x.purpur.PurpurVersionFetcher();
}
// Paper end
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 674096cab..e9aee2d8a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java

View File

@@ -1,4 +1,4 @@
From 132991733ea1452650a9aac46b3f7477659ff4e6 Mon Sep 17 00:00:00 2001
From 4092f0654e1564971542f82e7c13d7957f762976 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 11 May 2019 01:31:50 -0500
Subject: [PATCH] Villager shops
@@ -283,10 +283,10 @@ index 000000000..eb7213217
+ }
+}
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
index 1bf7ead71..46a6511f7 100644
index 856ff22b0..8ed86e25f 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -125,6 +125,7 @@ public abstract class NavigationAbstract {
@@ -123,6 +123,7 @@ public abstract class NavigationAbstract {
}
}
@@ -294,7 +294,7 @@ index 1bf7ead71..46a6511f7 100644
public boolean a(double d0, double d1, double d2, double d3) {
return this.a(this.a(d0, d1, d2), d3);
}
@@ -258,6 +259,7 @@ public abstract class NavigationAbstract {
@@ -255,6 +256,7 @@ public abstract class NavigationAbstract {
}