Improve output of plugins command

Co-authored-by: Oharass <oharass@bk.ru>
Co-authored-by: granny <granny@purpurmc.org>
This commit is contained in:
Parker Hawke
2025-01-12 17:15:54 -08:00
committed by granny
parent c61af07ea8
commit c5617e1e66

View File

@@ -1,43 +1,33 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Parker Hawke <hawkeboyz2@hotmail.com>
Date: Sat, 27 Jun 2020 18:43:37 -0400
Subject: [PATCH] Improve output of plugins command
Co-authored-by: Oharass <oharass@bk.ru>
Co-authored-by: granny <granny@purpurmc.org>
diff --git a/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java b/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java
index f0fce4113fb07c64adbec029d177c236cbdcbae8..865dc183276720d54d31d2a54d1bb5c845e80598 100644
--- a/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java --- a/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java
+++ b/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java +++ b/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java
@@ -78,10 +78,10 @@ public class PaperPluginsCommand extends BukkitCommand { @@ -78,10 +_,10 @@
this.setAliases(Arrays.asList("pl")); this.setAliases(Arrays.asList("pl"));
} }
- private static <T> List<Component> formatProviders(TreeMap<String, PluginProvider<T>> plugins) { - private static <T> List<Component> formatProviders(TreeMap<String, PluginProvider<T>> plugins) {
+ private static <T> List<Component> formatProviders(TreeMap<String, PluginProvider<T>> plugins, @NotNull CommandSender sender) { // Purpur + private static <T> List<Component> formatProviders(TreeMap<String, PluginProvider<T>> plugins, @NotNull CommandSender sender) { // Purpur - Improve output of plugins command
List<Component> components = new ArrayList<>(plugins.size()); List<Component> components = new ArrayList<>(plugins.size());
for (PluginProvider<T> entry : plugins.values()) { for (PluginProvider<T> entry : plugins.values()) {
- components.add(formatProvider(entry)); - components.add(formatProvider(entry));
+ components.add(formatProvider(entry, sender)); // Purpur + components.add(formatProvider(entry, sender)); // Purpur - Improve output of plugins command
} }
boolean isFirst = true; boolean isFirst = true;
@@ -109,7 +109,7 @@ public class PaperPluginsCommand extends BukkitCommand { @@ -109,7 +_,7 @@
return formattedSublists; return formattedSublists;
} }
- private static Component formatProvider(PluginProvider<?> provider) { - private static Component formatProvider(PluginProvider<?> provider) {
+ private static Component formatProvider(PluginProvider<?> provider, @NotNull CommandSender sender) { // Purpur + private static Component formatProvider(PluginProvider<?> provider, @NotNull CommandSender sender) { // Purpur - Improve output of plugins command
TextComponent.Builder builder = Component.text(); TextComponent.Builder builder = Component.text();
if (provider instanceof SpigotPluginProvider spigotPluginProvider && CraftMagicNumbers.isLegacy(spigotPluginProvider.getMeta())) { if (provider instanceof SpigotPluginProvider spigotPluginProvider && CraftMagicNumbers.isLegacy(spigotPluginProvider.getMeta())) {
builder.append(LEGACY_PLUGIN_STAR); builder.append(LEGACY_PLUGIN_STAR);
@@ -117,13 +117,65 @@ public class PaperPluginsCommand extends BukkitCommand { @@ -117,13 +_,65 @@
String name = provider.getMeta().getName(); String name = provider.getMeta().getName();
Component pluginName = Component.text(name, fromStatus(provider)) Component pluginName = Component.text(name, fromStatus(provider))
- .clickEvent(ClickEvent.runCommand("/version " + name)); - .clickEvent(ClickEvent.runCommand("/version " + name));
+ // Purpur start + // Purpur start - Improve output of plugins command
+ .clickEvent(ClickEvent.suggestCommand("/version " + name)); + .clickEvent(ClickEvent.suggestCommand("/version " + name));
+ +
+ if (sender instanceof org.bukkit.entity.Player && sender.hasPermission("bukkit.command.version")) { + if (sender instanceof org.bukkit.entity.Player && sender.hasPermission("bukkit.command.version")) {
@@ -71,14 +61,14 @@ index f0fce4113fb07c64adbec029d177c236cbdcbae8..865dc183276720d54d31d2a54d1bb5c8
+ +
+ pluginName.hoverEvent(hover.build()); + pluginName.hoverEvent(hover.build());
+ } + }
+ // Purpur end + // Purpur end - Improve output of plugins command
builder.append(pluginName); builder.append(pluginName);
return builder.build(); return builder.build();
} }
+ // Purpur start + // Purpur start - Improve output of plugins command
+ @NotNull + @NotNull
+ private static TextComponent getAuthors(@NotNull final PluginMeta pluginMeta) { + private static TextComponent getAuthors(@NotNull final PluginMeta pluginMeta) {
+ TextComponent.Builder builder = Component.text(); + TextComponent.Builder builder = Component.text();
@@ -94,43 +84,45 @@ index f0fce4113fb07c64adbec029d177c236cbdcbae8..865dc183276720d54d31d2a54d1bb5c8
+ +
+ return builder.build(); + return builder.build();
+ } + }
+ // Purpur end + // Purpur end - Improve output of plugins command
+ +
private static Component asPlainComponents(String strings) { private static Component asPlainComponents(String strings) {
net.kyori.adventure.text.TextComponent.Builder builder = Component.text(); net.kyori.adventure.text.TextComponent.Builder builder = Component.text();
for (String string : strings.split("\n")) { for (String string : strings.split("\n")) {
@@ -182,24 +234,24 @@ public class PaperPluginsCommand extends BukkitCommand { @@ -182,24 +_,24 @@
} }
} }
- Component infoMessage = Component.text("Server Plugins (%s):".formatted(paperPlugins.size() + spigotPlugins.size()), NamedTextColor.WHITE); - Component infoMessage = Component.text("Server Plugins (%s):".formatted(paperPlugins.size() + spigotPlugins.size()), NamedTextColor.WHITE);
+ //Component infoMessage = Component.text("Server Plugins (%s):".formatted(paperPlugins.size() + spigotPlugins.size()), NamedTextColor.WHITE); + //Component infoMessage = Component.text("Server Plugins (%s):".formatted(paperPlugins.size() + spigotPlugins.size()), NamedTextColor.WHITE); // Purpur - Improve output of plugins command
//.append(INFO_ICON_START.hoverEvent(SERVER_PLUGIN_INFO)); TODO: Add docs //.append(INFO_ICON_START.hoverEvent(SERVER_PLUGIN_INFO)); TODO: Add docs
- sender.sendMessage(infoMessage); - sender.sendMessage(infoMessage);
+ //sender.sendMessage(infoMessage); // Purpur -
- if (!paperPlugins.isEmpty()) { - if (!paperPlugins.isEmpty()) {
- sender.sendMessage(PAPER_HEADER); - sender.sendMessage(PAPER_HEADER);
- } - }
+ //if (!paperPlugins.isEmpty()) { // Purpur -
+ sender.sendMessage(PAPER_HEADER.append(Component.text(" (%s):".formatted(paperPlugins.size())))); // Purpur
+ //} // Purpur
- for (Component component : formatProviders(paperPlugins)) { - for (Component component : formatProviders(paperPlugins)) {
+ for (Component component : formatProviders(paperPlugins, sender)) { // Purpur + //sender.sendMessage(infoMessage); // Purpur - Improve output of plugins command
+
+ //if (!paperPlugins.isEmpty()) { // Purpur - Improve output of plugins command
+ sender.sendMessage(PAPER_HEADER.append(Component.text(" (%s):".formatted(paperPlugins.size())))); // Purpur - Improve output of plugins command
+ //} // Purpur - Improve output of plugins command
+
+ for (Component component : formatProviders(paperPlugins, sender)) { // Purpur - Improve output of plugins command
sender.sendMessage(component); sender.sendMessage(component);
} }
- if (!spigotPlugins.isEmpty()) { - if (!spigotPlugins.isEmpty()) {
- sender.sendMessage(BUKKIT_HEADER); - sender.sendMessage(BUKKIT_HEADER);
- } - }
+ //if (!spigotPlugins.isEmpty()) { // Purpur + //if (!spigotPlugins.isEmpty()) { // Purpur - Improve output of plugins command
+ sender.sendMessage(BUKKIT_HEADER.append(Component.text(" (%s):".formatted(spigotPlugins.size())))); // Purpur + sender.sendMessage(BUKKIT_HEADER.append(Component.text(" (%s):".formatted(spigotPlugins.size())))); // Purpur - Improve output of plugins command
+ //} // Purpur + //} // Purpur - Improve output of plugins command
- for (Component component : formatProviders(spigotPlugins)) { - for (Component component : formatProviders(spigotPlugins)) {
+ for (Component component : formatProviders(spigotPlugins, sender)) { // Purpur + for (Component component : formatProviders(spigotPlugins, sender)) { // Purpur - Improve output of plugins command
sender.sendMessage(component); sender.sendMessage(component);
} }