aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0325-Fix-plugin-provides-load-order.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0325-Fix-plugin-provides-load-order.patch')
-rw-r--r--patches/api/0325-Fix-plugin-provides-load-order.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/patches/api/0325-Fix-plugin-provides-load-order.patch b/patches/api/0325-Fix-plugin-provides-load-order.patch
new file mode 100644
index 0000000000..74b275da11
--- /dev/null
+++ b/patches/api/0325-Fix-plugin-provides-load-order.patch
@@ -0,0 +1,27 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nassim Jahnke <[email protected]>
+Date: Fri, 1 Oct 2021 09:47:00 +0200
+Subject: [PATCH] Fix plugin provides load order
+
+Fixes https://hub.spigotmc.org/jira/browse/SPIGOT-6740
+
+diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+index 60988665eb358d5566e9de61aec841db3f79722c..d1c1df75c011d8b4e10342c864aeb206e5cac23f 100644
+--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
++++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+@@ -277,6 +277,7 @@ public final class SimplePluginManager implements PluginManager {
+ // Paper end
+ missingDependency = false;
+ pluginIterator.remove();
++ pluginsProvided.values().removeIf(s -> s.equals(plugin)); // Paper - remove provided plugins
+ softDependencies.remove(plugin);
+ dependencies.remove(plugin);
+
+@@ -310,6 +311,7 @@ public final class SimplePluginManager implements PluginManager {
+ // We're clear to load, no more soft or hard dependencies left
+ File file = plugins.get(plugin);
+ pluginIterator.remove();
++ pluginsProvided.values().removeIf(s -> s.equals(plugin)); // Paper - remove provided plugins
+ missingDependency = false;
+
+ try {