Fix plugin provides load order (#6687)

This commit is contained in:
Nassim Jahnke 2021-10-01 12:53:24 +02:00 committed by GitHub
parent ebfd70b289
commit 826acafb66
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nassim Jahnke <jahnke.nassim@gmail.com>
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 0e25119564dfa9cb12f3c5dc5f653d7f2c147a9d..98fb7241d9902cd2ffc703e6c5eb2771307779f8 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -283,6 +283,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);
@@ -316,6 +317,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 {