mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 17:07:43 +01:00
Clean up output for command
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] ChatColor conveniences
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
|
||||
index 4594701d77c5d0f744bece871b98d9f6f73eb5a7..0aa79a9fbd5861d217a877a36e985e18fba6256f 100644
|
||||
index 4594701d77c5d0f744bece871b98d9f6f73eb5a7..a991bfe33f695a6166be6937039098ddea892f7b 100644
|
||||
--- a/src/main/java/org/bukkit/ChatColor.java
|
||||
+++ b/src/main/java/org/bukkit/ChatColor.java
|
||||
@@ -2,6 +2,7 @@ package org.bukkit;
|
||||
@@ -16,7 +16,7 @@ index 4594701d77c5d0f744bece871b98d9f6f73eb5a7..0aa79a9fbd5861d217a877a36e985e18
|
||||
import java.util.regex.Pattern;
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
@@ -413,4 +414,72 @@ public enum ChatColor {
|
||||
@@ -413,4 +414,77 @@ public enum ChatColor {
|
||||
BY_CHAR.put(color.code, color);
|
||||
}
|
||||
}
|
||||
@@ -60,6 +60,11 @@ index 4594701d77c5d0f744bece871b98d9f6f73eb5a7..0aa79a9fbd5861d217a877a36e985e18
|
||||
+ .replace("&r", "<r>");
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ public static net.kyori.adventure.text.Component parseMM(@NotNull String string, @Nullable Object... args) {
|
||||
+ return net.kyori.adventure.text.minimessage.MiniMessage.get().parse(String.format(string, args));
|
||||
+ }
|
||||
+
|
||||
+ @Deprecated
|
||||
+ public static final Pattern HEX_PATTERN = Pattern.compile("(#[A-Fa-f0-9]{6})");
|
||||
+
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Thu, 15 Jul 2021 23:43:04 -0500
|
||||
Subject: [PATCH] Clean up version command output for console
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
index 57a21495843f3a144cd73473cdc8781d6129b7ca..7d9ffef457da0571bb2254c35b908d9c22a3dd46 100644
|
||||
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
@@ -168,14 +168,14 @@ public class VersionCommand extends BukkitCommand {
|
||||
lastCheck = System.currentTimeMillis();
|
||||
hasVersion = false;
|
||||
} else {
|
||||
- sender.sendMessage(versionMessage);
|
||||
+ sendVersionMessage(sender); // Purpur
|
||||
return;
|
||||
}
|
||||
}
|
||||
versionLock.lock();
|
||||
try {
|
||||
if (hasVersion) {
|
||||
- sender.sendMessage(versionMessage);
|
||||
+ sendVersionMessage(sender); // Purpur
|
||||
return;
|
||||
}
|
||||
versionWaiters.add(sender);
|
||||
@@ -256,7 +256,7 @@ public class VersionCommand extends BukkitCommand {
|
||||
hasVersion = true;
|
||||
versionTaskStarted = false;
|
||||
for (CommandSender sender : versionWaiters) {
|
||||
- sender.sendMessage(versionMessage);
|
||||
+ sendVersionMessage(sender); // Purpur
|
||||
}
|
||||
versionWaiters.clear();
|
||||
} finally {
|
||||
@@ -284,4 +284,27 @@ public class VersionCommand extends BukkitCommand {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
+
|
||||
+ // Purpur start
|
||||
+ private void sendVersionMessage(CommandSender sender) {
|
||||
+ if (!(sender instanceof org.bukkit.command.ConsoleCommandSender)) {
|
||||
+ sender.sendMessage(versionMessage);
|
||||
+ return;
|
||||
+ }
|
||||
+ List<Component> list = new ArrayList<>();
|
||||
+ if (versionMessage.children().size() == 1) {
|
||||
+ versionMessage.children().get(0).children().forEach(child -> {
|
||||
+ if (child.children().size() > 1) {
|
||||
+ list.addAll(child.children());
|
||||
+ } else {
|
||||
+ list.add(child);
|
||||
+ }
|
||||
+ });
|
||||
+ } else {
|
||||
+ list.addAll(versionMessage.children());
|
||||
+ }
|
||||
+ list.removeIf(component -> net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer.plainText().serialize(component).equals("\n"));
|
||||
+ list.forEach(sender::sendMessage);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
51
patches/api/0041-Clean-up-version-command-output.patch
Normal file
51
patches/api/0041-Clean-up-version-command-output.patch
Normal file
@@ -0,0 +1,51 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Thu, 15 Jul 2021 23:43:04 -0500
|
||||
Subject: [PATCH] Clean up version command output
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/VersionFetcher.java b/src/main/java/com/destroystokyo/paper/util/VersionFetcher.java
|
||||
index 4825c9ca2191d3bf1440b986827fc32e230a3280..0c3da2ec9478ed5a981e204b0c390913b1d06bfb 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/util/VersionFetcher.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/VersionFetcher.java
|
||||
@@ -29,6 +29,12 @@ public interface VersionFetcher {
|
||||
@NotNull
|
||||
Component getVersionMessage(@NotNull String serverVersion);
|
||||
|
||||
+ // Purpur start
|
||||
+ default int distance() {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
/**
|
||||
* Dummy version fetcher
|
||||
*/
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
index 57a21495843f3a144cd73473cdc8781d6129b7ca..b7fa160a305ee89004c11a3d8a01ac3b721f59b6 100644
|
||||
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
@@ -199,7 +199,7 @@ public class VersionCommand extends BukkitCommand {
|
||||
String version = Bukkit.getVersion();
|
||||
// Paper start
|
||||
if (version.startsWith("null")) { // running from ide?
|
||||
- setVersionMessage(Component.text("Unknown version, custom build?", net.kyori.adventure.text.format.NamedTextColor.YELLOW));
|
||||
+ setVersionMessage(Component.text("* Unknown version, custom build?", net.kyori.adventure.text.format.NamedTextColor.RED)); // Purpur
|
||||
return;
|
||||
}
|
||||
setVersionMessage(getVersionFetcher().getVersionMessage(version));
|
||||
@@ -240,9 +240,11 @@ public class VersionCommand extends BukkitCommand {
|
||||
// Paper start
|
||||
private void setVersionMessage(final @NotNull Component msg) {
|
||||
lastCheck = System.currentTimeMillis();
|
||||
- final Component message = net.kyori.adventure.text.TextComponent.ofChildren(
|
||||
- Component.text(Bukkit.getVersionMessage(), net.kyori.adventure.text.format.NamedTextColor.WHITE),
|
||||
- Component.newline(),
|
||||
+ // Purpur start
|
||||
+ int distance = getVersionFetcher().distance();
|
||||
+ final Component message = Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()),
|
||||
+ ChatColor.parseMM("<grey>Current: %s%s*", distance == 0 ? "<green>" : distance > 0 ? "<yellow>" : "<red>", Bukkit.getVersion()),
|
||||
+ // Purpur end
|
||||
msg
|
||||
);
|
||||
this.versionMessage = Component.text()
|
||||
Reference in New Issue
Block a user