From 63b188a23ef7f524c393cd27697de441329502f5 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 19 Jul 2018 15:07:02 -0500
Subject: [PATCH] Add an asterisk to legacy API plugins

Not here to name and shame, only so server admins can be aware of which
plugins have and haven't been updated.

diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
index c0ff133de..b173e2ece 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -83,5 +83,9 @@ public interface UnsafeValues {
     default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
         return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher();
     }
+
+    static boolean isLegacyPlugin(org.bukkit.plugin.Plugin plugin) {
+        return !"1.13".equals(plugin.getDescription().getAPIVersion()) && !"1.14".equals(plugin.getDescription().getAPIVersion());
+    }
     // Paper end
 }
diff --git a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
index d4e74d292..6cfd9f3c6 100644
--- a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
@@ -41,7 +41,14 @@ public class PluginsCommand extends BukkitCommand {
         TreeMap<String, ChatColor> plugins = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
 
         for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) {
-            plugins.put(plugin.getDescription().getName(), plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
+            // Paper start - Add an asterisk to legacy plugins (so admins are aware)
+            String pluginName = plugin.getDescription().getName();
+            if (org.bukkit.UnsafeValues.isLegacyPlugin(plugin)) {
+                pluginName += "*";
+            }
+
+            plugins.put(pluginName, plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
+            // Paper end
         }
 
         StringBuilder pluginList = new StringBuilder();
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index bc7bf6a35..31a70b294 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -316,7 +316,14 @@ public final class JavaPluginLoader implements PluginLoader {
         Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader");
 
         if (!plugin.isEnabled()) {
-            plugin.getLogger().info("Enabling " + plugin.getDescription().getFullName());
+            // Paper start - Add an asterisk to legacy plugins (so admins are aware)
+            String enableMsg = "Enabling " + plugin.getDescription().getFullName();
+            if (org.bukkit.UnsafeValues.isLegacyPlugin(plugin)) {
+                enableMsg += "*";
+            }
+
+            plugin.getLogger().info(enableMsg);
+            // Paper end
 
             JavaPlugin jPlugin = (JavaPlugin) plugin;
 
-- 
2.21.0

