2019-06-06 15:36:57 +00:00
|
|
|
From 5b4ba45f3457fc0c8b506bcf752a678b00b5a2ea Mon Sep 17 00:00:00 2001
|
2016-03-18 17:23:48 +00:00
|
|
|
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/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
2019-06-06 15:36:57 +00:00
|
|
|
index 0c65afccfd..6cc99ffe43 100644
|
2016-03-18 17:23:48 +00:00
|
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
2019-05-06 07:20:16 +00:00
|
|
|
@@ -213,4 +213,9 @@ public class PaperConfig {
|
|
|
|
" - Length: " + timeSummary(Timings.getHistoryLength() / 20) +
|
|
|
|
" - Server Name: " + timingsServerName);
|
2016-03-18 17:23:48 +00:00
|
|
|
}
|
|
|
|
+
|
|
|
|
+ public static boolean loadPermsBeforePlugins = true;
|
|
|
|
+ private static void loadPermsBeforePlugins() {
|
|
|
|
+ loadPermsBeforePlugins = getBoolean("settings.load-permissions-yml-before-plugins", true);
|
|
|
|
+ }
|
|
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
2019-06-06 15:36:57 +00:00
|
|
|
index 6820c5a2c7..b58c7c8e8f 100644
|
2016-03-18 17:23:48 +00:00
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
2019-04-26 01:24:00 +00:00
|
|
|
@@ -364,6 +364,7 @@ public final class CraftServer implements Server {
|
2016-03-18 17:23:48 +00:00
|
|
|
if (type == PluginLoadOrder.STARTUP) {
|
|
|
|
helpMap.clear();
|
|
|
|
helpMap.initializeGeneralTopics();
|
|
|
|
+ if (com.destroystokyo.paper.PaperConfig.loadPermsBeforePlugins) loadCustomPermissions(); // Paper
|
|
|
|
}
|
|
|
|
|
|
|
|
Plugin[] plugins = pluginManager.getPlugins();
|
2019-04-26 01:24:00 +00:00
|
|
|
@@ -383,7 +384,7 @@ public final class CraftServer implements Server {
|
2016-03-18 17:23:48 +00:00
|
|
|
commandMap.registerServerAliases();
|
|
|
|
DefaultPermissions.registerCorePermissions();
|
|
|
|
CraftDefaultPermissions.registerCorePermissions();
|
2019-02-22 03:41:20 +00:00
|
|
|
- loadCustomPermissions();
|
|
|
|
+ if (!com.destroystokyo.paper.PaperConfig.loadPermsBeforePlugins) loadCustomPermissions(); // Paper
|
2016-03-18 17:23:48 +00:00
|
|
|
helpMap.initializeCommands();
|
2019-02-22 03:41:20 +00:00
|
|
|
syncCommands();
|
|
|
|
}
|
2016-03-18 17:23:48 +00:00
|
|
|
--
|
2019-04-23 04:47:07 +00:00
|
|
|
2.21.0
|
2016-03-18 17:23:48 +00:00
|
|
|
|