70ce6ce831
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
65 lines
3.1 KiB
Diff
65 lines
3.1 KiB
Diff
From c3a4f448b987e671941688fde2af3d1154b9823c 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 c0ff133d..b173e2ec 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 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<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 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.21.0
|
|
|