2021-06-11 12:02:28 +00:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Aikar <aikar@aikar.co>
|
|
|
|
Date: Fri, 18 Mar 2016 13:17:38 -0400
|
|
|
|
Subject: [PATCH] Default loading permissions.yml before plugins
|
|
|
|
|
|
|
|
Under previous behavior, plugins were not able to check if a player had a permission
|
|
|
|
if it was defined in permissions.yml. there is no clean way for a plugin to fix that either.
|
|
|
|
|
|
|
|
This will change the order so that by default, permissions.yml loads BEFORE plugins instead of after.
|
|
|
|
|
|
|
|
This gives plugins expected permission checks.
|
|
|
|
|
|
|
|
It also helps improve the expected logic, as servers should set the initial defaults, and then let plugins
|
|
|
|
modify that. Under the previous logic, plugins were unable (cleanly) override permissions.yml.
|
|
|
|
|
|
|
|
A config option has been added for those who depend on the previous behavior, but I don't expect that.
|
|
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
2022-09-26 08:02:51 +00:00
|
|
|
index b8763c6f938319d4712222ecab3ebc132071597b..4d9a5297e53b1836e3ba438bae6b869f3822dd28 100644
|
2021-06-11 12:02:28 +00:00
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
2022-08-09 07:18:08 +00:00
|
|
|
@@ -462,6 +462,7 @@ public final class CraftServer implements Server {
|
2021-06-21 08:41:00 +00:00
|
|
|
if (type == PluginLoadOrder.STARTUP) {
|
|
|
|
this.helpMap.clear();
|
|
|
|
this.helpMap.initializeGeneralTopics();
|
2022-06-09 08:51:45 +00:00
|
|
|
+ if (io.papermc.paper.configuration.GlobalConfiguration.get().misc.loadPermissionsYmlBeforePlugins) loadCustomPermissions(); // Paper
|
2021-06-11 12:02:28 +00:00
|
|
|
}
|
|
|
|
|
2021-06-21 08:41:00 +00:00
|
|
|
Plugin[] plugins = this.pluginManager.getPlugins();
|
2022-08-09 07:18:08 +00:00
|
|
|
@@ -481,7 +482,7 @@ public final class CraftServer implements Server {
|
2021-06-12 00:57:04 +00:00
|
|
|
this.commandMap.registerServerAliases();
|
2021-06-11 12:02:28 +00:00
|
|
|
DefaultPermissions.registerCorePermissions();
|
|
|
|
CraftDefaultPermissions.registerCorePermissions();
|
2021-06-12 00:57:04 +00:00
|
|
|
- this.loadCustomPermissions();
|
2022-06-09 08:51:45 +00:00
|
|
|
+ if (!io.papermc.paper.configuration.GlobalConfiguration.get().misc.loadPermissionsYmlBeforePlugins) this.loadCustomPermissions(); // Paper
|
2021-06-12 00:57:04 +00:00
|
|
|
this.helpMap.initializeCommands();
|
|
|
|
this.syncCommands();
|
2021-06-11 12:02:28 +00:00
|
|
|
}
|