From d259c6119a7d3f5dc6297fa6f71d64cd2c574e5d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 19 Jul 2018 22:07:02 +0200 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 c0ff133d..82106426 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -83,5 +83,11 @@ public interface UnsafeValues { default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher(); } + + boolean isSupportedApiVersion(String apiVersion); + + static boolean isLegacyPlugin(org.bukkit.plugin.Plugin plugin) { + return !Bukkit.getUnsafe().isSupportedApiVersion(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 d4e74d29..6cfd9f3c 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 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 bc7bf6a3..31a70b29 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.24.1.windows.2