mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-10-30 07:19:35 +01:00
port rebrand patch
This commit is contained in:
parent
3f9ba7d7f3
commit
6674ba4323
@ -11,3 +11,6 @@ # Patches
|
|||||||
{{#patches}}
|
{{#patches}}
|
||||||
| {{parent}} | {{subject}} | {{from}} | {{#getCoAuthorString}}{{/getCoAuthorString}} |
|
| {{parent}} | {{subject}} | {{from}} | {{#getCoAuthorString}}{{/getCoAuthorString}} |
|
||||||
{{/patches}}
|
{{/patches}}
|
||||||
|
|
||||||
|
implementation(project(":Yatopia-API"))
|
||||||
|
implementation("com.destroystokyo.paper:paper-mojangapi:1.16.5-R0.1-SNAPSHOT") // Yatopia
|
243
patches/server/0001-Rebrand.patch
Normal file
243
patches/server/0001-Rebrand.patch
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Toffikk <slodkitofik@gmail.com>
|
||||||
|
Date: Wed, 16 Jun 2021 15:04:11 +0100
|
||||||
|
Subject: [PATCH] Rebrand
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
|
index f111042223f0d7974785c37245bb60b75388163e..494297e5bed54f7cf41711032391fce991d5efa8 100644
|
||||||
|
--- a/build.gradle.kts
|
||||||
|
+++ b/build.gradle.kts
|
||||||
|
@@ -19,8 +19,8 @@ repositories {
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
- implementation(project(":Paper-API"))
|
||||||
|
- implementation(project(":Paper-MojangAPI"))
|
||||||
|
+ implementation(project(":Yatopia-API")) // Yatopia
|
||||||
|
+ implementation("com.destroystokyo.paper:paper-mojangapi:1.16.5-R0.1-SNAPSHOT") // Yatopia
|
||||||
|
// Paper start
|
||||||
|
implementation("org.jline:jline-terminal-jansi:3.12.1")
|
||||||
|
implementation("net.minecrell:terminalconsoleappender:1.2.0")
|
||||||
|
@@ -65,7 +65,7 @@ tasks.jar {
|
||||||
|
attributes(mapOf(
|
||||||
|
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||||
|
"Implementation-Title" to "CraftBukkit",
|
||||||
|
- "Implementation-Version" to "git-Paper-\"$gitHash\"",
|
||||||
|
+ "Implementation-Version" to "git-Yatopia-\"$gitHash\"", // Yatopia
|
||||||
|
"Implementation-Vendor" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(Date()), // Paper
|
||||||
|
"Specification-Title" to "Bukkit",
|
||||||
|
"Specification-Version" to project.version,
|
||||||
|
@@ -119,7 +119,7 @@ tasks.test {
|
||||||
|
fun TaskContainer.registerRunTask(
|
||||||
|
name: String, block: JavaExec.() -> Unit
|
||||||
|
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||||
|
- group = "paper"
|
||||||
|
+ group = "paperweight" // Yatopia
|
||||||
|
standardInput = System.`in`
|
||||||
|
workingDir = rootProject.layout.projectDirectory.dir(
|
||||||
|
providers.gradleProperty("runWorkDir").forUseAtConfigurationTime().orElse("run")
|
||||||
|
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
index e0b1f0671d16ddddcb6725acd25a1d1d69e42701..d943a45200b89f541347d0bc7a3e8494022066db 100644
|
||||||
|
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
||||||
|
@Override
|
||||||
|
protected LineReader buildReader(LineReaderBuilder builder) {
|
||||||
|
builder
|
||||||
|
- .appName("Paper")
|
||||||
|
+ .appName("Yatopia") // Yatopia
|
||||||
|
.variable(LineReader.HISTORY_FILE, java.nio.file.Paths.get(".console_history"))
|
||||||
|
.completer(new ConsoleCommandCompleter(this.server))
|
||||||
|
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
index 1f29c92776aea8dbba52d4cb197addce5b3e4d5e..eab6410651fe41a2aa1db6871fc57ebca0c765c9 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
@@ -1634,7 +1634,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
|
public String getServerModName() {
|
||||||
|
- return "Paper"; //Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||||
|
+ return "Yatopia"; // Yatopia // Paper // Spigot // CraftBukkit - cb > vanilla!
|
||||||
|
}
|
||||||
|
|
||||||
|
public SystemReport fillSystemReport(SystemReport systemreport) {
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
|
index 8a98bd1018afd934696fedbed24e271ab6b75f51..5c85cdb4ef4ffeebdadf01a4ad4a23801bd3fdca 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
|
@@ -230,7 +230,7 @@ import javax.annotation.Nullable; // Paper
|
||||||
|
import javax.annotation.Nonnull; // Paper
|
||||||
|
|
||||||
|
public final class CraftServer implements Server {
|
||||||
|
- private final String serverName = "Paper"; // Paper
|
||||||
|
+ private final String serverName = "Yatopia"; // Paper // Yatopia
|
||||||
|
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 a2a62bfb747994c43b8b0b607af90d3be2836873..b6b6d560d2294b3f9eb80dc167b140949c700e56 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
|
@@ -395,7 +395,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||||
|
- return new com.destroystokyo.paper.PaperVersionFetcher();
|
||||||
|
+ return new org.yatopiamc.yatopia.server.util.VersionFetcher.YatopiaVersionFetcher(); // Yatopia
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
|
index 774556a62eb240da42e84db4502e2ed43495be17..359e64243b0b7adcc44138d192ea8fad7b10a542 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
|
@@ -11,7 +11,7 @@ public final class Versioning {
|
||||||
|
public static String getBukkitVersion() {
|
||||||
|
String result = "Unknown-Version";
|
||||||
|
|
||||||
|
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties");
|
||||||
|
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.yatopiamc.yatopia/yatopia-api/pom.properties"); // Yatopia
|
||||||
|
Properties properties = new Properties();
|
||||||
|
|
||||||
|
if (stream != null) {
|
||||||
|
diff --git a/src/main/java/org/yatopiamc/yatopia/server/util/VersionFetcher/YatopiaVersionFetcher.java b/src/main/java/org/yatopiamc/yatopia/server/util/VersionFetcher/YatopiaVersionFetcher.java
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/main/java/org/yatopiamc/yatopia/server/util/VersionFetcher/YatopiaVersionFetcher.java
|
||||||
|
@@ -0,0 +1,132 @@
|
||||||
|
+package org.yatopiamc.yatopia.server.util.VersionFetcher;
|
||||||
|
+
|
||||||
|
+import com.destroystokyo.paper.VersionHistoryManager;
|
||||||
|
+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 net.kyori.adventure.text.Component;
|
||||||
|
+import net.kyori.adventure.text.TextComponent;
|
||||||
|
+import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
+import net.kyori.adventure.text.format.TextDecoration;
|
||||||
|
+
|
||||||
|
+import java.io.BufferedReader;
|
||||||
|
+import java.io.IOException;
|
||||||
|
+import java.io.InputStream;
|
||||||
|
+import java.io.InputStreamReader;
|
||||||
|
+import java.net.HttpURLConnection;
|
||||||
|
+import java.net.URL;
|
||||||
|
+import java.net.URLEncoder;
|
||||||
|
+import java.util.Arrays;
|
||||||
|
+import java.util.Objects;
|
||||||
|
+import java.util.jar.Manifest;
|
||||||
|
+import javax.annotation.Nonnull;
|
||||||
|
+
|
||||||
|
+import com.destroystokyo.paper.util.VersionFetcher;
|
||||||
|
+import javax.annotation.Nullable;
|
||||||
|
+import net.kyori.adventure.text.Component;
|
||||||
|
+import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
+import net.kyori.adventure.text.TextComponent;
|
||||||
|
+import net.kyori.adventure.text.format.TextDecoration;
|
||||||
|
+
|
||||||
|
+public class YatopiaVersionFetcher implements VersionFetcher {
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public long getCacheTime() {
|
||||||
|
+ return 3600000;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Nonnull
|
||||||
|
+ @Override
|
||||||
|
+ public Component getVersionMessage(@Nonnull String serverVersion) {
|
||||||
|
+ if (serverVersion.equals("null")) return Component.text("Custom build");
|
||||||
|
+ String[] parts = serverVersion.substring("git-Yatopia-".length()).split("[-\\s]");
|
||||||
|
+ String branch = String.join("-", Arrays.copyOfRange(parts, 0, parts.length - 3));
|
||||||
|
+ String version = parts[parts.length - 3];
|
||||||
|
+ final Component updateMessage = getUpdateStatusMessage("YatopiaMC/Yatopia", branch, version);
|
||||||
|
+ final Component history = getHistory();
|
||||||
|
+
|
||||||
|
+ return history != null ? TextComponent.ofChildren(history, Component.newline(), updateMessage) : updateMessage;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private Component getUpdateStatusMessage(String repo, String branch, String versionInfo) {
|
||||||
|
+ int distance;
|
||||||
|
+ try {
|
||||||
|
+ int jenkinsBuild = Integer.parseInt(versionInfo);
|
||||||
|
+ distance = fetchDistanceFromJenkins(branch, jenkinsBuild);
|
||||||
|
+ } catch (NumberFormatException ignored) {
|
||||||
|
+ distance = fetchDistanceFromGitHub(repo, branch, versionInfo.replace("\"", ""));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ switch (distance) {
|
||||||
|
+ case -1:
|
||||||
|
+ return Component.text("Error obtaining version information", NamedTextColor.YELLOW);
|
||||||
|
+ case 0:
|
||||||
|
+ return Component.text("You are running the latest version", NamedTextColor.GREEN);
|
||||||
|
+ case -2:
|
||||||
|
+ return Component.text("Unknown version", NamedTextColor.YELLOW);
|
||||||
|
+ default:
|
||||||
|
+ return Component.text("You are " + distance + " version(s) behind", NamedTextColor.YELLOW);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // modified from PurpurVersionFetcher
|
||||||
|
+ private static int fetchDistanceFromJenkins(String branch, int jenkinsBuild) {
|
||||||
|
+ try {
|
||||||
|
+ try (BufferedReader reader = Resources.asCharSource(new URL("https://ci.codemc.io/job/YatopiaMC/job/Yatopia/job/" + URLEncoder.encode(branch, Charsets.UTF_8.name()) + "/lastStableBuild/buildNumber"), 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
|
||||||
|
+ // from PaperVersionFetcher
|
||||||
|
+ 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;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // from PaperVersionFetcher
|
||||||
|
+ @Nullable
|
||||||
|
+ private Component getHistory() {
|
||||||
|
+ final VersionHistoryManager.VersionData data = VersionHistoryManager.INSTANCE.getVersionData();
|
||||||
|
+ if (data == null) {
|
||||||
|
+ return null;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ final String oldVersion = data.getOldVersion();
|
||||||
|
+ if (oldVersion == null) {
|
||||||
|
+ return null;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return Component.text("Previous version: " + oldVersion, NamedTextColor.GRAY, TextDecoration.ITALIC);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user